A web application online exam management system built with Java (Servlets & JSP), featuring role-based access, question management, and automated evaluation. Designed for educational institutions and training platforms.
- User authentication and role-based access (Admin, Teacher, Student).
- Exam, Question set, Quiz question creation, update, and deletion.
- Question bank management.
- Automated result calculation and reporting.
- Email verification using Jakarta Mail.
- Database integration via ODBC11.
- Responsive UI with JSP, CSS, Bootstrap and JavaScript.
count of source line code in "/QuizeManagement_v1.2/src"
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
CSS 1 1824 235 13176
JSP 34 1020 120 5341
Java 59 754 675 4734
XML 1 2 0 339
JavaScript 4 6 14 183
-------------------------------------------------------------------------------
SUM: 99 3606 1044 23773
-------------------------------------------------------------------------------
## π Project Structure
βββ README.md
βββ screenshots
βΒ Β βββ login.png
βΒ Β βββ question_cr1.png
βΒ Β βββ question_cr2.png
βΒ Β βββ reset_pass.png
βΒ Β βββ show_res.png
βΒ Β βββ student_d.png
βΒ Β βββ teacher_d.png
βββ source files
βΒ Β βββ QuizeManagement_v1.2.war
βΒ Β βββ quiz_management.sql
βββ src
βββ main
βββ java
βΒ Β βββ dao
βΒ Β βΒ Β βββ BatchSectionDao.java
βΒ Β βΒ Β βββ CreateQuestionDao.java
βΒ Β βΒ Β βββ ExamsDao.java
βΒ Β βΒ Β βββ OptionsDao.java
βΒ Β βΒ Β βββ QuestionsDao.java
βΒ Β βΒ Β βββ QuestionSetsDao.java
βΒ Β βΒ Β βββ UsersDao.java
βΒ Β βΒ Β βββ VerifyPinsDao.java
βΒ Β βββ entities
βΒ Β βΒ Β βββ BatchClass.java
βΒ Β βΒ Β βββ Course.java
βΒ Β βΒ Β βββ ExamsEvaluation.java
βΒ Β βΒ Β βββ Exams.java
βΒ Β βΒ Β βββ Options.java
βΒ Β βΒ Β βββ QuestionSets.java
βΒ Β βΒ Β βββ Questions.java
βΒ Β βΒ Β βββ Sections.java
βΒ Β βΒ Β βββ Users.java
βΒ Β βΒ Β βββ VerifyPin.java
βΒ Β βββ filters
βΒ Β βΒ Β βββ AdminFilter.java
βΒ Β βΒ Β βββ CurrentUserFilter.java
βΒ Β βΒ Β βββ StudentFilter.java
βΒ Β βΒ Β βββ TeacherFilter.java
βΒ Β βββ helper
βΒ Β βΒ Β βββ ConnectionProvider.java
βΒ Β βΒ Β βββ GEmailSender.java
βΒ Β βΒ Β βββ GeneratePinCode.java
βΒ Β βΒ Β βββ GetBatchSectionOfStudentPOJO.java
βΒ Β βΒ Β βββ QuestionCommonSession.java
βΒ Β βΒ Β βββ QuestionToAnswerePOJO.java
βΒ Β βΒ Β βββ Quotes.java
βΒ Β βΒ Β βββ ShowQuestionFilterPOJO.java
βΒ Β βΒ Β βββ TempExamCreateSessionPOJO.java
βΒ Β βββ secret
βΒ Β βΒ Β βββ EMAIL_KEY.java
βΒ Β βΒ Β βββ VERIFY_CODE.java
βΒ Β βββ servlets
βΒ Β βββ AddToQuestionSetServlet.java
βΒ Β βββ ApprovedAllStudent.java
βΒ Β βββ ApprovedExamServlet.java
βΒ Β βββ ApprovedUserServlet.java
βΒ Β βββ ChangePasswordServlet.java
βΒ Β βββ CreateExamServlet.java
βΒ Β βββ CreateQuestionServlet.java
βΒ Β βββ CreateQuestionSetServlet.java
βΒ Β βββ DeclineUserServlet.java
βΒ Β βββ DeleteExamServlet.java
βΒ Β βββ DeleteQuestionServlet.java
βΒ Β βββ DeleteQuestionSetServlet.java
βΒ Β βββ EditExamServlet.java
βΒ Β βββ EvaluateExamServlet.java
βΒ Β βββ ForgotePasswordCheckCodeServlet.java
βΒ Β βββ ForgotePasswordSentCodeServlet.java
βΒ Β βββ LoginServlet.java
βΒ Β βββ LogoutServlet.java
βΒ Β βββ MakeAdminServlet.java
βΒ Β βββ RegisterServlet.java
βΒ Β βββ RemoveAdminServlet.java
βΒ Β βββ RemoveToQuestionSetServlet.java
βΒ Β βββ ResentCodeServlet.java
βΒ Β βββ test.java
βΒ Β βββ UpdateQuestionServlet.java
βΒ Β βββ VerifyCodeServlet.java
βββ webapp
βββ admin
βΒ Β βββ bottom_common.jsp
βΒ Β βββ dashboard.jsp
βΒ Β βββ pending_exams.jsp
βΒ Β βββ pending_users.jsp
βΒ Β βββ select_students.jsp
βΒ Β βββ show_admins.jsp
βΒ Β βββ show_permitted_exams.jsp
βΒ Β βββ show_students.jsp
βΒ Β βββ show_teachers.jsp
βΒ Β βββ top_common.jsp
βββ assets
βΒ Β βββ jquery-3.2.1.min.js
βΒ Β βββ main.css
βΒ Β βββ main.js
βΒ Β βββ plugins
βΒ Β βββ dataTables.bootstrap.min.js
βΒ Β βββ jquery.dataTables.min.js
βββ index.jsp
βββ login.jsp
βββ META-INF
βΒ Β βββ MANIFEST.MF
βββ register.jsp
βββ reset_password.jsp
βββ set_new_password.jsp
βββ student
βΒ Β βββ bottom_common.jsp
βΒ Β βββ dashboard.jsp
βΒ Β βββ exam_evaluation.jsp
βΒ Β βββ exam.jsp
βΒ Β βββ my_exams.jsp
βΒ Β βββ participated_exams.jsp
βΒ Β βββ top_common.jsp
βββ teacher
βΒ Β βββ bottom_common.jsp
βΒ Β βββ create_exam.jsp
βΒ Β βββ create_question.jsp
βΒ Β βββ dashboard.jsp
βΒ Β βββ edit_exam.jsp
βΒ Β βββ edit_question.jsp
βΒ Β βββ select_question_set.jsp
βΒ Β βββ show_exams.jsp
βΒ Β βββ show_question_set.jsp
βΒ Β βββ show_questions.jsp
βΒ Β βββ show_results.jsp
βΒ Β βββ top_common.jsp
βββ unauthorized.jsp
βββ verify.jsp
βββ WEB-INF
βββ lib
βββ web.xml
---- Backend: Java Servlets, JSP
- Frontend: JSP, CSS, JavaScript
- Database: Oracle 21c (via ODBC11)
- Email Service: Jakarta Mail
- Build/Deploy: WAR file for servlet containers (e.g., Apache Tomcat)
- Java 21 (Recomended)
- Apache Tomcat 10.1
- Oracle 21c (or compatible DB)
- ODBC11 driver installed
- Jakarta Mail library
- Clone the repository
git clone https://github.com/rahimuj570/quize_management_V1.2.git
cd quize_management_V1.2-
Import Database
- Create a new database in Oracle 21c (e.g.,
quiz_db). - Run the script from
source files/quiz_management.sql.
- Create a new database in Oracle 21c (e.g.,
-
Configure Database Connection
- Update DB credentials in your
helper/ConnectionProvider.javaconfig class. - Ensure ODBC11 is installed and properly mapped.
- Update DB credentials in your
-
Deploy WAR File
-
Copy
source files/quize_management.wartotomcat/webapps/. -
Start Tomcat and access the app at:
http://localhost:8080/quize_management
-
- Admin: Manage users, approved exam, manage exam permision
- Teacher: Create and publish exams, view results, create question sets and questions.
- Student: Attempt exams, view scores.
If you want to run the project from source:
- Open the project in an IDE (IntelliJ, Eclipse, NetBeans).
- Configure Tomcat server in the IDE.
- Run the project, which will deploy
src/main/webappand servlets automatically or import the .war file.
- Fork the repo
- Create a feature branch (
feature/my-new-feature) - Commit changes (
git commit -m 'Add feature') - Push to branch
- Open a Pull Request






