This repository contains the source code and documentation for the attendence tracker backend
- Django Rest Framework: For the building the main API.
- Celery: Celery is used for distributed task processing, here it is used for the resource intensive process of creating hundreds of sessions for a certain timetable.
- Redis: For message brokering between djano and celery.
- PostgreSQL: Database to store user data.
To get started with the Bunk Mate backend, follow these steps:
-
Clone the repository:
git clone https://github.com/Bunk-Mate/backend
-
Install dependencies:
pip install -r requirements.txt
-
Create a
.creds
file following this template:DBNAME= DBHOST= DBUSER= DBPASS= CACHELOCATION= BROKERLOCATION= SECRET_KEY=
CACHELOCATION
andBROKERLOCATION
correspond to the urls of the redis databases.- This env file is used for a local development environment, for production -
- Set the environment variable
WEBSITE_HOSTNAME
to the domain of the website. - Load the above listed variables into the environment using platform specific methods.
- Set the environment variable
-
Set up the database:
python manage.py migrate
-
Run the development server:
python manage.py runserver
The backend server will be up and running at http://localhost:8000/
.
- Implement better authentication
- Set up sentry
- Refactor codebase
- Set up logging and remove print statements
- Implement ranked bunking
- Test out timetable autodetection from images
This project is licensed under the MIT License.