Folder: models/user-study-stats/
this folder is one drawer in the backend filing cabinet.
practice-attempt-event.model.ts
Path: src/models/user-study-stats/practice-attempt-event.model.ts
Header from code: practice-attempt-event.model.ts — append-only practice grade log
MONGODB: practiceattemptevents | One row per graded attempt (IST dayKey)
user-practice-daily-rollup.model.ts
Path: src/models/user-study-stats/user-practice-daily-rollup.model.ts
Header from code: user-practice-daily-rollup.model.ts — per-user per-day attempt totals
MONGODB: userpracticedailyrollups | Unique (userId, catalog, dayKey)
user-practice-topic-rollup.model.ts
Path: src/models/user-study-stats/user-practice-topic-rollup.model.ts
Header from code: user-practice-topic-rollup.model.ts — per-user per-topic attempt totals
MONGODB: userpracticetopicrollups | Unique (userId, catalog, topicId)
user-recent-practice-subtopic.model.ts
Path: src/models/user-study-stats/user-recent-practice-subtopic.model.ts
Header from code: user-recent-practice-subtopic.model.ts — “continue where you left off”
MONGODB: userrecentpracticesubtopics | Updated by record-recent-practice-subtopic.ts