Skip to content
GenGraphic

Education · product

A shared data model for a three-sided education platform

Connecting students, teachers, and school administration in one platform without turning any one of the three into an afterthought.

  • Web
  • Mobile
  • Software

Context

Client: Internal product — EduVera. Industry: Education.

Challenge

Education platforms often start as a tool for one audience — usually administration — with student and teacher access added later as secondary features. That ordering tends to produce a product that manages records well but is inconvenient for the people using it daily: teachers recording work and students checking it.

The challenge was to design the data model and permission structure for all three roles from the start, so that coursework, communication, and administrative records stay consistent regardless of which role is interacting with them.

Constraints

Schools require strict, auditable separation between what students, teachers, and administrators can see and change — a mis-scoped permission is not just a bug but a data protection concern involving minors in many cases. The system also needed to support the reality that a single person can hold more than one role (a teacher who is also a parent, for example).

Approach

Access control was designed around explicit roles and scoped permissions checked on the server for every request, rather than inferred from which application (student, teacher, or administration) made the call. A single coursework and grading data model underpins all three applications, so a grade entered by a teacher is the same record a student and an administrator both see, rather than three separate representations that could drift out of sync.

Solution architecture

Three applications — for students, teachers, and school administration — share a common backend and authentication layer, with role-based permissions enforced centrally. Coursework, attendance, and communication are modelled once and surfaced differently per role, rather than duplicated per application.

  • Next.js
  • React Native
  • TypeScript
  • PostgreSQL

Outcome

  • Architecture milestone

    Single coursework and grading model shared across all roles

  • In development

    Role-based permission model implemented and under test

Working on something similar?

We use privacy-friendly analytics to understand how the site is used. No non-essential tracking runs before you accept. Read our cookie policy.