Formação FastAPI
Do zero ao deploy em produção
Nível 1Introdução ao FastAPI
InicianteAPIs, HTTP e FastAPI
O que é uma API, verbos HTTP, status codes, instalação e primeiro endpoint
Primeiro projeto do zero
Estrutura de projeto, rotas GET/POST, testando com Swagger UI e Insomnia
CRUD com Pydantic
Schemas, validação de dados, tipagem, BaseModel, request body e responses
CRUD completo em memória
API funcional sem banco, lista em memória, validações Pydantic, erros HTTP
Persistência com SQLite
SQLAlchemy, sessões, modelos ORM, criar tabelas, conectar ao banco
CRUD com banco real
Migrar o projeto da aula 4 para SQLite, dependency injection, session no request
Autenticação com JWT
Hashing de senha, Bearer token, geração e validação de JWT, rotas protegidas
Desafio final: sistema completo
Projeto integrado com CRUD + SQLite + autenticação — revisão geral do nível
Projeto do nível 1
API de gerenciamento de tarefas pessoais
Usuário cria conta, faz login e gerencia suas próprias tasks — CRUD completo com auth, SQLite e docs automáticos via Swagger
Nível 2FastAPI em produção
IntermediárioPostgreSQL + relações
Migrar de SQLite para Postgres, relacionamentos 1:N e N:N com SQLAlchemy, joins
Modelagem relacional real
Projeto com 3+ entidades relacionadas, eager/lazy loading, respostas aninhadas
Migrações com Alembic
Versionamento de schema, autogenerate, upgrade/downgrade, workflow de migrations
Evoluindo o banco sem perder dados
Alterar colunas, adicionar tabelas, rollback, boas práticas de migrations em equipe
Docker e variáveis de ambiente
Dockerfile, docker-compose com Postgres, .env, separar ambientes dev/prod
Containerizando a API
Subir API + Postgres via compose, rodar migrations no start, testar container local
Testes com Pytest
TestClient, fixtures, banco de teste isolado, testar rotas autenticadas, cobertura
Desafio final: API containerizada
Projeto rodando em Docker, com Postgres, Alembic e suite de testes — pronto para subir
Projeto do nível 2
API de e-commerce simplificado
Produtos, categorias, pedidos e usuários com relações reais — containerizado com Docker, schema versionado com Alembic, cobertura de testes básica
Nível 3API pronta para produção
AvançadoBackground tasks e filas
BackgroundTasks, introdução ao Celery + Redis, quando usar cada abordagem
Processamento assíncrono
Envio de e-mail pós-cadastro, notificações em background, monitorar tasks com Flower
Cache, rate limiting e middleware
Redis como cache, limitar requisições por IP, middlewares customizados, logs estruturados
Protegendo e otimizando a API
Implementar cache em endpoints críticos, throttling, logs de acesso por usuário
CI/CD com GitHub Actions
Pipeline de testes automáticos, build da imagem Docker, deploy automatizado ao fazer push
Pipeline funcionando
Configurar o workflow no repositório, rodar testes no CI, deploy na Render ou Railway
Observabilidade e monitoramento
Health checks, Sentry para erros, Prometheus + Grafana, alertas em produção
Desafio final: deploy real
API em produção na nuvem — CI/CD ativo, monitoramento configurado, URL pública funcionando
Projeto do nível 3
API de agendamentos com notificações
Sistema real com filas, cache, rate limiting, pipeline de CI/CD e monitoramento em produção — o portfólio que um dev júnior precisa ter
Quem ministra
Eduardo Sávio
eduardo.savio@novasce.com