heavyweight

Heavyweight

A Flask starter application with Auth, logging, db and CI/CD covered.

The stack

The following libraries will be used for building the application.

Application structure

heavyweight
│
│  flask/
│  │
│  │ app/
│  │ │ auth/
│  │ │ status/
│  │ │ ...
│  │ │ ...
│  │ └───────
│  │ config/
│  │ │ local
│  │ │ prod
│  │ │ ...
│  │ └───────
│  │ migrations/
│  │ tests/
│  │ │ unit/
│  │ │ integration/
│  │ │ ...
│  │ └───────
│  │ requirements.txt
│  │ Dockerfile
│  │ entrypoint.sh
│  │ setup.cfg
│  └────────────────────────
│  nginx/
│  Postgresql/
│  entrypoint.sh
│  requirements.txt
│  docker-compose.yml
└────────────────────────

Development setup

  1. System requirements

    • Docker desktop
    • Python 3.8
  2. Install required packages

  # create virtual env
  cd flask/
  python3 -m venv env

  # Activate the environment
  source ./env/bin/activate

  # Install packages
  pip3 install -r requirements.txt

TODO

  1. Modularize various components
  2. Auth, Logging and DB should be configured