Skip to main content
Schoolyi
School librarian arranging books and planning cards in a bright library

Browse docs

Teaching & schedule

Curriculum setup and usage

Build one syllabus per class-subject-year, pace lesson plans against the academic calendar, publish study materials, and expose the same content to students and parents.

Teaching & schedule guide for day and boarding schools.

Last updated August 29, 2026

Curriculum is the first academic module to configure in a new year, ahead of the timetable and long before the first exam paper is written. A syllabus row is unique per class, subject and academic year, so the year has to exist before anything else can be attached to it. Everything downstream reads that one row: weekly lesson plans, the topic list a paper blueprint snapshots, teaching progress, and what a learner sees on their portal.

The step that most often goes wrong is pacing. Lesson plan generation does not spread topics evenly across calendar weeks - it reads the academic calendar day by day, discards individual holidays, seasonal holidays and weekend days, groups what is left into Monday-start instructional weeks, and hands each week a share of the topic list proportional to its working days. A term with a two-week seasonal break therefore produces fewer plans, automatically. Configure the calendar at /academic-calendar and generate calendar days before you generate plans.

Prerequisites

  • An academic year with calendar days generated at /academic-calendar - generation returns a 400 with "No instructional days found" when the calendar is empty.
  • Subjects defined at /subjects and classes carrying active student memberships.
  • Active teacher assignments per class-subject at /teachers/assignments - these decide who may edit a syllabus and who receives generated lesson plans.
  • Optional: prescribed textbooks catalogued at /books so a syllabus can point at a CurriculumBook instead of retyping titles.

Setup workflow

  1. Open /syllabus and create one syllabus per class-subject for the active academic year; a duplicate for the same class, subject and year is rejected, so edit the existing row instead.
  2. Pick a template (CBSE_NCERT, ICSE or IB) or leave it blank for a custom outline - the body is stored as JSON chapters, each holding ordered topics.
  3. Build chapters and topics at /syllabus/[id], and attach prescribed and reference books, marking one as primary.
  4. Map period load at /timetable/curriculum so the timetable generator knows how many periods a week each class-subject needs.

Usage workflow

  1. Teachers plan week by week at /lesson-plans, or generate a whole year from the syllabus in one pass.
  2. Generated plans land as DRAFT with approval PENDING; class-subjects with no syllabus content are skipped, and weeks that already hold a plan are left alone unless you choose overwrite.
  3. Leadership approves or rejects plans, storing the approver and an optional comment; teachers see and edit only their own plans.
  4. Upload resources at /study-materials against a class grade, optionally narrowed to a class, section, stream or subject; detail and downloads live at /study-materials/[id].
  5. Teachers tick topics complete on the syllabus checklist; marking a lesson plan COMPLETED also counts its linked topics towards coverage.
  6. Students read /my-syllabus with their elective choices; parents read /parent-dashboard/syllabus?childId= for the selected child.

Who owns what

RoleCan doCannot do
Principal, Vice Principal, Admin, Platform AdminEdit any syllabus, approve or reject lesson plans, generate plans for all teachers at onceNothing in this module is withheld from leadership
TeacherEdit the syllabus for a class they are assigned to or homeroom, write and generate their own plans, upload study materialsApprove lesson plans, or generate plans for another teacher
StudentRead /my-syllabus for their enrolled classes and open study materials for their gradeSee lesson plans or draft syllabus edits
ParentRead /parent-dashboard/syllabus?childId= and grade-scoped study materialsSee lesson plans, teacher progress, or another family’s child

What breaks if you skip a step

  • No calendar days: lesson plan generation refuses to run and tells you to generate the academic calendar and holidays first.
  • No active teacher assignments: generation returns a 404 because there is nothing to generate against, and the teacher cannot edit the syllabus either.
  • Empty syllabus content: that class-subject is silently skipped and counted as skipped in the response, so a partial run is easy to miss.
  • Study material saved without a class grade filter: it becomes visible to every learner in that grade, not only the intended section.

Handoff and limits

Curriculum feeds examinations rather than the other way round. When a paper blueprint is created it snapshots the chosen curriculum topics into its own record and keeps a reference to the source syllabus, so later curriculum edits cannot rewrite a locked blueprint. Curriculum also feeds the timetable through the period map at /timetable/curriculum. It does not feed the gradebook: syllabus coverage and lesson plan status are teaching records, and no mark is derived from them.

  • Syllabus content has no versioning or approval workflow of its own - only lesson plans carry an approval status.
  • Topic coverage is tracked per teacher, so two teachers sharing a class-subject keep separate checklists.
  • There is no automatic warning when a class falls behind the generated pacing; compare coverage against the plan yourself.

Common questions

Quick answers in plain language.

Why did lesson plan generation create nothing?+

Three checks fail silently or loudly. If the academic year has no calendar days, POST /api/lesson-plans/generate returns 400 asking you to generate the calendar and holidays at /academic-calendar. If no active teacher assignment matches the filters it returns 404. If the assignment exists but the syllabus has no chapters, that class-subject is counted in "skipped" and no plan is written.

Can I create two syllabi for the same subject in one class?+

No. A syllabus is unique per class, subject and academic year, and POST /api/syllabus rejects a duplicate with a 400. Open the existing row at /syllabus/[id] and edit its chapters, or create the next year first and build the new syllabus there.

Who can approve a teacher’s lesson plan?+

Only Admin, Principal, Vice Principal or Platform Admin. POST /api/lesson-plans/[id]/approve returns 403 for a Teacher role. Teachers may write, edit and complete their own plans, but the APPROVED or REJECTED decision and its comment are recorded against a leadership account.

Do students see study materials from other classes?+

No. Materials are filed against a class grade and learners only see their own grade. Staff see everything. Narrow a material to a class, section, stream or subject when it should not reach the whole grade.

Related searches

School leaders and IT teams often search for: how to curriculum workflows in school management software, best timetable software for schools for K-12 schools, Schoolyi curriculum workflows guide, curriculum workflows step by step, attendance management software, school scheduling software, and lesson planning software schools.