
Tech Stack
Java
Spring Boot
Spring Security
PostgreSQL
Redis
Next.js
Typescript
Docker
Flyway
Google Gemini
JUnit
Description
Designed and developed from scratch as the sole developer for IAT Academy, an aviation and tourism vocational center (36 modules across a 2-year program).
Layered Spring Boot 3 backend on PostgreSQL and Redis with 31 REST controllers, 179 endpoints, 39 JPA entities, and 45 Flyway migrations, verified by 151 automated tests.
Next.js 15 / TypeScript frontend featuring dedicated portals: student space with timed quizzes & AI assistant, and administrative portal with academic governance.
- Server-enforced sequential progression preventing URL tampering and module skipping.
- Multi-layer security: JWT auth, 2FA, and RBAC combined with resource ownership validation.
- AI-powered content generation with automatic failover between LLM providers.
- Publicly verifiable digital certificates with QR code shareable to LinkedIn.
Behind the project
Challenges
- Guaranteeing server-side that a learner actually follows the sequential curriculum, with no way to skip modules by tweaking the URL.
- Building AI-generated quizzes resilient enough to never go down.
- Handling scale: 39 JPA entities, 179 endpoints, 151 automated tests, 45 migrations without a single rewrite after deployment.
Trade-offs
- Sequential progression enforced server-side rather than in the UI — a real pedagogical guarantee at the cost of more business logic.
- Automatic failover from Gemini to Grok for quiz generation, instead of one simpler provider with a single point of failure.
- Critical decisions (final internship validation) stay exclusively with the Academic Director — automation deliberately stops there.
Lessons learned
- The hardest part of building ed-tech isn't the UI — it's guaranteeing server-side that a learner actually follows the journey, while knowing exactly when to pass the baton back to a human educator.
Page Overview & Details
Screenshots



