EmofyEmofy Developers
Domains

Academic (SIS)

The student-information-system domains — students, teachers, courses, grades, attendance, and enrollment.

The academic domain covers school-information-system (SIS) operations: the machinery of running courses, tracking enrollment, recording grades, and taking attendance. It is the largest single domain group and maps to the academic slice of the core database.

Per ADR-003, much of the academic surface is intended to be delivered through EMAs (the sis EMA is the reference implementation). Treat the backend academic modules as the data + API foundation that EMAs build on, not as the end-user feature.

Sub-domains

ModuleCovers
studentsStudent records, enrollment status.
teachersTeacher records and assignments.
courses / lessonsCourse catalog, lesson planning.
enrollmentsLinking students to courses/classes.
gradesThe gradebook.
attendanceDaily/period attendance.
exams / assignmentsAssessments and homework.
curriculumsCurriculum definitions.
OneRosterInterop with the OneRoster standard.

Role interaction

Academic data is where the role model earns its keep:

  • teacher can create grades, take attendance, and manage assignments for their courses.
  • student can read their own data and submit assignments; grades and attendance are filtered to the student at the service level.
  • parent sees their child's academic data — but only through the relationship-and-consent gate (see Family & passport).
  • owner / manager have full academic management.

So a single grades endpoint serves very different views depending on the caller's role and relationships — the guards and service-level filters, not the route, decide what comes back.

The SIS EMA

The reference consumer of these modules is the sis EMA (dev port 7102), a full CQRS-backed Student Information System spanning the academic sub-modules. It is the canonical example of a substantial EMA: it requests academic scopes, reads/writes through the scoped API, and surfaces the data in its own UI inside the consumer shell. See The EMA ecosystem.

Next

On this page