Skip to content

ilyasbabu/question-bank-management-system

Repository files navigation

Question-Bank-Management-System

Question Bank Management System can be used to access the complete questions that were ever asked on various exams on different subjects of various departments across various universities.

This project is build using Python Django Framework.

The deployed working link of the project is here

Features

  • view questions based on different categorisation, sorting, search questions based on various parameters
  • questions will only appear after verification from admin, hence trustworthiness of the questions is maintained
  • user friendly interface

Installation

Requirements

  • Python 3.6 or above
  • NodeJs and NPM (NodeJs is required for building the frontend part of the project using tailwindcss)

Clone the repository

$ git clone https://github.com/ilyasbabu/question-bank-management-system.git
$ cd question-bank-management-system

Install dependencies

$ pip install -r requirements.txt

Setup the eviornment variables

Create a file named .env in the root directory of the project and add the following lines to it

# Django configuration
DEBUG = True
SECRET_KEY = '<secret_key>'

# Database configuration
DB_ENGINE = "<depends on the database you are using>"
DB_NAME = "<database_name>"
DB_USER = "<database_user>"
DB_PASSWORD = "<database_password>"
DB_HOST = "<database_host>"

# Tailwind configuration
NPM_PATH = "<path to npm>"
# on windows it might look like this r"C:\Program Files\nodejs\npm.cmd"
# on linux it might look like this "/usr/bin/npm"

# Mail configuration
EMAIL_HOST = "<email_host>"
EMAIL_PORT = "<email_port>"
EMAIL_USER = "<your email>"
EMAIL_PASSWORD = "<your email password>"

Create the database

$ python manage.py makemigrations
$ python manage.py migrate

Create the admin user

$ python manage.py createsuperuser

Start the server

$ python manage.py runserver

For the frontend development, you should also start the tailwind server as well, so on other terminal

$ python manage.py tailwind install
$ python manage.py tailwind start

Tech-stacks used

                       

Future Improvements

  • Need to make categorisation, sorting and searching robust without page reload.
  • Need to implement a feature of selecting questions and printing them.
  • Need to improve the UI and implement Dark Theme.
  • Need to implement a new interface for admins and moderators.
  • Need to implement rich text formatting for question answers.
  • Need to implement OAuth.
  • Need to Optimize the build.

License

Free to use and modify, just ⭐.



Made with ❤