gamification-platform's Issues
Turn Feedback Point Into Score
Need to think about a logic that can turn feedback point into score
Instructor profile - unable to remove a new required section from template
Instructor profile - when adding new assignment multiple fields don't persist
Description, Date Released, Date Due are not saved neither during creation or when I try to modify them in the edit view.
To re-play the scenario, please use the following data:
User: One Admin
Course: Foundations of Software Engineering
Assignment name: FSE deliverable 1
User Interface
Need to implement an interface that instructor should be able to ADD, EDIT, DELETE rule and constraint.
Course Page
Issues on course list page:
- Students and TAs cannot view courses they didn't register for.
- Instructors, TAs and students should be able to see different number of buttons for each course. For example, instructors have 'delete' button that TAs and students don't have, TAs have 'edit' button that students dont' have.
Issues on course edit page:
- Return 404 when input wrong URL
Issues on course detail page:
- Web page is too narrow in view page.
- may add a line between header and syllabus in view page.(like Canvas)
- MAY make it possible to add hyperlink in syllabus in the future.(like Canvas)
- add a Back button on course view page
Issues on course member page:
- Adding an instructor or a TA will also create an instance in Entity table. This should only happen when adding new students.
- Delete student membership in a team when changing his role from Student to TA.
Models:
- Refactor
Course.teams
property. - Add tests for
Course.teams
property. - In
Course.get_query
helper function, add checks for parameterrole
. - Add tests for
Course.get_query
function.
Note: The naming convention of constant values is all capital letters like
INSTRUCTOR
instead ofInstructor
.
Course List Page
Issues on course list page:
- Students and TAs cannot view courses they have registered for.
- Instructors, TAs and students should be able to see different number of buttons for each course. For example, instructors have 'delete' button that TAs and students don't have, TAs have 'edit' button that students dont' have.
Course Member Page
Issues on course memeber list page:
- Adding an instructor or a TA will also create an instance in Entity table. This should only happen when adding new students.
- Delete student membership in a team when changing his role from Student to TA.
Instructor profile views have underscore in labels instead of a space
Progress Not showing full pictures when there are multiple constraints
If a badge is unlocked through 2 constraints. When the user is only progress only 1 of them, the progress will only show the unlocking condition of the progressing constraint, leaving the other constraint unknown to the user. In the future, we want the user to see all of the constraints once the user is making progressing on any of the unlocking constraints.
Instructor profile - course ID displayed instead of its name on "assignment edit" screen
Next semester TODO list
- Add relationship to the database to connect URI to constraints or rules
- Remove the duplication of the ActionConstraintDetail methods, add a new field to represent the point received by the action
- Filter only the rules that are still open instead of returning all of the rules, modify the *or404 to throw exception
- Modify the rule_constraint in the database to be composite keys
- UI to be more descriptive to unlock badges
- More source code reviews to learn and improve programming
Instructor view has multiple fields filled with "xxx" values
Badge Assets to Backend
Current Badge assets are hard-coded in the front-end, which is not ideal for extendability. Need to move the badge assets such as icon images to the backend.
Test code issues
Tasks needs to be done in test code
- Create some commonly used base TestCase classes, for example, CreateAndLoginInUser, CourseList, etc.
In these base test classes, some fixture data are created, so that we don't have to write code to populate the database with some data repetitively.
Value error when trying to create a new survey template
In instructor view, when trying to edit a survey selecting -> new template and saving (see screenshot attached) causes a value error. The release/due date fields were not modified.
Environment:
Request URL: https://127.0.0.1:8000/course/1/assignment/1/template/edit_survey_template/
Django Version: 3.2
Python Version: 3.10.5
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.sites',
'django.contrib.staticfiles',
'widget_tweaks',
'rest_framework',
'storages',
'app.gamification',
'django_cleanup.apps.CleanupConfig']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.10/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/app/.heroku/python/lib/python3.10/site-packages/django/core/handlers/base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/app/app/gamification/decorators.py", line 32, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/app/app/gamification/views/pages/survey_views.py", line 101, in edit_survey_template
feedback_survey_date_released = parse_datetime(
File "/app/app/gamification/utils.py", line 12, in parse_datetime
raise ValueError('Invalid datetime string')
Exception Type: ValueError at /course/1/assignment/1/template/edit_survey_template/
Exception Value: Invalid datetime string
Profile Page
Issues in profile page:
- Remove inactive buttons and unused fields.
- Use full_name in greetings in top navbar.
- When uploading an image with incorrect file extensions, the profile image url will be updated.
Development Environment Setup Issues
Development environment setup has some issues:
- Add postgres installation prior to installing
requirements.txt
(Steps 1 and 2 should be swapped) - Connection to
postgres
database achieved viapsql postgres
notsudo -u postgres psql
- Python virtual environment required
psycopg2-binary (2.9.5)
andspacy (3.5.0)
- node_modules should be included in
.gitignore
Assignment Page
Issues on assignment list page:
- Users (including both instructors and students) should not be able to view assignments of a course for which they are not registered in.
- Column names in the table should be more user-friendly.
- Some columns that display long text should be removed from the table.
- Students, TAs and Instructors should be able to view different columns that are specific to their permission.
- Add a 'back' button to navigate back to the course.
Issues on assignment detail page:
- Cannot access detail page in merge_test branch
Issues on assignment edit page:
- Course name is an object, not a readable text.
Course Detail Page
Instructor profile - possible to add the same answer more than once in multiple choice questions
When creating a template or survey and adding a new multiple-choice question, it should not possible to add the same answer more than once. A comparison of provided possible answers is necessary and duplication prevented.
TODO: assignment close date
Instructor profile - multiple buttons do not perform any action in edit survey vue
When I try to modify an existing survey, some of the buttons do not perform an expected action:
- "+" at the section level doesn't add a new question to the section
- edit button at the question level doesn't open a modification window
- "bin" button at the question level doesn't remove a question
- "bin" button at the section level doesn't remove a section
The only operation that seems to work is modifying a title of a section.
Instructor profile - artifact preview functionality doesn't work in New template screen, student view
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.