Skip to content

UTA-WESOME/uta-gms-backend

Repository files navigation

uta-gms-backend

The uta-gms-backend is an application designed to manage user data, use the uta-gms-engine package to obtain results for the UTA-GMS method, and provide data to the uta-gms-frontend. It is written entirely in Python 3.10 using the Django framework 4.2.3 and Celery 5.4.6. The app needs PostgreSQL 15 and Redis 7 configured to work properly. The default environment for running the application is Docker containers. The application allows connecting through a REST API, enabling users to manage their projects. Additionally, users can run the UTA-GMS method for their data using the uta-gms-engine library inside the uta-gms-backend app via Celery. Authentication and authorization are handled using JSON Web Tokens.

How to run? 🚀

The preferred way to run the app is by using Docker Compose. You can configure and run it in other ways (e.g. locally), however it is not advised for development. You can also pull Docker images from DockerHub.

Docker compose

  1. Prepare a .env file inside the utagms directory. Example:
DEBUG=True
SECRET_KEY='some_secret'
ALLOWED_HOSTS=*
DATABASE_URL=postgres://postgres:postgres@uta-gms-postgres:5432/postgres

POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=postgres

CELERY_BROKER=redis://uta-gms-redis:6379/0
CELERY_CACHE=django-cache
CELERY_BACKEND=django-db
  1. Run with Docker Compose:
docker compose up

Images on DockerHub

  1. Django
  2. Celery

Technologies used 🔨

Database Schema 🗺️

database schema