Coder Social home page Coder Social logo

gamification-platform's Issues

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 parameter role.
  • Add tests for Course.get_query function.

Note: The naming convention of constant values is all capital letters like INSTRUCTOR instead of Instructor.

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.

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.

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

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.

Error stack:
Screenshot 2022-09-21 at 16 39 56

Environment:

Request Method: POST
Screenshot 2022-09-21 at 16 37 10

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 via psql postgres not sudo -u postgres psql
  • Python virtual environment required psycopg2-binary (2.9.5) and spacy (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.

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.