Coursera-style online course platform database schema

How a MOOC platform models its data: versioned course content, dated session runs, an outline tree of modules and lectures, quizzes drawn from question banks, peer-graded assignments with rubric criteria, entitlements and certificates.

Coursera MOOC ER diagram

Coursera-style online course platform database schema n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 users idBIGINT emailVARCHAR full_nameVARCHAR name_verified_atTIMESTAMPTZ country_codeCHAR localeVARCHAR can_teachBOOLEAN created_atTIMESTAMPTZ courses idBIGINT slugVARCHAR titleVARCHAR partner_nameVARCHAR lead_instructor_idBIGINT subjectVARCHAR pacingVARCHAR published_atTIMESTAMPTZ course_versions idBIGINT course_idBIGINT version_numberINTEGER stateVARCHAR changelogTEXT estimated_hoursNUMERIC published_atTIMESTAMPTZ course_sessions idBIGINT course_version_idBIGINT session_codeVARCHAR starts_onDATE ends_onDATE hard_deadline_atTIMESTAMPTZ enrollment_closes…DATE is_activeBOOLEAN course_items idBIGINT course_version_idBIGINT parent_item_idBIGINT item_kindVARCHAR titleVARCHAR ordinalINTEGER content_urlVARCHAR duration_secondsINTEGER is_gradedBOOLEAN weight_percentNUMERIC pass_threshold_pe…NUMERIC max_attemptsSMALLINT questions_drawnSMALLINT due_offset_daysSMALLINT quiz_questions idBIGINT item_idBIGINT pool_tagVARCHAR question_kindVARCHAR promptTEXT choicesJSONB answer_keyJSONB pointsNUMERIC explanationTEXT is_retiredBOOLEAN rubric_criteria idBIGINT item_idBIGINT ordinalSMALLINT titleVARCHAR guidanceTEXT scale_pointsJSONB max_pointsNUMERIC is_requiredBOOLEAN entitlements idBIGINT user_idBIGINT course_idBIGINT kindVARCHAR stateVARCHAR starts_atTIMESTAMPTZ ends_atTIMESTAMPTZ amount_minorINTEGER currency_codeCHAR external_payment_…VARCHAR enrollments idBIGINT user_idBIGINT session_idBIGINT entitlement_idBIGINT stateVARCHAR enrolled_atTIMESTAMPTZ completed_atTIMESTAMPTZ grade_percentNUMERIC last_active_onDATE item_progress enrollment_idBIGINT item_idBIGINT stateVARCHAR watched_secondsINTEGER first_started_atTIMESTAMPTZ completed_atTIMESTAMPTZ assessment_attempts idBIGINT enrollment_idBIGINT item_idBIGINT attempt_numberSMALLINT stateVARCHAR started_atTIMESTAMPTZ submitted_atTIMESTAMPTZ served_question_i…JSONB responsesJSONB artifact_urlVARCHAR auto_scoreNUMERIC peer_scoreNUMERIC final_scoreNUMERIC peer_reviews idBIGINT attempt_idBIGINT reviewer_enrollme…BIGINT assigned_atTIMESTAMPTZ due_atTIMESTAMPTZ submitted_atTIMESTAMPTZ reviewer_roleVARCHAR criterion_scoresJSONB total_scoreNUMERIC written_feedbackTEXT flagged_reasonVARCHAR certificates idBIGINT enrollment_idBIGINT serialVARCHAR issued_atTIMESTAMPTZ learner_nameVARCHAR course_titleVARCHAR final_grade_perce…NUMERIC is_verifiedBOOLEAN revoked_atTIMESTAMPTZ

Related database schemas