Arquitectura Lógica
This content is not available in your language yet.
El diseño del servidor está guiado por los patrones MVC modernos dictados por el sistema de Inyección de Dependencias (DI) de NestJS, favoreciendo el aislamiento y la fácil capacidad de prueba mediante módulos autónomos.
Flujo de Solicitudes
Sección titulada «Flujo de Solicitudes»graph TD
A[Solicitud HTTP] --> B(Middlewares / Guards)
B --> C(Controladores / Resolvers)
C --> D(Servicios)
D --> E(@lynx/models)
D --> F(@lynx/auth)
E --> G[(PostgreSQL DB)]
style A fill:#000000,stroke:#333,stroke-width:2px,color:#fff
Estructura de Módulos
Sección titulada «Estructura de Módulos»La distribución interna refleja los estándares convencionales del framework para facilitar la incorporación de nuevos desarrolladores:
src/: Raíz principal del código fuente.modules/: Dominios y lógicas aisladas (ej.users,products,billing). Cada carpeta en este nivel incluye su propio controlador, servicio, y módulo contenedor de NestJS.config/: Control de variables de entorno y loaders de configuración estricta.main.ts: Archivo de entrada donde se llama aNestFactory.createpara la instanciación de la aplicación.
test/: Configuración de pruebas end-to-end (E2E) con clientes de simulación (Supertest, etc.).
Creación de Nuevos Endpoints
Sección titulada «Creación de Nuevos Endpoints»Implementar un nuevo endpoint o flujo de negocio sigue un patrón predecible y estricto:
- Generación del Módulo: Idealmente utilizando el Nest CLI mediante la herramienta Turbo (ej.
pnpm --filter=@lynx/nest generate module <nombre>). - Controlador y Servicio: Crear un Controlador para interactuar con la solicitud HTTP y delegar la carga transaccional a un Servicio.
- Contratos (DTOs): En lugar de usar interfaces puras, define Data Transfer Objects implementando
zodynestjs-zodpara validación segura en el extremo. - Pruebas (Testing): Crea un archivo
.spec.tsjunto al servicio, instanciando un entorno mockeado.