A Spring Boot-based Online Examination System with secure user authentication, exam management, and assessment capabilities.
-
User Management
- Secure authentication and authorization
- Role-based access (Teacher, Student)
- User profile management
-
Exam Management
- Create and manage multiple exams
- Question bank management
- Multiple question types support
-
Result Processing
- Result analysis
- Performance statistics
- Result history tracking
- Backend: Spring Boot 3.x
- Security: Spring Security
- Database: MySQL
- Build Tool: Maven
- Java 17 or higher
- MySQL 8.0 or higher
- Maven 3.6 or higher
-
Clone the repository git clone https://github.com/Ladanividhi/Online-Examination-System.git and then cd online-exam
-
Configure MySQL
-
Create a new database sql CREATE DATABASE exam2;
-
Update application.properties with your database credentials
-
-
Build and Run mvn clean install mvn spring-boot:run
-
Access the application
- POST /api/users - Register new user
- GET /api/exams - List all exams
- POST /api/exams - Create new exam
- PUT /api/exams/{id} - Update exam
- DELETE /api/exams/{id} - Delete exam
- GET /api/questions - List questions
- POST /api/questions - Add question
- PUT /api/questions/{id} - Update question
- DELETE /api/questions/{id} - Delete question
- GET /api/results - View results
- POST /api/results - Add result
- Authentication
- Password encryption using BCrypt
- Role-based access control
The system uses the following main entities:
- Users
- Exams
- Questions
- Results
- Roles
Thank you for exploring the Online Examination System. Your feedback and contributions are always welcome!