A modern MCQ-based Online Examination System built with Django
- Multiple Choice Question (MCQ) examination system
- Real-time exam taking interface
- Automatic grading and result generation
- Detailed analytics and reports
- User management system
- Python 3.12 or higher
- MySQL Server
- pip (Python package manager)
- Clone the repository
git clone https://github.com/tusharneje-07/examhub.git
cd examhub
- Create and activate virtual environment (recommended)
python -m venv .venv
source .venv/bin/activate # On Windows use: venv\Scripts\activate
- Install dependencies
pip install -r requirements.txt
- Configure database
- Ensure MySQL server is running on localhost:3306
- Create a new database named 'examhub'
- Import the initial database schema:
mysql -u <USERNAME> -p examhub < ./examhub.sql
- Set up environment variables
cp .env.example .env
Edit .env
file with your database credentials and other configurations
Start the development server:
python manage.py runserver 127.0.0.1:8000
Visit http://127.0.0.1:8000
in your web browser
-
Make sure you have
docker
anddocker compose
installed. -
Set up environment variables:
cp .env.example .env
-
Edit the .env file with your database credentials and other configurations.
-
Run the following command to start the development environment with Docker:
docker compose up # Add `-d` to run in the background
admin account:
- Username: admin
- Password: 123
Student account:
- Username: tushar
- Password: 123
Required environment variables in .env
:
DATABASE_NAME
: Database name (default: examhub)DATABASE_USER
: MySQL username (default: root)DATABASE_PASSWORD
: MySQL password (default: )DATABASE_HOST
: Database host (default: localhost)
- Fork the repository
- Create a new branch
- Make your changes
- Submit a pull request
- open an issue in this GitHub repository.