A full-stack Quiz Management System built using Spring Boot that lets users attempt quizzes while admins manage questions, categories, and quiz content.
Built to understand how real backend systems handle authentication, database persistence, and layered architecture.
- Register & login
- Attempt quizzes
- Get instant scores
- Browse category-based quizzes
- Create quiz categories
- Add / edit / delete questions
- Manage quizzes dynamically
Layer Tech
Backend Spring Boot, Java Architecture MVC Pattern ORM Spring Data JPA, Hibernate Database MySQL Frontend Thymeleaf, HTML, CSS Build Tool Maven
- Authentication system
- Role-based access (Admin/User)
- Dynamic quiz generation
- Automatic answer evaluation
- Persistent database storage
- Clean layered backend design
Client → Controller → Service → Repository → Database
- Controller → handles requests\
- Service → business logic\
- Repository → database operations\
- Database → stores users, quizzes, questions
src/main/java
│
├── controller → Request handling
├── service → Business logic
├── repository → JPA repositories
├── model → Entities
└── QuizApplication → Entry point
git clone https://github.com/<your-username>/QuizApplication.git
cd QuizApplicationCREATE DATABASE quiz_db;Update inside:
src/main/resources/application.properties
spring.datasource.username=root
spring.datasource.password=your_passwordmvn spring-boot:runOpen in browser:
http://localhost:8080
- Designing backend systems using Spring Boot
- MVC architecture in real applications
- Database modeling with JPA
- Authentication flow implementation
- Writing maintainable layered code
- JWT Authentication
- Quiz timer
- Leaderboard system
- REST API version
- Cloud deployment