DevPath · Aprende a programar ESPTEN

Capstone: del código a producción

De la idea a producción: el recorrido completo

Una app no termina cuando funciona en tu máquina

A lo largo del track has construido las piezas por separado: el frontend que consume la API, el backend que la sirve, la autenticación, los tests, la CI y el despliegue. El capstone las conecta en una sola tubería: el camino que recorre tu código desde que escribes la primera línea hasta que un usuario real lo usa.

 IDEA
  │
  ├─▶ CONSTRUIR     front (React + fetch) + back (API REST + datos)
  │
  ├─▶ PROBAR        tests unitarios y de integración (verde antes de avanzar)
  │
  ├─▶ EMPAQUETAR    contenedor (Docker): la app + su entorno, idéntico en todas partes
  │
  ├─▶ AUTOMATIZAR   CI: en cada push, instalar → testear → construir la imagen
  │
  ├─▶ DESPLEGAR     CD: si la CI está verde, publicar la nueva versión
  │
  ├─▶ OBSERVAR      logs, métricas, health check y alertas (¿sigue viva?)
  │
  └─▶ ASEGURAR      HTTPS, secretos fuera del repo, validación de entrada, auth

Cada etapa es una puerta

Lo importante no es que existan las etapas, sino que cada una es una puerta: no avanzas hasta que la anterior está verde. Si los tests fallan, la CI corta y nada se despliega. Si el contenedor no arranca, no llega a producción. Esa cadena de puertas es lo que convierte "funciona en mi máquina" en "funciona en producción, y lo sé".

Construir: front y back que respetan un contrato

El frontend pide datos con fetch y los pinta; el backend valida la entrada, autentica y responde con el código de estado correcto (201 al crear, 400 si la entrada es inválida, 401 si falta autenticación). Ambos respetan el mismo contrato: las mismas rutas y la misma forma de los datos.

Empaquetar: el contenedor

Un contenedor (Docker) empaqueta tu app junto con su entorno (versión de Node, dependencias, variables). Así la imagen que pasa los tests en la CI es exactamente la que corre en producción: se acaba el "en mi máquina funciona".

Automatizar: la CI como red de seguridad

La CI ejecuta, en cada cambio, la misma secuencia: instalar dependencias → correr los tests → construir la imagen. Es una tubería de pasos donde, si uno falla, los siguientes no se ejecutan. En el capstone modelarás esa tubería con una función ejecutarPipeline(pasos).

Observar: saber que sigue viva

Una vez en producción, necesitas ojos: un health check (/health) que responde "estoy viva", logs de lo que pasa, métricas y alertas que te avisan antes de que el usuario note el problema. Desplegar sin observar es volar a ciegas.

Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
El checklist "production-ready" →