Backend for HighM project.
HighM is web application for college to organize math lessons.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
What things you need to have globally installed:
- Python 3.8 or higher
- Pipenv
- PostgreSQL
- libpq-dev (only for Linux)
Install project dependencies.
pipenv install
Run database migrations.
pipenv run python manage.py migrate
Copy .env.example to .env. Set DEBUG=False for production, specify server host, client url, database and email credentials.
cp .env.example .env
Or instead of .env file you can set environment variables.
Run development server.
pipenv run python manage.py runserver
To create a user you should add a row to auth_user table with email and add a row to account_emailaddress with corresponding email.
You can also login to Django REST Framework panel with username and password only in development mode
To run all the automated tests
pipenv run test
Unit tests test every module individually
pipenv run unit-test
To run production server
pipenv run gunicorn highm_server.wsgi
- Django - The web framework
- Django REST Framework - Toolkit for building RESTful APIs
- PostgreSQL - The open source relational database
- NumPy - Library for matrices and high-level mathematical functions
- SciPy - Library for scientific computing