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.