Principios Básicos
Este monorepo sigue una arquitectura limpia y escalable diseñada para el desarrollo server-first utilizando Next.js App Router, TypeScript, XState y Yup. Establece estándares para:- Separación de Responsabilidades: Delimitando claramente las responsabilidades entre capas (UI, Actions, Machines, Services) siguiendo los principios de la Arquitectura en Capas.
- Soporte para Microfrontends: Permitiendo el desarrollo y despliegue independiente de aplicaciones de dominio de negocio distintas utilizando un enfoque de Arquitectura de Microfrontends.
- Reutilización de código: Maximizando el intercambio de código entre aplicaciones mediante paquetes centralizados.
- Orquestación del estado del servidor: Utilizando máquinas de estado XState tipadas (Patrón State) para gestionar procesos de negocio complejos del lado del servidor, orquestando llamadas a la Capa de Servicios.
- Capa de Servicios Estructurada: Empleando una estructura orientada al dominio (Patrón Strategy, Factory Method/Service Locator) para definir abstracciones de servicio (interfaces, DTOs de métodos) separadamente de las implementaciones concretas, invocadas por las máquinas de estado.
Estructura del Monorepo
El proyecto está organizado enapps (unidades desplegables/microfrontends) y packages (código compartido).
Estructura Raíz del Proyecto
mappnext/ds-tw, instalada como una dependencia.
Comandos y Configuración
Comandos estándar ejecutados desde la raíz del monorepo:Comandos Comunes de Desarrollo