A desktop-based exam scheduling and result management application built using Java, Swing (GUI), and MySQL.
- 🔐 Login & Signup (Student + Teacher)
- 👨🏫 Teacher Panel
- Create class groups
- Add students to groups
- Schedule exams
- Publish exam results
- 🎓 Student Panel
- Register for available exams
- View scheduled exams
- View exam results
- 🗄️ MySQL Database Integration
- 🧩 MVC Architecture
- Strategy — Password Change (
PasswordChangeStrategy) - Proxy — Exam Registration Permission (
ExamRegistrationProxy) - Factory - UI View Creation (
WelxomeViewFactory)
| Layer | Technology |
|---|---|
| Frontend | Java Swing |
| Backend | Java (JDK 8+) |
| Database | MySQL |
| Data Access | JDBC |
| Architecture | MVC |
Examination-Management-System/
│
├── src/
│ ├── controller/ # Controllers – business logic
│ ├── model/ # JDBC database models
│ └── view/ # Swing GUI screens
│
├── db/
│ └── init.sql # Database schema (run this first)
│
├── Exam System/lib/
│ └── README.md # Notes for JDBC driver (if needed)
│
├── pom.xml # Maven build file
└── README.md # Project documentation
- Clone the Repository
git clone <your-repo-url>
cd Examination-Management-System- Create the Database
Run (from the MySQL client):
SOURCE db/init.sql;- Configure MySQL Credentials
Update your DB username & password in:
src/model/UserModel.java
- Build & Run
mvn clean package
mvn exec:java -Dexec.mainClass="view.LoginView"Login Page | Sign Up Page |
Student Dashboard | Teacher Dashboard |
Exam Scheduling |
- Password hashing
- Role-based authorization
- Better UI/UX
- Unit tests
- Migration to JavaFX or Spring Boot




