SIS Backend¶
Multi-tenant Student Information System for K-12 schools. NestJS 11 monolith with Entity-Scope permissions model.
Tech Stack¶
| Layer | Choice |
|---|---|
| Runtime | Node.js 20+, TypeScript |
| Framework | NestJS 11 |
| ORM | Prisma 7.3 with PrismaPg adapter |
| Database | PostgreSQL |
| Auth | Passport.js + JWT (argon2 passwords) |
| Validation | class-validator + class-transformer |
| API Docs | Swagger via @nestjs/swagger |
| Testing | Jest 30 + Supertest |
| Deployment | Railway (BE) + Cloudflare Workers (FE) |
Key Sections¶
- Architecture — Monolith-first design, module structure, data access patterns
- RBAC Strategy — Entity-Scope-Action permission model, guard chain, token lifecycle
- Workflows — Step-by-step checklists for common operations (add field, add scope, add entity)
- Error Codes — Standardized error codes and response format
- Infrastructure — Deployment, environments, CI/CD
Domain¶
- Requirements — Functional requirements specification
- ER Diagram — Entity-relationship diagram
- Timetable — Timetable domain design