SPRINT IDP -- JusBrasil. Monorepo com o backend (server/) e o frontend (web/) do Normalizador.
server/ # API - FastAPI + Uvicorn (Python, dependencias via uv)
web/ # Frontend - Next.js
Backend do Normalizador JusBrasil usando FastAPI + Uvicorn, com dependencias gerenciadas por uv.
cd server
make build
make upAplique as migrations:
make migrateHealth check:
make healthComandos uteis:
make help # lista todos os comandos
make logs # acompanha logs da API
make ps # ve status dos containers
make test # roda os testes no Docker
make restart # reinicia a API
make rebuild # reconstroi e sobe do zero
make down # derruba a API
make migrate # aplica migrations pendentes
make migration MSG="add_foo" # gera nova migration
make shell-db # abre psql no bancocd server
uv sync --dev
uv run uvicorn main:app --app-dir src --reloadserver/src/
domain/ # entidades e regras de negocio
application/ # casos de uso
infrastructure/ # configuracoes e adapters externos (DB, auth, storage)
presentation/ # camada HTTP
| Modulo | Endpoints | Detalhes |
|---|---|---|
| Auth | POST /auth/{register,login,refresh,logout} |
JWT em cookies HTTP-only. Ver server/docs/auth-user-crud.md. |
| Users | GET /users/me, PATCH /users/me/password |
Requer cookie access_token valido. |
| Projects | POST/GET/PATCH/DELETE /projects |
CRUD com paginacao. Ver server/docs/CrudProjectsChangeLog.md. |
| Health | GET /health |
Status da API. |
Swagger UI em http://localhost:8000/docs.
Aplicacao Next.js bootstrapped com create-next-app.
cd web
npm run dev
# ou
yarn dev
# ou
pnpm dev
# ou
bun devAbra http://localhost:3000 para ver o resultado. A pagina pode ser editada em web/app/page.tsx e atualiza automaticamente.
Usa next/font para otimizar e carregar Geist.
cd web
make build
make upVer LICENSE.