API REST desenvolvida com FastAPI para gerenciamento de usuários, utilizando arquitetura em camadas e banco de dados MySQL com SQLAlchemy.
- Python 3.10
- FastAPI
- SQLAlchemy (ORM)
- MySQL
- PyMySQL
- Docker
- Docker Compose
O projeto foi estruturado seguindo boas práticas de separação de responsabilidades:
- routes/ → Camada de endpoints (HTTP)
- services/ → Regras de negócio
- repositories/ → Acesso ao banco de dados
- schemas/ → Modelos Pydantic (validação de dados)
- models/ → Modelos SQLAlchemy (entidades do banco)
- database/ → Configuração da conexão com o banco
Essa separação facilita manutenção, testes e escalabilidade.
- Criar usuário
- Validação de dados com Pydantic
- Persistência em banco MySQL
- Tratamento de erros de integridade (ex: email duplicado)
Para subir o projeto:
docker compose up --build