Skip to content

The online examination system is a digital platform that evaluates students in a hassle-free way. The entire examination process is simplified and exams are taken from anywhere, anytime.

Notifications You must be signed in to change notification settings

Mohitkumar6122/Online-Examination-System

Repository files navigation

Online Examination System

All Contributors

Introduction

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.

Main Features

  • 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.

Project Overview

Project Overview

Installation Guide

Prerequisites

  • Python
  • Django
  • Pipenv

Steps to Run the Project

  1. Clone the Project

    git clone https://github.com/Mohitkumar6122/Online-Examination-System.git
    cd Exam-Portal
  2. Set Up Environment Variables Create a .env file in the Exam-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>
  3. Install Dependencies

    pip install pipenv
    pip install django[argon2]
    pipenv shell
    pipenv install
  4. Load Environment Variables On Linux:

    source .env

    On Windows:

    env.bat
  5. Database Migrations

    cd Exam
    python manage.py migrate
    python manage.py makemigrations
    python manage.py migrate
  6. Create a Superuser Account

    python manage.py createsuperuser
  7. Run the Server

    python manage.py runserver

    The website should now be running at http://127.0.0.1:8000/.

  8. Set Up User Groups

  9. Professor Verification

    • Admins need to manually add professors to the "Professor" group once they create a new account.

Contributors ✨

Thanks to these wonderful people (emoji key):

harbhajan2109
harbhajan2109

💻
Hritwik Bhardwaj
Hritwik Bhardwaj

💻
abhishekkumar29
abhishekkumar29

💻
Anthony Aniah Abuokwen
Anthony Aniah Abuokwen

💻

This project follows the all-contributors specification. Contributions of any kind are welcome!

About

The online examination system is a digital platform that evaluates students in a hassle-free way. The entire examination process is simplified and exams are taken from anywhere, anytime.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published