OpenTree-Education / rhizone-lms

A learning management system focused on self-reflection.
https://rhi.zone
BSD 3-Clause Clear License
14 stars 7 forks source link

#504 Database structure should be changed to support the assessments feature #508

Closed Paryssatis closed 1 year ago

Paryssatis commented 1 year ago

Proposed changes

These changes resolve #504 by setting up the structure of the database tables needed for the assessments feature (as defined in the ERD) in a new migration file. The tables to be added:

question_types - Defines the types of answers we can support in the app, like "multiple choice" and "free response" assessment_submission_states - Defines the states of a submission, like "draft" and "submitted" and "graded" program_participant_roles - Defines the permissions role of a participant enrolled in a course, like "participant" or "facilitator" curriculum_assessments - List of all assessments (assignments, quizzes, tests) defined in the system for all curricula program_assessments - List of all assessment instances for each program/term of each curriculum program_participants - Associations between principals and programs to create participants assessment_questions - List of all questions used in every assessment assessment_answers - List of all multiple-choice (or other) answer available for all questions assessment_submissions - List of all submissions for every assessment instance and by each program participant assessment_responses - List of all answers given by participants for each submission as well as feedback about their answer given by program facilitators

Checklist

behrooz-a commented 1 year ago

Excellent work. I have a few comments and questions.

seidior commented 1 year ago

Hi @behrooz-a! Very thorough work. Let me address your comments:

  • There are two foreign keys in program_participants in ERD diagram but I found more than two in the code.

This is okay. This is due to a missing table in the ERD.

  • For curriculum_assessments we have 4 foreign keys in ERD but 3 in the code.

I see only three foreign keys for this table in the ERD?

  • In assessment_submissions table in ERD there are 2, but in the code, there are 3 of them.

This is okay. This is due to a missing table in the ERD.