🏗️ Arquitectura y Modelado del Sistema
La arquitectura de software determina la organización de componentes, interfaces y tecnologías elegidas para el proyecto.
🏛️ Patrones Arquitectónicos Habituales
flowchart TD
subgraph Frontend["Frontend SPA / Mobile"]
UI["React / Vue / Flutter"]
end
subgraph Gateway["API Gateway / Reverse Proxy"]
NGINX["Nginx / Traefik (SSL & Auth)"]
end
subgraph Backend["Capa de Servicios"]
API["FastAPI / Node.js / Spring"]
end
subgraph Datos["Capa de Persistencia"]
DB[(PostgreSQL)]
Cache[(Redis Cache)]
end
UI --> NGINX
NGINX --> API
API --> DB
API --> Cache
🗄️ Modelado de Datos (Diagrama Entidad-Relación)
Reglas de diseño para la base de datos:
- Aplicar las tres primeras formas normales (1FN, 2FN, 3FN) para evitar redundancias e inconsistencias.
- Definir claves primarias (PK) e índices sobre campos con búsquedas frecuentes.
- Establecer restricciones de integridad referencial (ON DELETE CASCADE o RESTRICT).