Simple CRUD application built with FastAPI. Also it uses:
- PostgreSQL as storage
- Alembic for migrations
- SQLAlchemy as ORM
- Poetry as a dependency manager
- Docker compose for building
- Black, pylint and mypy for formatting and linting
- PyTest for testing
- Gihub Actions for CI
echo DB_PASSWORD=supersecurepassword > .env
docker-compose up --build
Tests divided on unit (mocks DAL) and integration (uses real database)
- Run unit tests:
pytest
- Run integration tests:
echo DB_PASSWORD=supersecurepassword > .env
docker-compose run web bash -c "alembic upgrade head && pytest app --integration"