Formação Dev — Rafael Camargo

17 Regras para construir com clareza

Como eu penso, onde trabalho, o que uso e como conecto.
Tudo é bloco. Em toda camada. Em toda escala.

0
Categorias
0
Regras
0
Princípios
0
Etapas do Ciclo
Role para explorar
01 — 03
Filosofia
Como eu penso e organizo
Regra 01 — Rafoso Mode
Princípios Fundamentais
A base de tudo. Cada decisão de código, estrutura ou deploy começa aqui.
01Blocos, não monolitos
02Começo, meio e fim
03Validar antes de empilhar
04Substituível por design
05Simples até provar complexidade
06IA executa, humano arquiteta
07Componentização em toda camada
08Estrutura de pastas padronizada
"Sistemas confiáveis são feitos de blocos confiáveis. Não existe atalho."
Validar (princípio 3) significa concretamente:
Smoke test: curl /health → 200 Contrato: endpoint recebe X, devolve Y Integração: service A conversa com B ≥ 1 validação por bloco
Regra 02
Estrutura de Pastas
Blocos materializados em diretórios. 1 pasta por responsabilidade, nada misturado.
# Todo projeto começa por:
docs/
├─ requisitos.md ← o que construir
├─ decisoes/ ← ADRs
└─ arquitetura.md ← diagrama C4
 
# Backend (FastAPI):
api/app/
├─ core/ ← auth, cache
└─ modules/ ← 1 pasta/entidade
 
# Frontend (Next.js):
app/ components/ hooks/ lib/
docs/ primeiro Editor depois
Regra 03
Versionamento, Backups e Segurança
3 tipos de conteúdo, 3 estratégias distintas. Nunca misturar.
O queOndeGit?
CódigoGitHub✓ Sim
Dadosdata/ + pg_dump✗ Nunca
Credenciais.env + Syncthing✗ Nunca
🔒 .env nunca no Git
🔐 HTTPS sempre — Traefik gera SSL automático
🗄️ 1 banco por service — dados isolados
04
Operação
De onde trabalho
Regra 04
Interface de Desenvolvimento
O servidor não sabe de onde você opera. A estrutura funciona igual em qualquer contexto.
📦
Notebook + VS Code + Claude Code
Padrão do dia a dia
📱
Celular + Termux + SSH
Emergência, mobilidade
🌐
Qualquer PC + browser + SSH
Fora de casa
⌨️
Terminal puro (bash)
Sempre funciona
05 — 10
Infraestrutura
Onde o código roda
Regra 05
Hardware
Cada ambiente tem sua função. Não misturar dev com produção.
Produção
VPS alugada — Hostinger, Hetzner, Oracle
Mínimo: 2 vCPU · 4 GB RAM · 40 GB
Dev / IA Local
Notebook com GPU RTX 4060 para Ollama
Regra 06
Sistema Operacional
Linux. Sempre. Cada contexto tem seu SO ideal.
Padrão
Ubuntu
Alternativa
Debian
Containers
Alpine
Notebook
Pop!_OS
Regra 07
Containerização
Tudo containerizado. Cada service isolado — seu filesystem, suas dependências, suas portas.
docker
$ docker compose up -d
✓ Container app_1 started
✓ Container db_1 started
$ curl localhost:8000/health
{"status": "ok"}
Mata um Sobe outro Mesma porta
Regra 08
Gerenciamento de Containers e Ambientes
3 ambientes, 3 compose files, 3 .env. Estrutura padronizada em todo projeto.
/opt/services/{service}/
├─ docker-compose.yml ← prod
├─ docker-compose.dev.yml
├─ docker-compose.test.yml
├─ .env / .env.dev / .env.test
└─ data/
DEV
Hot reload · Dados falsos · Notebook
TESTE
Banco limpo · Valida contratos
PRODUÇÃO
VPS · Traefik · Dados reais
Observabilidade após deploy:
/health → 200 docker logs Monitoramento periódico Runbook em docs/
Regra 09
Proxy — Traefik
Detecta containers via labels. SSL automático. Zero intervenção manual. 1 Traefik para toda VPS.
labels: - "traefik.http.routers.app.rule= Host(`meu.dominio.com`)" - "traefik.http.services.app .loadbalancer.server.port=3000"
Alt: Nginx Proxy Manager Caddy HAProxy
Regra 10
DNS — Cloudflare
Domínio → Nameservers Cloudflare → gerencia tudo lá. Plano free.
🌐
DNS
+
CDN
+
🛡️
DDoS
+
🔒
SSL
Plano free
11 — 16
Aplicação
Com o que construo
Regra 11
Banco de Dados
Cada service tem seu próprio banco. Containerizado. Isolado.
OpçãoQuando usar
PocketBase ⭐MVP, simples — API+Auth+Painel pronto
PostgreSQLQuando PocketBase doer. Escala.
RedisCache em memória (<1ms)
Regra 12
Backend — FastAPI
PocketBase é o padrão — CRUD + Auth + API prontos. FastAPI entra quando precisa de lógica custom, APIs externas ou agentes.
from fastapi import FastAPI app = FastAPI() # Cada módulo = 1 entidade @app.get("/health") async def health(): return {"status": "ok"}
Regra 13
Orquestrador — LangGraph
Conecta LLM (cérebro) ao Python (corpo). Cada passo é um nó. Decisões são arestas.
Recebe
LLM analisa
Python age
LLM responde
Python envia
Regra 14
LLMs — Modelos de IA
Modelo só gera texto. As camadas em volta fazem o trabalho real.
ModeloQuando
Claude API ⭐Padrão — melhor qualidade
Gemini / GroqFallback gratuito
Ollama (local)Offline · Privacidade (Qwen 9B)
RTX 4060 Qwen 9B
Regra 15
Frontend
Next.js entrega HTML pronto. Google e IAs indexam. React SPA não.
CenárioEscolha
Estático (landing, docs)HTML + Tailwind
Dinâmico (painel, app)Next.js + Tailwind
SSR SEO Indexável por IA
Regra 16
UI/UX — shadcn/ui
Componentes prontos: shadcn/ui + Tailwind. Não reinventar visuais. Usar prontos, adaptar, entregar rápido.
🎨
shadcn/ui
Componentes prontos
💨
Tailwind
Estilo utilitário
17
Variável
O que conecta — muda por projeto
Regra 17
Integrações
Cada integração é um bloco. Entra e sai conforme necessidade. Nenhuma é obrigatória. Toda é substituível.
💬
Comunicação
Chatwoot · Evolution API · WABA · Email
🔌
APIs Externas
Base44 · Google Maps · Meta Ads
📨
Mensageria
Redis (filas) ou HTTP direto entre containers
Ciclo de Vida
Todo projeto segue esse ciclo. As regras definem COMO cada etapa é executada.
📋
Requisitos
🏗️
Design
⌨️
Código
Teste
🚀
Deploy
📡
Monitorar
📋
Requisitos
R2 docs/requisitos.md
🏗️
Design
R1 Princípios
R2 ADRs
⌨️
Código
R4 Interface
R11-16 Stack
Teste
R1 Validar
R8 Ambientes
🚀
Deploy
R7-10 Infra
R3 Versionamento
📡
Monitorar
R8 Observabilidade
R3 Backups
Mapa das 17 Regras