Skip to main content

Academic Structure

Purpose

Academic Structure defines how Students are organized within a School.

It provides the framework for:

  • Academic Levels
  • Subject Catalog
  • Student Grouping
  • Enrollment Placement
  • Attendance Tracking
  • Academic Reporting

Academic Structure consists of:

  • Class
  • Section
  • Subject

Class

Purpose

A Class represents an academic level within a School.

Examples:

  • Nursery
  • LKG
  • UKG
  • Grade 1
  • Grade 2
  • Grade 3
  • Grade 12

A Class is master data owned by a School.

Classes are reused across Academic Years.


Business Context

Classes represent academic progression levels within a School.

Examples:

  • Grade 5
  • Grade 6
  • Grade 7

Students move between Classes through promotion or academic progression.

Classes themselves remain stable over time.


Relationships

Class to School

  • Each Class belongs to exactly one School.
  • A School may contain multiple Classes.

Class to Section

  • A Class may contain multiple Sections.
  • Each Section belongs to exactly one Class.

Class to Student Enrollment

  • A Student Enrollment belongs to a Class.
  • A Class may contain many Student Enrollments.

Key Design Decisions

Class is School Scoped

Classes belong to a School.

Classes are not tied to Academic Years.

Examples:

  • Grade 1
  • Grade 2
  • Grade 3

remain constant across Academic Years.

Class is Reference Data

Classes are academic definitions.

They are not operational entities.

Class definitions are reused year after year.

Streams are Excluded

Streams are not part of the initial model.

Examples:

  • Science
  • Commerce
  • Arts

If required in the future, a separate Stream entity may be introduced.

Class Teacher is Excluded

Teacher assignment is operational data.

Class definitions should not contain teacher assignments.

Future teacher assignment functionality should be modeled separately.


Attributes

Identity

  • ClassId
  • SchoolId
  • Name

Examples:

  • Nursery
  • LKG
  • UKG
  • Grade 1
  • Grade 12

Ordering

  • DisplayOrder

Status

Possible values include:

  • Active
  • Archived

Audit

  • CreatedAt
  • CreatedBy
  • UpdatedAt
  • UpdatedBy

Constraints

Class Name Uniqueness

Class names must be unique within a School.


Section

Purpose

A Section represents a grouping of Students within a Class for a specific Academic Year.

Examples:

Grade 5

  • Section A
  • Section B
  • Section C

Sections are operational entities and may change from year to year.


Business Context

Student counts can vary between Academic Years.

Examples:

2025-2026

  • Grade 5 A
  • Grade 5 B
  • Grade 5 C

2026-2027

  • Grade 5 A
  • Grade 5 B

This flexibility is the primary reason Sections are Academic-Year scoped.


Relationships

Section to Academic Year

  • Each Section belongs to exactly one Academic Year.
  • An Academic Year may contain many Sections.

Section to Class

  • Each Section belongs to exactly one Class.
  • A Class may contain many Sections across Academic Years.

Section to Student Enrollment

  • Student Enrollments may be assigned to a Section.
  • A Section may contain many Student Enrollments.

Key Design Decisions

Section is Academic-Year Scoped

Sections belong to:

  • Academic Year
  • Class

Sections are recreated as needed each Academic Year.

Section Names are Flexible

Examples:

  • A
  • B
  • C
  • Red
  • Blue
  • Alpha
  • Beta

Capacity Support

Sections may define a capacity.

Capacity can be used for:

  • Admissions
  • Planning
  • Student Allocation

Homeroom Teacher Support

A Section may optionally have a Homeroom Teacher.

This relationship is operational and may change over time.


Attributes

Identity

  • SectionId
  • AcademicYearId
  • ClassId
  • Name

Capacity

  • Capacity

Homeroom

  • HomeroomTeacherUserId

Status

Possible values include:

  • Active
  • Archived

Audit

  • CreatedAt
  • CreatedBy
  • UpdatedAt
  • UpdatedBy

Constraints

Section Name Uniqueness

The combination of:

  • AcademicYear
  • Class
  • Section Name

must be unique.


Subject

Purpose

A Subject represents an academic discipline taught by a School.

Examples:

  • English
  • Mathematics
  • Science
  • Social Studies
  • Hindi
  • Assamese
  • Computer Science

Subject is master/reference data owned by the School.


Business Context

Subjects define the academic catalog available within a School.

Subjects are reusable across:

  • Classes
  • Academic Years
  • Curricula

A Subject exists independently of a Class or Academic Year.


Relationships

Subject to School

  • Each Subject belongs to exactly one School.
  • A School may contain multiple Subjects.

Subject to Curriculum

Subject assignments to Classes, Academic Years, or Streams are managed through future curriculum models.

Subjects themselves remain independent.


Key Design Decisions

Subject is School Scoped

Subjects belong to a School.

Different Schools may define different subject catalogs.

Subject is Master Data

Subjects are reusable academic definitions.

Examples:

  • Mathematics
  • Science
  • English

remain stable across Academic Years.

Subject is Not Academic-Year Scoped

Subjects are not recreated every Academic Year.

Curriculum changes do not result in new Subject records.

Subject is Not Class Scoped

Subjects exist independently of Classes.

Subject-to-Class relationships will be handled through future curriculum models.

Subject Teacher is Excluded

Teacher assignments are operational data.

Subject definitions should not contain teacher assignments.

Subject Categories are Deferred

Examples:

  • Core
  • Elective
  • Language
  • Co-Curricular

may be introduced in the future if required.


Attributes

Identity

  • SubjectId
  • SchoolId
  • Name

Ordering

  • DisplayOrder

Status

Possible values include:

  • Active
  • Archived

Audit

  • CreatedAt
  • CreatedBy
  • UpdatedAt
  • UpdatedBy

Constraints

Subject Name Uniqueness

Subject names must be unique within a School.


Exclusions

The following information does not belong directly to Class, Section, or Subject:

  • Student Personal Information
  • Attendance Records
  • Assessment Records
  • Fee Records
  • Admission Records

These belong to their respective domain entities.


Future Considerations

The following capabilities may be introduced later:

  • Streams
  • Curriculum
  • Class Subject Mapping
  • Subject Groups
  • Subject Teachers
  • Automated Section Allocation
  • Capacity Enforcement Rules

These capabilities should not require redesign of the Academic Structure model.


Summary

Core decisions:

  • Class represents an academic level.
  • Class is School-scoped master data.
  • Class is not Academic-Year specific.
  • Sections belong to Academic Years and Classes.
  • Sections are operational entities.
  • Section names are flexible.
  • Capacity is supported.
  • Homeroom Teacher assignment is supported.
  • Subject is School-scoped master data.
  • Subject is not Academic-Year scoped.
  • Subject is not Class scoped.
  • Student placement is managed through Student Enrollment.