The Quiz Management System is a web-based application built with Spring Boot that allows students, teachers, and administrators to manage quizzes efficiently. It includes role-based authentication and authorization, JWT security, and API documentation using Swagger.
- User Roles: Admin, Teacher, Student
- Authentication & Authorization: JWT-based security
- Quiz Management: Create, update, and delete quizzes
- Question Bank: Store and manage multiple-choice questions
- Student Participation: Students can take quizzes and view results
- Reporting: View quiz scores and analytics
- Swagger API Documentation: Easily explore APIs
- Backend: Java, Spring Boot 3.4.3, Spring Security, JWT Authentication
- Database: MySQL
- API Documentation: Springdoc OpenAPI (Swagger UI)
- Build Tool: Maven
Below is a high-level workflow diagram of the Quiz Management System:
Below is a ER diagram of the Quiz Management System:
Ensure you have the following installed:
- Java 17+
- Maven 3+
- MySQL Server
git clone https://github.com/iammahesh123/quiz-exam-system.git
cd quiz-exam-system
Update application.properties
:
spring.datasource.url=jdbc:mysql://localhost:3306/quizdb
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.jpa.hibernate.ddl-auto=update
mvn clean install
mvn spring-boot:run
- API Documentation (Swagger UI):
http://localhost:8080/swagger-ui.html
- API Endpoints:
http://localhost:8080/v3/api-docs
- Public Endpoints:
POST /auth/login
(User Login)POST /auth/register
(User Registration)- Swagger UI (
/swagger-ui/**
,/v3/api-docs/**
)
- Role-Based Access:
ADMIN
:/admin/**
TEACHER
:/teacher/**
STUDENT
:/student/**
This project is open-source and available under the MIT License.
- Mahesh Kadambala - GitHub Profile
Feel free to modify this file as needed to fit your project structure! 🚀