Skip to content

An app designed to help students track their attendance in different courses and figure out how many leaves they can sustain before their percentage falls below the threshold

License

Notifications You must be signed in to change notification settings

Bunk-Mate/Backend

Repository files navigation

Bunk Mate - (Backend)

This repository contains the source code and documentation for the attendence tracker backend

Tech Stack

  • 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.

Getting Started

To get started with the Bunk Mate backend, follow these steps:

  1. Clone the repository:

    git clone https://github.com/Bunk-Mate/backend
  2. Install dependencies:

    pip install -r requirements.txt
  3. Create a .creds file following this template:

    DBNAME=
    DBHOST=
    DBUSER=
    DBPASS=
    CACHELOCATION=
    BROKERLOCATION=
    SECRET_KEY=
    • CACHELOCATION and BROKERLOCATION 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.
  4. Set up the database:

    python manage.py migrate
  5. Run the development server:

    python manage.py runserver

The backend server will be up and running at http://localhost:8000/.

Roadmap

  • Implement better authentication
  • Set up sentry
  • Refactor codebase
  • Set up logging and remove print statements
  • Implement ranked bunking
  • Test out timetable autodetection from images

License

This project is licensed under the MIT License.


About

An app designed to help students track their attendance in different courses and figure out how many leaves they can sustain before their percentage falls below the threshold

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages