🏗️ Documentación Técnica y Arquitectura del Proyecto

Arquitectura del Sistema (Backend)

Este documento es la referencia oficial (“Biblia”) de la arquitectura técnica, decisiones de diseño estructurales y convenciones del sistema backend del proyecto.

1. Visión General y Stack Tecnológico

El propósito global del backend es proveer una API RESTful robusta, predecible y altamente mantenible para la gestión académica e institucional (sistema de módulos para estudiantes, registros de asistencia, usuarios, etc.). Está diseñado para soportar procesos críticos empresariales a través de reglas de auto-sanación, consistencia estricta en base de datos y un empaquetado seguro.

Stack Tecnológico


2. Patrón Arquitectónico: Clean Architecture

El proyecto no acopla la lógica de negocio al Framework ni a la Base de Datos. Implementamos estricta y rígidamente el modelo de Clean Architecture (Arquitectura Limpia). Las dependencias siempre apuntan hacia adentro, aislando el dominio de los detalles de implementación mediante Inversión de Dependencias (Interfaces).

Cada sub-módulo dentro del sistema respeta 4 capas fundamentales:

A. Capa de Dominio (domain/)

Es el corazón del software. No tiene dependencias externas (ni de Express, ni Sequelize).

B. Capa de Aplicación (application/)

Orquesta el flujo del software.

C. Capa de Presentación (presentation/)