The backend service for CodeSpark, a gamified Java learning platform for students.
This Spring Boot application handles user authentication, lesson management, AI-powered evaluations, badge achievements, and more.
- 📚 Lesson system with multiple types
- 🤖 AI-based answer evaluation using OpenAI
- 🧠 Progress tracking and lesson skipping
- 🏆 Badge system for gamification
- 🔐 JWT-based authentication
- Java 21 + Spring Boot
- PostgreSQL
- OpenAI
- Cloudinary
- Docker
- Java 21
- Maven
- PostgreSQL setup
- Cloudinary account
- SMTP credentials
These must be provided via environment variables:
Key | Description |
---|---|
DATABASE_URL |
JDBC connection string |
DATABASE_USERNAME |
DB username |
DATABASE_PASSWORD |
DB password |
JWT_SECRET_KEY |
Secret for token signing |
SMTP_ACCOUNT_EMAIL |
SMTP account email |
SMTP_ACCOUNT_PASSWORD |
SMTP password |
OPENAI_API_KEY |
OpenAI API Key |
OPENAI_API_PROJECT_ID |
OpenAI Project ID |
OPENAI_API_ORGANIZATION_ID |
OpenAI Org ID |
CLOUDINARY_URL |
Cloudinary API URL |
Use the test
Spring profile:
mvn test -Dspring.profiles.active=test
- Frontend — Vaadin-based frontend
- Organization Overview
Distributed under the Attribution-NonCommercial-ShareAlike 4.0 International
. See LICENSE
for more information.