Concepts
Core Resources
you can access socratease data via rest apis rest apis docid\ uxkjlmdelfbdbaudear d shows you all the rest apis for all the resources that are available to you on this page, we discuss the most important of these resources content screen a content screen is the smallest, independent unit of content a user can see it can be an mcq, a coding challenge, a video response question, etc attributes { "int id" 10, "type" "mcq 1", //can be 'mcq 1', 'mca', 'video response', etc "contents" { "question" "what is 5+7?", "options" \["12", "13", "14", "15"], "correct ans ind" 0 }, "created at" "2023 02 28t07 47 47z", } unit a unit is a set of content screens that the user interacts with in one session a unit can be a quiz, a lesson, a set of video responses, a question bank etc attributes { "int id" 10, "unit id" "abc def ghi", "title" "python quiz", "type" "quiz", //can be 'quiz', 'lesson', 'question bank', etc "meta data" { "thumbnail" "https //cdn socratease co/abc png" }, "access level" "logged in", //must be logged in to attempt it "settings" { "randomize options" true, "disable copy paste" false }, } user progress when a user starts a unit, we create a record of their progress this record contains when the user started the unit, whether they have finished it, what the attempt number is, how many points they have scored on it, etc attributes { "user id" 123, "unit int id" 345, "attempt num" 3, "started at" "2013 02 28t07 47 47z", "finished" true, "finished at" "2015 02 28t07 47 47z", "points aggregate" 12 3, "grade finalized" false, } user response every interaction of the user with a content screen is captured here for example, if a user answers an mcq, or watches an interactive video, the details are captured in the user response attributes { "user id" 123, "unit int id" 345, "got correct answer" true, "points assigned" 3, "points scored" 2, "up id" 10, //the userprogress id } assessment an assessment is a set of units that users attempt one after another say you want a user to finish one quiz and then a coding challenge you add both these to an assessment and the user attempts them attributes { "int id" 123, "assessment id" "abc def xyz", "title" "frontend developer", "max attempts" 1, "access level" "public", } assessment progress track how much of an assessment a user has finished attributes { "user id" 123, "assessment int id" 345, "latest unit index" 2, //which test number are they on "started at" "2013 02 28t07 47 47z", "finished" false, "finished at" null, "attempt num" 1, "grade finalized" false, }