connfit-api — contexto
connfit-api
API REST para gestão de nutricionistas e pacientes, desenvolvida com Fastify e TypeScript.
O que faz
Plataforma backend para o sistema ConnFit, que conecta nutricionistas a seus pacientes. Gerencia autenticação, perfis, planos alimentares, agendamentos e comunicação entre os dois tipos de usuário.
Stack principal
- Runtime: Node.js com TypeScript
- Framework: Fastify v4
- Banco de dados / Auth: Supabase (PostgreSQL + Auth)
- Storage: AWS S3 (upload de arquivos)
- Email: Resend
- Documentação: Swagger + Swagger UI integrados ao Fastify
- Testes: Jest + Supertest
- Linting / Commits: ESLint, Husky, Standard Version
Estrutura relevante
src/
app.ts # entrypoint, registro de plugins e rotas
routes/ # rotas agrupadas por domínio (nutricionista, paciente, etc.)
controllers/ # lógica de cada endpoint
services/ # regras de negócio e acesso ao Supabase
schemas/ # schemas de validação e tipagem para o Fastify/Swagger
plugins/ # plugins customizados (cors, helmet, rate-limit)
Comandos comuns
npm run dev # desenvolvimento com hot reload (tsx watch)
npm run build # compila TypeScript para dist/
npm run start # executa build compilado
npm run docker:publish # publica imagem Docker
npm run version:patch # bump de versão patch com changelog
npm run version:minor # bump de versão minor
Segurança e infra
- Rate limiting via
@fastify/rate-limit - Headers de segurança via
@fastify/helmet - CORS configurado via
@fastify/cors - Variáveis sensíveis via
dotenv
Observacoes notaveis
- Versionamento semântico automatizado com
standard-versione geração de CHANGELOG - Hooks de pre-commit via Husky garantem qualidade antes do push
- Swagger exposto como interface de documentação interativa
- Supabase centraliza autenticação e banco, reduzindo infraestrutura própria
- Versão atual:
2.2.9