Academic Management System (SGA)
An academic management system that grew out of a real problem at work: the school tracked students, grades and attendance on paper and spreadsheets.
Problem
Enrollments, grades and attendance were handled by hand. The process was slow, error-prone and gave no consolidated view of the school.
Role
Full development, solo: backend, frontend, database and automations.
Solution
- A single dashboard with an overview of students, classes and enrollments.
- Grade entry and attendance tracking per class.
- REST API in Spring Boot, documented with Swagger/OpenAPI.
- Containerized deployment with Docker Compose.
Technical decisions
- JWT in an HttpOnly cookie instead of localStorage, so a script injected into the page cannot read it.
- Because the browser sends the cookie automatically, the API requires a CSRF token on requests that change data.
- Rate limiting on login to block brute-force attempts.
Result
100% of the school's academic records moved off paper. The school now has a single, auditable administrative workflow.
Stack
- Java
- Spring Boot
- PostgreSQL
- React
- TypeScript
- Docker