Angular 21 de Cero a Experto / Proyecto final
Arquitectura del tablero: planear antes que codear
Llegaste al proyecto final: un TABLERO COLABORATIVO en tiempo real, donde varios usuarios organizan gastos por columnas (pendiente → aprobado → pagado) y ven los cambios de los demás al instante. Antes de escribir una línea, vas a DISEÑARLO —porque un buen plan evita reescribir—. Hoy aplicas el método de las cinco preguntas que aprendiste en JavaScript (SC-02) y reusaste en React, ahora para arquitecturar una app Angular completa.
Medir dos veces, cortar una
Las cinco preguntas
Clasificar el estado
El paso más importante en una app de tiempo real: distinguir de dónde viene cada dato.
El vocabulario de eventos
En tiempo real, defines un "idioma" de eventos con nombre —el protocolo entre clientes—:
// eventos que EMITE el cliente (acciones del usuario)
'gasto:crear' → { nombre, valor, categoria }
'gasto:mover' → { id, aEstado } // arrastrar a otra columna
'gasto:borrar' → { id }
// eventos que RECIBE el cliente (del servidor, difundidos a todos)
'gasto:creado' → Gasto // alguien creó uno (yo u otro)
'gasto:movido' → { id, aEstado }
'gasto:borrado' → { id }
'presencia' → { usuarios: string[] } // quién está conectado ahoraFíjate en el patrón: el cliente EMITE una intención (gasto:crear) y el servidor difunde el
HECHO a todos (gasto:creado), incluido quien lo originó. Así todos convergen a la misma verdad
—es lo que viste en el reto colaborativo del módulo 9—.
La estructura por features
Aplicando el módulo 8, el tablero se organiza así:
features/
auth/
login.component.ts // el login-gate
auth.store.ts // usuario actual, token
auth.guard.ts // protege el tablero
tablero/
tablero.component.ts // la vista principal (columnas)
columna.component.ts // una columna
tarjeta-gasto.component.ts // una tarjeta
tablero.store.ts // estado compartido (gastos, presencia)
socket.service.ts // conexión de tiempo real
core/
interceptores, config
shared/
componentes reutilizablesEn el tablero colaborativo, ¿dónde clasificarías 'qué gasto estás arrastrando ahora mismo'?
Mini-reto
Diseña el tablero en papel con las cinco preguntas: 1) lista sus vistas; 2) define la fuente de
verdad (¿cuál es el estado mínimo?); 3) enumera las operaciones; 4) di qué se deriva con
computed (columnas, totales); 5) lista los eventos locales y los del socket. Marca cada pieza
de estado como local, compartida o derivada. Ese plano es tu guía para el proyecto.
Qué sigue
Tienes el plano. Ahora lo construyes: el proyecto capstone, un tablero colaborativo en tiempo real completo —login-gate, columnas, sincronización por socket, presencia y actualizaciones optimistas—, con el motor corriendo en vivo. La pieza que corona todo el curso.