Backend built with Django complete with caching, rate limiting, etc.
- Python version
3.7
. I am personally running3.7.13
pip
installed compatible with the same python version as above.venv
package will be run when creating virtual environments. If not, you will need to install it.
- Clone this repo.
git clone https://github.com/TheChomas/GradeEz.git
- Create a virtual environment.
python3 -m venv venv
# you can just use 'python' instead of 'python3'
- Start the virtual environment (Unix or macos).
source venv/bin/activate
If you are using windows, then run
venv\Scripts\activate.bat
This will now open a virtual environment. Next time you only need to start it, no need to create again.
- Install the dependencies required.
pip3 install -r requirements.txt
# alternatively you can only use 'pip' instead of 'pip3'
-
Create a file called
.env
in the root directory (wheremanage.py
is present) and fill it up with the API keys specified in.env.sample
in the same directory. -
Run the server.
python3 manage.py runserver
- Run the scheduer which is used to send emails asynchronously in another termial parallely.
python3 manage.py process_tasks
This will start the server on port 8000. You can visit it at localhost:8000.
- After you're done, deactivate the virtual environment.
deactivate
- The model will be downloaded the first time you run the server. After that it will be saved in the
model/
directory. The size is about 1.2 GB. - The
api/
directory is for the JSON response, which is deprecated. For normal templates, use other apps instead.
- Passages, questions will be saved in the site. If the teacher wants, he/she can add more passages or add more questions to existing passages.
- Then the teacher can create a new test. This will create a unique test ID/number to identify the test. This will be used in the test link.
- Students need to login with their accounts to be able to answer the test. When they do, they'll be shown the passage, questions in the test and will have the ability to fill and submit their answers. This will be stored in the DB and a score will be given by the AI model to each answer.
- When creating a test a time limit may be set. If the student's time overflows, then the answers won't be accepted.
- Colour of site:
#57b846