DevPath · Aprenda a programar ESPTEN

Capstone: do código à produção

Da ideia à produção: a jornada completa

Um app não está pronto quando funciona na sua máquina

Ao longo da trilha você construiu as peças separadamente: o frontend que consome a API, o backend que a serve, a autenticação, os testes, a CI e o deploy. O capstone as conecta em um único pipeline: o caminho que o seu código percorre desde o momento em que você escreve a primeira linha até que um usuário real o utilize.

 IDEIA
  │
  ├─▶ CONSTRUIR     frontend (React + fetch) + backend (API REST + dados)
  │
  ├─▶ TESTAR        testes unitários e de integração (verde antes de avançar)
  │
  ├─▶ EMPACOTAR     contêiner (Docker): o app + seu ambiente, idêntico em todo lugar
  │
  ├─▶ AUTOMATIZAR   CI: a cada push, instalar → testar → construir a imagem
  │
  ├─▶ FAZER DEPLOY  CD: se a CI estiver verde, publicar a nova versão
  │
  ├─▶ OBSERVAR      logs, métricas, health check e alertas (ainda está viva?)
  │
  └─▶ PROTEGER      HTTPS, segredos fora do repo, validação de entrada, auth

Cada etapa é um portão

O que importa não é que as etapas existam, mas que cada uma é um portão: você não avança até que a anterior esteja verde. Se os testes falham, a CI corta e nada é implantado. Se o contêiner não sobe, ele nunca chega à produção. Essa cadeia de portões é o que transforma "funciona na minha máquina" em "funciona em produção, e eu sei disso".

Construir: frontend e backend que respeitam um contrato

O frontend pede dados com fetch e os renderiza; o backend valida a entrada, autentica e responde com o código de status correto (201 ao criar, 400 se a entrada é inválida, 401 se falta a autenticação). Ambos respeitam o mesmo contrato: as mesmas rotas e o mesmo formato dos dados.

Empacotar: o contêiner

Um contêiner (Docker) empacota o seu app junto com o seu ambiente (versão do Node, dependências, variáveis). Assim, a imagem que passa nos testes na CI é exatamente a que roda em produção: acabou o "na minha máquina funciona".

Automatizar: a CI como rede de segurança

A CI executa, a cada mudança, a mesma sequência: instalar dependências → rodar os testes → construir a imagem. É um pipeline de passos onde, se um falha, os seguintes não são executados. No capstone, você modelará esse pipeline com uma função executarPipeline(passos).

Observar: saber que ainda está viva

Uma vez em produção, você precisa de olhos: um health check (/health) que responde "estou viva", logs do que acontece, métricas e alertas que te avisam antes que o usuário note o problema. Fazer deploy sem observar é voar às cegas.

Coloque isto em prática

O DevPath é um curso prático: aqui você lê a teoria; no app você a coloca em prática com exercícios que rodam de verdade, offline.

Comece grátis no app →
O checklist "production-ready" →