Resumen de arquitectura
Plataforma Micro Frontends -- React + TypeScript, Module Federation v2, Cloudflare Workers
Tabla de contenidos
- Diagrama de arquitectura del sistema
- Stack tecnologico
- Flujo de datos
- Mapa de repositorios
- Modelo de propiedad por equipos
- Documentos relacionados
Diagrama de arquitectura del sistema
Stack tecnologico
| Capa | Tecnologia | Version | Proposito |
|---|---|---|---|
| Frontend Framework | React + TypeScript | ^19.2.4 / ^5.9.3 | Renderizado de UI, solo CSR |
| Composicion MFE | Module Federation v2 (@module-federation/enhanced) | ^2.0.1 | Carga de remotes en runtime |
| Bundler | Rsbuild (@rsbuild/core) / Rspack | ^1.7.3 | Builds rapidos con soporte nativo de MF v2 |
| Design System | Personalizado (npm + MF remote) + Storybook | ^10.2.10 (Storybook) | Biblioteca de componentes UI compartidos |
| Estilos | CSS Modules / Tailwind CSS | -- | Estilos aislados por MFE |
| Routing | react-router (consolidado desde react-router-dom) | ^7.13.1 | Routing del lado del cliente |
| Gestion de estado | zustand | ^5.0.11 | Stores ligeros por MFE |
| Validacion | zod | ^4.3.6 | Validacion de schemas en runtime |
| Manejo de JWT | jose | ^6.1.3 | Firma/verificacion de tokens en Workers |
| Package Manager | pnpm | 10.30.3 | Content-addressable store, dependencias estrictas |
| Herramienta de monorepo | Turborepo (turbo) | ^2.8.10 | Orquestacion de tareas, remote caching |
| Linting | ESLint (solo flat config) | ^10.0.2 | Analisis estatico |
| Testing | Vitest | ^4.0.18 | Tests unitarios / de integracion |
| Runtime | Node.js | 22 (Maintenance LTS), 24 (Active LTS) -- Node 20 EOL abril 2026 | Runtime para build y CI |
| Edge Runtime | Cloudflare Workers (Wrangler v4) | -- | API gateway, BFFs, Workers Static Assets (Pages deprecado abr 2025) |
| Object Storage | Cloudflare R2 | -- | Almacenamiento versionado de bundles MFE |
| KV Store | Cloudflare KV | -- | Configuracion de versiones (lecturas rapidas en el edge) |
| Base de datos SQL | Cloudflare D1 (GA desde abril 2024) | -- | Audit trail, historial de versiones |
| Tiempo real | Durable Objects (Hibernatable WebSockets) | -- | Coordinacion WebSocket; tiempo de CPU de Workers configurable hasta 5 min |
| Compatibility Date | Cloudflare Workers | 2026-02-25 | Fecha de compatibilidad base para todos los Workers |
| Autenticacion | WorkOS AuthKit | -- | OAuth, SSO empresarial, RBAC |
| CI/CD | GitHub Actions | -- | Pipelines de build, test y deploy |
| Versionado | Changesets | -- | Versionado semantico independiente |
| Actualizaciones cross-repo | Renovate | -- | Actualizaciones automaticas de dependencias |
| Desarrollo local (cross-repo) | yalc + Verdaccio | -- | Enlace local de paquetes y registro |
Flujo de datos
Secuencia de carga de pagina
Flujo de peticiones API
Flujo en tiempo real
Mapa de repositorios
Modelo de propiedad por equipos
| Equipo | Responsable de | Repos | Responsabilidades |
|---|---|---|---|
| Platform | Shell App, API Gateway, Version Service, CI/CD, Design System | shell-app, api-gateway, version-service, platform-core | Infraestructura, tooling compartido, onboarding de MFEs, coordinacion de releases |
| Team Alpha | Dashboard MFE, Dashboard BFF | mfe-dashboard, BFF en bff-workers | Funcionalidades del dashboard, visualizacion de datos |
| Team Beta | Settings MFE, Settings BFF | mfe-settings, BFF en bff-workers | Configuracion de usuario/organizacion, preferencias |
| Team Gamma | Analytics MFE, Analytics BFF | mfe-analytics, BFF en bff-workers | Reporting, graficos, exportacion de datos |
| Team Delta | Messaging MFE, Real-time Service | mfe-messaging, realtime-service | Chat, notificaciones, funcionalidades WebSocket |
Principios de propiedad
- Propiedad vertical: Cada equipo es dueno de su MFE de extremo a extremo (UI → BFF → datos).
- Las libs compartidas pertenecen al equipo Platform: El monorepo lo mantiene el equipo Platform, con contribuciones de todos los equipos via PRs.
- Despliegues autonomos: Cada MFE puede desplegarse de forma independiente sin coordinar con otros equipos.
- Integracion basada en contratos: Los equipos acuerdan contratos de eventos (CustomEvents) y schemas de API, no detalles de implementacion.
- Gobernanza del design system: El equipo Platform revisa y fusiona los cambios del design system; los equipos de funcionalidad proponen via PR.
Decisiones arquitectonicas clave
| Decision | Eleccion | ADR |
|---|---|---|
| Composicion MFE | Module Federation v2 | ADR-001 |
| Plataforma edge | Cloudflare Workers | ADR-002 |
| Estrategia de repositorios | Hibrida mono + poly | ADR-003 |
| Package manager | pnpm | ADR-004 |
| Autenticacion | WorkOS AuthKit | ADR-005 |
| Orquestacion de monorepo | Turborepo | ADR-006 |
| Comunicacion inter-MFE | Browser CustomEvents | ADR-007 |
| Bundler | Rsbuild / Rspack | ADR-008 |
Documentos relacionados
| Documento | Descripcion |
|---|---|
| Module Federation | Configuracion de MF v2, deps compartidas, remotes dinamicos |
| Infraestructura Cloudflare | Workers, R2, KV, D1, service bindings |
| Design System | Distribucion dual, theming, Storybook |
| Desarrollo local | Flujo de trabajo de desarrollo, yalc, Verdaccio, Miniflare |
| Estrategia de repositorios | Estructura monorepo/polyrepo, Turborepo, pnpm |
| Comunicacion en tiempo real | Durable Objects, WebSockets, hibernacion |
| Gestion de versiones | UI de admin, pinning de versiones, rollback |
| Autenticacion | WorkOS, validacion JWT, gestion de sesiones |
| CI/CD y despliegue | GitHub Actions, Changesets, entornos de preview |
| Comunicacion inter-MFE | CustomEvents, payloads tipados, patrones |