Um projeto base minimalista usando FastAPI, SQLAlchemy, Alembic e Poetry, com foco em organização, cobertura de testes e boas práticas.
⚡ Desenvolvido com Python
3.13.5e gerenciado comPoetry.
fastAPI_zero/
├── alembic.ini # Configuração do Alembic para migrations
├── database.db # Banco de dados SQLite local (ignorar em produção)
├── fastapi_zero/ # Código principal da aplicação
│ ├── app.py # Instância da aplicação FastAPI e rotas
│ ├── database.py # Sessão e engine do SQLAlchemy
│ ├── models.py # Modelos ORM
│ ├── schemas.py # Schemas Pydantic
│ └── settings.py # Configurações da aplicação
├── htmlcov/ # Relatórios de cobertura de testes (gerado pelo coverage)
├── migrations/ # Diretório de migrations do Alembic
│ └── versions/ # Versões das migrations
├── poetry.lock # Lockfile do Poetry
├── pyproject.toml # Configuração do projeto e dependências
├── README.md # Este arquivo
└── tests/ # Testes automatizados com Pytest
├── conftest.py # Fixtures globais
├── test_app.py # Testes dos endpoints
└── test_db.py # Testes da integração com o banco
- FastAPI — Web Framework assíncrono e moderno.
- SQLAlchemy — ORM para o banco de dados.
- Alembic — Controle de versionamento do banco.
- Pydantic — Validação de dados com Python type hints.
- Poetry — Gerenciador de pacotes e ambientes virtuais.
- Pytest — Framework de testes.
- Coverage.py — Geração de relatórios de cobertura.
git clone https://github.com/eusouanderson/fastAPI_zero.git
cd fastAPI_zeropoetry installpoetry shelltask run #Inicia o servidor com fastapi dev fastapi_zero/app.py
task lint #Verifica problemas com o ruff
task pre_format #Corrige automaticamente problemas simples com ruff --fixtask format #Formata o código com ruff format
task test #Executa os testes com Pytest + Coverage
task post_test #Gera o relatório de cobertura em HTML (htmlcov/index.html)