/yawm

Main repo for wishlist web-app

Primary LanguagePythonMIT LicenseMIT

Yet another wishlist maker - YAWM

FastAPI pre-commit Code style: black codecov CodeQL

Git branches

main - production branch
fix/bug-name - production bug fixes
release/fastapi-*.*.* - ongoing release
feature/feature-name - feature branch for ongoing release

Project directory structure

backend

├── docker
├── core
│   ├── database
│   │   ├── models
│   │   └── migrations
│   ├── schemas
│   │   └── security
│   ├── services
│   ├── health
│   ├── utils
│   └── config.py
├── tests
│   ├── snapshots
│   ├── .env
│   └── conftest.py
├── api
│   ├── v1
│   │   ├── handlers
│   │   └── schemas
│   └── v2
│       ├── handlers
│       └── schemas
├── main.py
├── .env
├── alembic.ini
└── pyproject.toml

root

Project outer-startup files, such as:

  • alembic configuration
  • pytest, coverage, flake8, etc configurations (pyproject.toml)
  • uvicorn app file
  • project requirements lists

core

Core project features such as:

  • settings (config.py)
  • database migrations and models
  • services (business logic)
  • schemas (pydantic models)
  • utils (extra utils, such as fastapi-pagination custom Page)
  • health (health check endpoint)

tests

Project tests

api

Project API by versions (v1, v2 and etc.).