Arquitectura Limpia (Clean Architecture)
Nuestro mayor enemigo es el código espagueti (base de datos mezclada con la interfaz). Para evitarlo, separamos el proyecto en capas.
La regla de las capas
Sección titulada «La regla de las capas»Imagina el proyecto como una cebolla. Las capas externas no pueden afectar a las internas.
Capa de Presentación (UI)
Sección titulada «Capa de Presentación (UI)»Archivos .tsx. Su único trabajo es mostrar datos y capturar clics. No saben que existe una base de datos.
Capa de Lógica de Negocio (Servicios / Casos de uso)
Sección titulada «Capa de Lógica de Negocio (Servicios / Casos de uso)»Archivos .ts. Aquí ocurren los cálculos (validar contraseñas, calcular totales, etc.).
Capa de Datos (Repositorios)
Sección titulada «Capa de Datos (Repositorios)»Aquí vive Prisma. Su único trabajo es ir a la base de datos y devolver información.
Ejemplo visual
Sección titulada «Ejemplo visual»┌──────────────────────────┐│ UI (componentes .tsx) │ ← Solo renderiza├──────────────────────────┤│ Servicios / Casos de │ ← Lógica pura│ uso (.ts) │├──────────────────────────┤│ Repositorios (Prisma) │ ← Solo datos└──────────────────────────┘Cada capa se comunica con la siguiente a través de interfaces, nunca importando directamente.