A full-stack, production-ready quiz platform built with Spring Boot, MySQL, and a modern glassmorphism-inspired UI. The platform combines real-time quiz hosting with practical implementations of Data Structures & Algorithms (DSA), making it both an interactive learning system and a showcase of core computer science concepts.
🌐 Live app: https://tejaswin-amara.github.io/Quiz-Platform/
📖 Storybook: https://tejaswin-amara.github.io/Quiz-Platform/storybook/
🚀 Backend: Deploy to Railway — see DEPLOYMENT.md
Quiz Platform is a real-time quiz hosting and analytics system designed to demonstrate practical applications of Data Structures & Algorithms through a complete end-to-end software product.
The platform supports:
- Live multiplayer quiz sessions
- Real-time leaderboards
- Topic recommendations
- Performance analytics
- Demo mode for presentations and viva demonstrations
- JWT authentication and authorization
- Docker-based deployment
- Persistent database storage
- Interactive DSA visualizations
- Create quizzes
- Manage questions
- Host live quiz sessions
- Join using session codes
- Timed questions
- Automatic progression
- Session recovery support
- Live lobby
- Participant management
- Dynamic score updates
- Real-time rankings
- Session results tracking
- Host controls
- Individual performance reports
- Topic-wise analysis
- Score trends
- Range score queries
- Difficulty impact analysis
- Learning recommendations
- JWT Authentication
- BCrypt password hashing
- Role-Based Authorization
- Session ownership validation
- Environment-based secrets
- Secure CORS configuration
- Flyway database migrations
- Docker deployment
- Health monitoring
- CI/CD workflows
- Persistent storage
- Environment-driven configuration
This project demonstrates DSA-2 concepts through practical implementation.
Efficient storage and retrieval of quiz questions.
- Insert
- Search
- Delete
- Traversals
| Operation | Complexity |
|---|---|
| Search | O(log n) |
| Insert | O(log n) |
| Delete | O(log n) |
Topic dependency analysis and recommendation generation.
- Breadth First Search (BFS)
- Depth First Search (DFS)
- Topological Sort
- Topic recommendations
- Learning paths
- Dependency analysis
Real-time leaderboard ranking.
- Insert Score
- Extract Maximum
- Update Ranking
| Operation | Complexity |
|---|---|
| Insert | O(log n) |
| Update | O(log n) |
| Extract Max | O(log n) |
Used for:
- Quiz optimization
- Topic selection
- Difficulty balancing
Used for:
- Performance trend analysis
- Learning progression tracking
Efficient analytics computation.
- Range score queries
- Aggregate analytics
- Session statistics
| Operation | Complexity |
|---|---|
| Query | O(log n) |
| Update | O(log n) |
┌──────────────────────────┐
│ Frontend │
│ HTML • CSS • JS │
└────────────┬─────────────┘
│ REST APIs
▼
┌──────────────────────────┐
│ Spring Boot API │
│ Authentication │
│ Sessions │
│ Analytics │
│ Recommendations │
└────────────┬─────────────┘
│
▼
┌──────────────────────────┐
│ MySQL │
│ Flyway Migrations │
│ Persistent Storage │
└──────────────────────────┘
Host Creates Session
│
▼
Participants Join
│
▼
Lobby
│
▼
Quiz Starts
│
▼
Questions Delivered
│
▼
Answers Submitted
│
▼
Leaderboard Updates
│
▼
Results Generated
│
▼
Analytics Produced
The platform includes a one-click demonstration flow.
GET /demo/startDemo Mode automatically:
- Creates a session
- Loads sample questions
- Adds demo participants
- Generates leaderboard data
- Demonstrates DSA integrations
Perfect for:
- Project demonstrations
- Viva presentations
- Quick testing
Implemented screens include:
- Home
- Login
- Register
- Dashboard
- Create Session
- Join Session
- Lobby
- Live Quiz
- Leaderboard
- Results
- Profile
- Settings
- Thank You Screen
- DSA Insights Panel
The platform visualizes internal DSA operations.
Examples:
BST Search → Question Retrieved
Heap Updated →
Leaderboard Recalculated
Graph Traversal →
Recommendation Generated
Segment Tree Query →
Analytics Produced
LIS Analysis →
Performance Trend Updated
POST /auth/register
POST /auth/loginPOST /api/quizzes
GET /api/quizzes
GET /api/quizzes/{id}
DELETE /api/quizzes/{id}POST /session/create
POST /session/join
GET /session/{id}/question
POST /session/{id}/answer
GET /session/{id}/leaderboard
GET /session/{id}/resultsGET /api/analytics
GET /api/optimize
GET /api/recommendations
GET /dsa/insightsCore entities:
QuestionEntity
QuizEntity
SessionEntity
PlayerEntity
ResultEntity
UserEntity
Persistence stack:
- Spring Data JPA
- Hibernate
- Flyway Migrations
Implemented protections:
- JWT Authentication
- BCrypt Password Hashing
- Role-Based Access Control
- Session Ownership Validation
- Environment-Based Secrets
- Secure CORS Restrictions
- Request Validation
- Global Exception Handling
SPRING_PROFILES_ACTIVE=prod
SERVER_PORT=8080
DB_URL=jdbc:mysql://localhost:3306/quiz_platform
DB_USERNAME=app_user
DB_PASSWORD=strong_password
JWT_SECRET_BASE64=your_base64_secret
JWT_EXPIRATION_SECONDS=3600
APP_ALLOWED_ORIGINS=https://yourdomain.com
SLOW_REQUEST_THRESHOLD_MS=1000mvn clean verify
mvn spring-boot:runOpen:
http://localhost:8080
docker compose builddocker compose up -dcurl http://localhost:8080/actuator/healthExpected response:
{
"status": "UP"
}mvn clean verifynpm run lint
npm run typecheck
npm test -- --watchAll=false
npm run build
npm run build:lib
npm run build-storybookFrontend
└── GitHub Pages / Cloudflare Pages
Backend
└── Railway / Render / VPS
Database
└── Managed MySQL
GitHub Pages can host only static frontend assets.
It cannot host:
- Spring Boot applications
- Java processes
- MySQL databases
Therefore:
- Frontend → Static Hosting
- Backend → Application Host
- Database → Managed Database
Automated workflows include:
- Backend Validation
- Frontend Validation
- Glass UI Validation
- Build Verification
- Deployment Checks
Monitor:
- Health Endpoint
- API Errors
- Login Failures
- Database Connectivity
- Session Creation Rate
- Container Restarts
- Memory Usage
- Query Latency
Current Release:
v0.0.1
Release Status:
Production Ready
Deployment Ready
Security Hardened
Docker Ready
Flyway Ready
CI/CD Enabled
This project demonstrates practical implementations of:
- Trees
- Graphs
- Heaps
- Dynamic Programming
- Segment Trees
- REST APIs
- Authentication
- Database Design
- Docker Deployment
- Full-Stack Development
Suitable for:
- DSA-2 Academic Projects
- Portfolio Showcase
- Technical Demonstrations
- Learning Platforms
- Real Quiz Hosting
This project is intended for educational and learning purposes.
✅ Full-Stack Application
✅ Real-Time Quiz Platform
✅ DSA-Integrated Architecture
✅ Production Ready
✅ Docker Ready
✅ Security Hardened
✅ Deployment Ready
✅ Viva Demonstration Ready
✅ Portfolio Ready
✅ Ready for Real Quiz Hosting