Express + TypeScript + Sequelize
Objetivo del curso. Construir un backend real —proyecto
app-storelab-express-ii— con Express 5 + TypeScript + Sequelize, arquitectura por features y un recorrido de petición que no se salta ninguna capa:
HTTP → Controller → Service → Repository → Model → Sequelize → BD
El curso avanza por bloques encadenados (ISS-X). Cada bloque se estudia en dos capas y se cierra con una compuerta (GATE): solo entonces se abre el siguiente.
ISS-X
│
┌──────────┴──────────┐
▼ ▼
🧠 APRENDER 🛠 CONSTRUIR
comprender ejecutar
explicar programar
relacionar verificar
└──────────┬──────────┘
▼
GATE
│
▼
ISS-X+1
Cómo está organizada cada unidad
| Capa | Qué es | Página |
|---|---|---|
| 🧠 Aprender | El cuaderno pedagógico: el por qué — explicaciones, código comentado, mapas, anatomía, flujos, diagnóstico, evaluación y GATE. | aprendizaje/<ID>-aprendizaje.md |
| 🛠 Construir | El ISS técnico: la guía ejecutable — comandos, rutas, versiones, PARCHEs, verificaciones y criterios de aceptación. | manual/<NN>-….md |
| ✅ GATE | La condición de cierre de la unidad, definida por el propio ISS técnico. | al final de Construir |
Autoridad del contenido. El ISS técnico es la fuente autoritativa y de solo lectura. Las páginas de Aprender y Construir se publican íntegras y verbatim, por inclusión de snippets (
--8<--) desdematerial/express/iss/: el contenido existe una sola vez en el repositorio, no se resume ni se reescribe, y corregirlo en su origen actualiza el sitio.
Ruta de las unidades
Los dos cierres aparecen en su posición real dentro de la secuencia: el cierre de Fase I (Business) va al terminar el ISS-08, antes de empezar la Fase II de autenticación; el cierre de Fase II (Auth con RBAC) va al terminar el ISS-15.
| Fase | Bloque | Título | 🧠 Aprender | 🛠 Construir |
|---|---|---|---|---|
| I · Business | ISS-00 | Requisitos previos | 🧠 Aprender | 🛠 Construir |
| I · Business | ISS-01 | Esqueleto del proyecto | 🧠 Aprender | 🛠 Construir |
| I · Business | ISS-02 | Infraestructura de base de datos | 🧠 Aprender | 🛠 Construir |
| I · Business | ISS-03 | Feature Client (CRUD por capas) | 🧠 Aprender | 🛠 Construir |
| I · Business | ISS-04 | Seeders con Faker | 🧠 Aprender | 🛠 Construir |
| I · Business | ISS-05 | Swagger / OpenAPI | 🧠 Aprender | 🛠 Construir |
| I · Business | ISS-06 | Feature ProductType | 🧠 Aprender | 🛠 Construir |
| I · Business | ISS-07 | Feature Product | 🧠 Aprender | 🛠 Construir |
| I · Business | ISS-08 | Feature Sale + ProductSale | 🧠 Aprender | 🛠 Construir |
| I · Business | CIERRE-BUSINESS | Cierre Fase I — Business (sin Auth) | 🧠 Aprender | 🛠 Construir |
| II · Auth con RBAC | ISS-09 | Auth base (seguridad y modelos) | 🧠 Aprender | 🛠 Construir |
| II · Auth con RBAC | ISS-10 | Feature Users (identidad y contraseña) | 🧠 Aprender | 🛠 Construir |
| II · Auth con RBAC | ISS-11 | Features Roles y Resources | 🧠 Aprender | 🛠 Construir |
| II · Auth con RBAC | ISS-12 | Features RoleUsers y ResourceRoles | 🧠 Aprender | 🛠 Construir |
| II · Auth con RBAC | ISS-13 | Middlewares de acceso y las 3 modalidades | 🧠 Aprender | 🛠 Construir |
| II · Auth con RBAC | ISS-14 | Feature RefreshTokens (sesiones) | 🧠 Aprender | 🛠 Construir |
| II · Auth con RBAC | ISS-15 | Feature Session (login y perfil) | 🧠 Aprender | 🛠 Construir |
| II · Auth con RBAC | CIERRE-AUTH | Cierre Fase II — Auth con RBAC (backend completo) | 🧠 Aprender | 🛠 Construir |
El GATE
Cada unidad se cierra con un GATE: la condición que el propio ISS técnico exige para dar el bloque por terminado y poder pasar al siguiente. No se añaden criterios nuevos: el GATE se deriva exclusivamente del ISS técnico de la unidad.
El GATE se comprueba en la página de Construir, al final, apoyándose en tres cosas del propio ISS:
- sus criterios de aceptación (o el DoD del laboratorio, en los cierres);
- su verificación (por ejemplo,
npx tsc --noEmiten el ISS-01); - su cierre (por ejemplo, arrancar el servidor con
npm run dev).
Anterior → Siguiente. Al pie de cada página, la navegación de la ruta recorre la unidad en el orden Aprender → Construir y continúa con el Aprender del bloque siguiente. La compuerta que hay en medio es el GATE.
Evaluación
Las secciones de evaluación presentan únicamente los interrogantes: el estudiante los resuelve por su cuenta. El sitio no despliega respuestas automáticas ni soluciones añadidas por la integración.