Folder: models/practice-pyq/
this folder is one drawer in the backend filing cabinet.
practice-pyq-import-meta.schema.ts
Path: src/models/practice-pyq/practice-pyq-import-meta.schema.ts
Header from code: practice-pyq-import-meta.schema.ts — embedded PYQ paste fields
NOT a collection — merged into PracticePyqQuestion root for import fidelity.
practice-pyq-question.model.ts
Path: src/models/practice-pyq/practice-pyq-question.model.ts
Header from code: practice-pyq-question.model.ts — published PYQ MCQ bank
MONGODB: practicepyqquestions | subtopicId → PracticePyqSubtopic
practice-pyq-subject.model.ts
Path: src/models/practice-pyq/practice-pyq-subject.model.ts
Header from code: practice-pyq-subject.model.ts — PYQ taxonomy root (Subject)
MONGODB: practicepyqsubjects | Hierarchy: Subject → Topic → Subtopic → Question
practice-pyq-subtopic.model.ts
Path: src/models/practice-pyq/practice-pyq-subtopic.model.ts
Header from code: practice-pyq-subtopic.model.ts — PYQ taxonomy level 3 (Subtopic)
MONGODB: practicepyqsubtopics | topicId → PracticePyqTopic; questions hang here
practice-pyq-topic.model.ts
Path: src/models/practice-pyq/practice-pyq-topic.model.ts
Header from code: practice-pyq-topic.model.ts — PYQ taxonomy level 2 (Topic)
MONGODB: practicepyqtopics | subjectId → PracticePyqSubject (unique slug per subject)
practice-pyq-user-question-card.model.ts
Path: src/models/practice-pyq/practice-pyq-user-question-card.model.ts
Header from code: practice-pyq-user-question-card.model.ts — per-user SRS state for one PYQ
MONGODB: practicepyquserquestioncards | Unique (userId, questionId)