Skip to main content
The Core module holds all tenant-scoped business logic: academic structure, students, assessment, reports, comments, session setup, promotions, notices, staff, RBAC, and audit logs. It is registered under /api/v1/school/ and runs only in tenant (school) context.

Key concepts

Sessions and terms

  • Academic Session — One academic year (e.g. 2024). Start/end dates. Created via sessions resource.
  • Academic Term — Subdivision of a session (e.g. Term 1, 2, 3). Only one term is active at a time; used for reporting and filters.
  • Session setup — Configures how a session is used (e.g. promotion rules). Nested under session-setup. Student promotions and promotion executions are nested under session-setup/{id}/student-promotions and promotion-executions.

Forms and classes

  • Forms — Grade levels (e.g. Form 1, Form 2, Lower Sixth). Can have a level block (O Level, A Level). Resource: form.
  • School class — Logical class entity (e.g. Form 1A). Resource: classes.
  • Academic class session — A physical class within an academic session; teachers are assigned here. Nested under sessions/{session_pk}/academic-classes. Subject-teacher assignments: sessions/{session_pk}/academic-classes/{academic_class_pk}/subject-teachers.

Students

  • Admissions — Student records (demographics, parent/guardian, student ID). Resource: admissions.
  • Student session registration — Placing a student in a class for a session. Nested under sessions/{session_pk}/student-sessions or sessions/{session_pk}/academic-classes/{academic_class_pk}/registration.

Curriculum and assessment

  • Subjectssubjects. Curriculum — form–subject mapping: curriculum. Class patterns and Pass marksclass-patterns, pass-marks.
  • Exam session — Nested under sessions/{session_pk}/exam-sessions. Exam — under exam-sessions/{exam_session_pk}/exams. Marks — under exam sessions or exams. Report cards and Report card status — under exam sessions. Comment status — report/comment workflow.

Comments

Templates and per-student comments: Teacher comment template, Teacher grade comment, Head teacher comment, Class teacher comment. Resources: teacher-comment-templates, teacher-grade-comments, head-teacher-comments, class-teacher-comments, comment-status.

Settings

  • General settings, Academic settings, Report settingsgeneral-settings, academic-settings, report-settings.
  • Session setupsession-setup. Student promotion historystudent-promotion-history.

Staff and RBAC

  • Teachers, Non-teaching staff, Departmentsteachers, non-teachingstaff, departments.
  • School roles, Permissionsroles, permissions. Audit logsaudit-logs.

Notices

  • Noticesnotices. Used for broadcasts and chatbot notice delivery.

API base and structure

All Core endpoints live under /api/v1/school/ on the tenant domain. They use DRF ViewSets and nested routers (sessions → academic-classes, exam-sessions → exams → marks, session-setup → student-promotions, promotion-executions). See the API Reference for exact paths and request/response schemas.

Nested URL summary

ParentNested resources
sessionsstudent-sessions, academic-classes, exam-sessions
sessions/{id}/academic-classesregistration, subject-teachers
sessions/{id}/exam-sessionsexams, marks, report-cards, comment-status, report-status
exam-sessions/{id}/examsmarks
session-setupstudent-promotions, promotion-executions

Further reading

  • Session setup and promotions — Nested URLs, filters, validation, and execution: see core/docs/PROMOTIONS_API.md in the repository.