API do Mandacá — backend responsável pelo gerenciamento dos dados e regras do projeto.
Este repositório contém a API do Mandacá: endpoints REST/HTTP para autenticação, CRUD de recursos do sistema, integrações e lógica de negócio. É pensado para ser leve, testável e fácil de evoluir.
- Linguagem: Python
- Framework da API: FastAPI
- Banco de dados: usamos Supabase (Postgres gerenciado)
- Orquestração e outras dependências: arquivos de configuração
- Endpoints organizados por módulos (auth, users, items, etc.)
- Validação automática de dados
- Documentação automática (OpenAPI / Swagger) via FastAPI
- Migrações de banco
- Testes unitários e de integração
- Python 3.10+ instalado
- pip e venv (ou alternativa) configurados
- Conta/configuração do banco
-
Clone o repositório
git clone <repo-url> && cd mandaca-backend -
Crie e ative um ambiente virtual Linux / macOS:
python -m venv .venv && source .venv/bin/activateWindows (PowerShell):python -m venv .venv; .\.venv\Scripts\Activate.ps1 -
Instale dependências
pip install -r requirements.txt -
Copiar e preencher as variáveis de ambiente
cp .env.example .envUseAPP_DEBUG=trueouAPP_DEBUG=falseno.env. -
Subir o banco de dados
docker compose up db -d -
Aplicar as migrations
alembic upgrade head -
Iniciar a API
uvicorn app.main:app --reload
- Separe responsabilidades por módulos (routers, services, repositories)
- Use Pydantic para validação e esquemas de resposta
- Não exponha chaves sensíveis no repositório; utilize variáveis de ambiente ou um vault
- Proteja endpoints com autenticação e controle de acesso
- Abra uma issue descrevendo a mudança.
- Crie uma branch com
feature/oufix/. - Abra o PR com descrição clara e referência à issue.
- Adicione testes para novas funcionalidades / correções.