Skip to content

Arquitectura Lógica

Lynx se fundamenta en un modelo de monorepo unidireccional gestionado por pnpm Workspaces. Esta estructura permite una separación clara de responsabilidades y un flujo de dependencias predecible.

El ecosistema se divide en dos grandes áreas funcionales, cada una con un propósito específico dentro del ciclo de desarrollo.

Son los puntos finales de ejecución y despliegue. Cada una se encarga de una interfaz o servicio específico:

  • Next.js App: Interfaz de usuario principal y lógica de cliente.
  • NestJS API: Núcleo de servicios, procesos de backend y persistencia.
  • Astro Docs: Infraestructura de contenido estático y aprendizaje.

Módulos compartidos que proveen capacidades transversales a todas las aplicaciones.

PaqueteResponsabilidad Técnica
uiSistema de diseño basado en CSS Modules.
modelsDefiniciones de esquemas Zod y tipos TypeScript.
coreUtilidades agnósticas y lógica de negocio compartida.
i18nGestión centralizada de diccionarios y localización.
graph TD
    subgraph Packages
        M[models] --> UI[ui]
        M --> C[core]
        M --> D[Drizzle]
    end

    subgraph Apps
        NEXT[next] --> UI
        NEXT --> C
        NEXT --> M
        NEST[nest] --> C
        NEST --> M
    end

Para mantener la cohesión del ecosistema, Lynx impone una serie de convenciones rigurosas:

[!IMPORTANT] Prohibición de any: Todo el código debe estar estrictamente tipado. Si una estructura es desconocida, debe definirse en el paquete de modelos.

  • Estilizado: No se utilizan frameworks de utilidades (ej. Tailwind). Se prioriza el uso de SCSS y CSS puro para un control total del diseño.
  • Validación de Datos: Todas las entradas y salidas de datos deben ser validadas mediante esquemas de Zod antes de su procesamiento.

En lugar de un archivo middleware.ts tradicional de Next.js, Lynx utiliza un componente especializado llamado proxy.ts. Este componente actúa como un interceptor centralizado para:

  1. Políticas de seguridad.
  2. Gestión de sesiones.
  3. Rewriting lógico de rutas dinámicas.

Para comenzar a trabajar con el motor de documentación, consulte la guía de Astro Docs.