Used clean architecture.
- Setup
- Setup on a local machine with Docker and Docker Compose
- Installing on a local machine with venv
- App testing
- Linting & Formatting
Configuration is stored in .env
, for examples see .env.examples
Create environment file .env
:
cp .env.example .env
- This project requires python3.11 and postgres.
- Install docker and docker-compose
See all commands:
make help
Up project with Docker
:
make up
See make configuration on Makefile
- Create and activate your virtual environment
- Install requirements
Install requirements:
python3 -m venv venv
source venv/bin/activate # unix system
pip install -r requirements.txt
alembic upgrade head
Development servers:
# run dev server
uvicorn src.asgi:app --reload --host 0.0.0.0 --port 8000 --log-level debug --reload
Add user with balance 100.00 to the database:
make create-user
Check documentation in swagger
Linting completed with flake8
flake8 --ignore=E501 --exclude=venv,docs .
Formatting completed with black
black exclude=venv,env,docs,migrations .