Projeto com arquitetura em camadas usando:
- FastAPI
- SQLAlchemy
- PostgreSQL
- Alembic
- Pytest
- Injeção de dependência com
Depends - Use cases separados por arquivo
app/
├── api/
│ ├── dependencies.py
│ └── user_routes.py
├── database/
│ ├── base.py
│ └── connection.py
├── models/
│ └── user.py
├── repositories/
│ └── user_repository.py
├── schemas/
│ └── user.py
├── usecases/
│ └── user/
│ ├── create_user_usecase.py
│ ├── list_user_usecase.py
│ ├── get_user_by_id_usecase.py
│ ├── update_user_usecase.py
│ └── delete_user_usecase.py
├── exceptions.py
└── main.py
- Crie e ative a venv
- Instale as dependências
- Configure
.enva partir de.env.example - Rode as migrations do Alembic
- Suba a API
pip install -r requirements.txt
uvicorn app.main:app --reloadpython -m pytest -v