Skip to main content

Web Platform Overview

The SyncAD web platform consists of a unified NestJS API serving multiple Next.js frontends.

Components

AppStackPurpose
APINestJS + DrizzleREST API for all platforms
School Admin UINext.js 14 + MUI + TailwindDay-to-day school operations
Super Admin UINext.js 16 + shadcn/uiCross-school provisioning
Home (Marketing Site)Next.js 15 + Tailwind v4Public marketing pages
SCS ServiceGoAutomated school onboarding

Architecture

Browser

├── school-admin-ui (Next.js :3002) ──► NestJS API (:3001) ──► School DB
├── super-admin (Next.js :3003) ──► NestJS API (:3001) ──► Central DB
├── home (Next.js :3000) ──► NestJS API (:3001) ──► (marketing only)
└── SCS (Go :8080) ──► Route53 / RDS / ACM ──► New School DB

Key Modules

ModuleDescription
AccountsDouble-entry fee accounting
AttendanceStudent and employee attendance
Exam ManagementExam scheduling, results, assignments
Fee ManagementFee structure, collection, reminders
Bus TrackingBus, route, stop, trip management
LibraryBook catalog, issue, return
AnnouncementsSchool-wide announcements
LeaveLeave request and approval workflow
MessagingInternal messaging, broadcasts

Deployment

See Deployment for Docker, GitHub Actions, and environment variable reference.