An online examination system designed to facilitate tests and quizzes for educational institutions. This system allows teachers to create and manage exams, and students to take them. The platform includes user roles for students and faculties with different access levels.
🚧 This project is currently under development and is not yet complete. 🚧
- User Authentication: Secure login for students and faculties.
- Test Creation: Faculties can create and manage tests with various question types.
- Automated Grading: Automatic grading of exams and quizzes.
- Real-Time Statistics: View real-time stats on student performance.
- Customizable Exams: Create public and private exams with customizable settings.
- Question Banks: Reuse content and randomize questions from a question bank.
- Backend: Java Servlets, JSP
- Database: Microsoft SQL Server
- Frontend: HTML, CSS, JavaScript
-
Clone the Repository:
git clone https://github.com/COSYBANANA63/online-examination-system.git cd online-examination-system
-
Setup Database:
Ensure you have Microsoft SQL Server installed and running. Create a database named
ExamPortal
and configure the connection settings in theResgistrationServlet
LoginServlet
. -
Build and Deploy:
- Import the project into your IDE (e.g., NetBeans, IntelliJ IDEA. Eclipse).
- Configure the web server (e.g., Apache Tomcat) and deploy the application.
-
Configuration:
Update the database connection settings in the
RegistrationServlet
&LoginServlet
and other relevant classes if necessary.
-
Running the Application:
Start your web server and navigate to
http://localhost:8080/online-examination-system/Login.jsp
to access the login page.
2.Registration:
- Registration is meant to be handled by the people incharge of registering new students and or faculties and will be isolated from the login form in later updates. This will be done to prevent others from casually entering the registration page and then registering themselves into the system.
-
Login:
- Students: Use email or userId and password to log in.
- Faculties: Use email or userId and password to log in.
-
Access Dashboards:
- Student Dashboard: After successful login, students are redirected to
StudentDashboard.jsp
. - Faculty Dashboard: After successful login, faculties are redirected to
FacultyDashboard.jsp
.
- Student Dashboard: After successful login, students are redirected to
- If getting error such as (this driver is not configured for "integratedSecurity") please make sure you download the latest version of the MSSQL JAR Drivers from
https://learn.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver16
.Extract its contents into Program Files. Then select the JAR file suitable for your JDK version and add it to your Project Libraries. in the auth folder of the MSSQL JDBC Extract copy the authentication dll and past it in you JDK bin folder, and ensure that it is specified in your System Path. - To add to System Path copy the directory where the auth.dll is located e.g "C:\Program Files\sqljdbc_12.8\enu\auth\x64\mssql-jdbc_auth-12.8.0.x64.dll" Open your search bar and search for Environment Variables, click on the "Environment Variables button at the buttom and in the new dialogue boc look for path(click on path and then click new then paste the directory in it click Ok then close); might need to restart pc.
Contributions are welcome! If you have suggestions or improvements, please follow these steps:
-
Fork the Repository: Create a personal copy of the repository by forking it.
-
Clone Your Fork:
git clone https://github.com/COSYBANANA63/online-examination-system.git
-
Create a New Branch: In Process
git checkout -b feature/your-feature
-
Make Changes: Implement your changes or features.
-
Commit and Push: In Process
git add . git commit -m "Add new feature or fix" git push origin feature/your-feature
-
Create a Pull Request: Submit a pull request with a clear description of your changes.
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or feedback, please contact tobyfemi55@gmail.com.