issues
search
adaptive-learning
/
flocs-web
Intelligent web application for learning computer science
GNU General Public License v3.0
0
stars
1
forks
source link
Backend API proposal
#32
Closed
effa
closed
7 years ago
effa
commented
7 years ago
Rules:
always use full urls (e.g. 'task/ladder' or 'task-session/245' instead of just entity IDs)
new session is only created if the last interaction is more than 1 (?) hour old
snake_case identifiers, kebab-case values and urls
only post actions (this is to make sure that all actions are processed by the core, but there might be some meaningful exceptions to this rule)
API:
POST /api/action
{type="start-session"} -> {..., student}
{type="start-task", task} -> {..., task_session}
{type="see-instruction", instruction}
{type="solve-task", task_session}
(more actions in future, e.g. execute-program, change-program)
(this is the recommended way for REST to deal with model inheritance)
GET /api/categories (with nested toolboxes)
GET /api/tasks/:id
GET /api/students/:id (with seen instructions, credits, level, recommendation + get_practice_overview detail route)
GET /api/students/:id/practice-overview -> {tasks: [{url, category, solved, best_time}]}
effa
commented
7 years ago
Implemented and tested
Rules:
API: