The Online Examination System is a digital platform designed to simplify the examination process, allowing students to take exams from anywhere at any time. It is developed using Python, Django, CSS, HTML, and JavaScript. The system includes separate interfaces for students, professors, and administrators, ensuring a smooth and efficient exam management experience.
- Auto-Submit Form: Exams are automatically submitted when the timer runs out.
- Focus Monitoring: If a student’s window goes out of focus five times during an exam, the professor receives an email alert.
- Automatic Mark Calculation: Marks are calculated automatically once the student submits the exam.
- User Types: The system supports two types of users - Professors and Students.
- Control Panels: Separate control panels for administrators and students.
- MCQ Exams: Students can take multiple-choice exams, view their scores, and see the correct answers.
- Superuser Account: Separate superuser account for account validations.
- Python
- Django
- Pipenv
-
Clone the Project
git clone https://github.com/Mohitkumar6122/Online-Examination-System.git cd Exam-Portal
-
Set Up Environment Variables Create a
.env
file in theExam-Portal
directory with the following contents:export EMAIL_HOST_PASSWORD=<PASSWORD_OF_EMAIL_ACCOUNT> export EMAIL_HOST_USER=<EMAIL_ACCOUNT> export EMAIL_HOST=<SMTP> export DEFAULT_FROM_EMAIL=<EMAIL_ACCOUNT>
For Windows, create a
env.bat
file:set EMAIL_HOST_PASSWORD=<PASSWORD_OF_EMAIL_ACCOUNT> set EMAIL_HOST_USER=<EMAIL_ACCOUNT> set EMAIL_HOST=<SMTP> set DEFAULT_FROM_EMAIL=<EMAIL_ACCOUNT>
-
Install Dependencies
pip install pipenv pip install django[argon2] pipenv shell pipenv install
-
Load Environment Variables On Linux:
source .env
On Windows:
env.bat
-
Database Migrations
cd Exam python manage.py migrate python manage.py makemigrations python manage.py migrate
-
Create a Superuser Account
python manage.py createsuperuser
-
Run the Server
python manage.py runserver
The website should now be running at http://127.0.0.1:8000/.
-
Set Up User Groups
- Go to http://127.0.0.1:8000/admin/auth/group/add/
- Login with the superuser account.
- Add two groups named "Professor" and "Students".
-
Professor Verification
- Admins need to manually add professors to the "Professor" group once they create a new account.
Thanks to these wonderful people (emoji key):
harbhajan2109 💻 |
Hritwik Bhardwaj 💻 |
abhishekkumar29 💻 |
Anthony Aniah Abuokwen 💻 |
This project follows the all-contributors specification. Contributions of any kind are welcome!