Skip to main content
This page is for contributors, DevOps, and cloud architects. Staff day-to-day guides live in the other sections. Do not put production secrets in documentation — use environment variable names only.
The Student Label System is a single Next.js application (UI + REST API in one Node.js process). Persistent data lives in MongoDB (student-label database). Sessions use NextAuth JWT cookies — the app tier is stateless.

System context

Stack

There is no Redis, no message queue, and no separate backend service.

Major modules

The repository has 59 API route handlers under src/app/api/.

MongoDB collections

Sync relies on updatedAt for delta queries. See the repo file docs/mongodb-students-schema-audit.md for schema detail.

Authentication models

External integrations

Power Automate calls:
See docs/power-automate-nightly-sync.md in the GitHub repository for the full Power Automate wiring guide.

User roles

Health endpoints

AWS deployment

Docker Compose on EC2, TLS, secrets, migration from Vercel.

API health checks

Live deep health JSON (production).

Repository layout