Scaffolder Fastapi + DDD é uma ferramenta de scaffolding que gera automaticamente um projeto FastAPI estruturado em DDD (Domain-Driven Design) e Arquitetura Hexagonal.
Ele cria toda a base do projeto (domain, application, infrastructure, API, testes, scripts, Docker, Alembic, etc.) a partir de templates prontos, permitindo subir rapidamente novos bounded contexts em repositórios separados.
- Geração automática de estrutura DDD/Hexagonal
- Suporte a múltiplos bounded contexts
- Configuração pronta para FastAPI + SQLAlchemy 2.x + Alembic
- Criação opcional de venv + instalação de libs mais recentes
- Scripts utilitários para desenvolvimento (
dev.sh,migrate.sh,wait-for-db.sh) - Suporte a Docker/Docker Compose
- Inclui ferramentas de qualidade: pytest, ruff, mypy, pre-commit
Antes de começar, certifique-se de ter instalado:
- Python 3.11+
- Git
- Docker e Docker Compose (opcional, para rodar via containers)
Clone o repositório e rode o scaffolder:
git clone https://github.com/IMNascimento/scaffolder-DDD.git
cd scaffolder-DDDPara criar um novo projeto:
python foundry.py meu-servico --context customerCom ambiente virtual automático e dependências instaladas:
python foundry.py meu-servico --context customer --venvEntre no diretório do serviço gerado e inicialize:
cd meu-servico
cp .env.example .env
./scripts/dev.shA API estará disponível em:
👉 http://localhost:8000/docs
Criar projeto orium-customer com bounded context customer:
python foundry.py orium-customer --context customerCriar projeto orium-order com bounded context order:
python foundry.py orium-order --context orderGerar projeto já com virtualenv e dependências:
python foundry.py payments-service --context payment --venvContribuições são bem-vindas!
Abra uma issue ou envie um pull request seguindo as boas práticas do repositório.
Distribuído sob a licença MIT.
Consulte o arquivo LICENSE para mais informações.
- Igor Nascimento – Desenvolvedor Principal – GitHub
- FastAPI
- SQLAlchemy
- Alembic
- Comunidade DDD & Python por inspiração
