🧭 Arquitectura general de CORDIA
La arquitectura de CORDIA está diseñada para ser modular, escalable y segura. Se basa en una separación clara entre servicios de datos, interfaces de trabajo, servicios auxiliares y herramientas de soporte, facilitando su mantenimiento, despliegue y evolución.
🧱 Componentes principales
1. API principal (Laravel)
- Proporciona acceso estructurado a todos los datos lingüísticos.
- Usa autenticación JWT para proteger los endpoints.
- Gestiona operaciones de lectura, escritura, validación y exportación.
2. Backend técnico (Filament)
- Interfaz interna exclusiva para desarrolladores y personal técnico.
- Permite la gestión completa del sistema y tareas administrativas.
- No accesible para revisores o editores.
3. Interfaz de revisión y edición (Vue.js)
- Plataforma de trabajo principal para revisores lingüísticos, editores y validadores.
- Permite consultar, editar y validar los contenidos lingüísticos.
- Se conecta directamente a la API y actúa como backend funcional para el equipo lingüístico.
4. Base de datos (MySQL)
- Modelo relacional normalizado.
- Relaciones entre entradas, acepciones, variantes, fuentes, localizaciones, etc.
- Optimizada para integridad, consistencia y rendimiento.
🔁 Servicios auxiliares
- Documentación API (Scribe + Swagger UI): documentación interactiva generada automáticamente.
- Monitorización (Grafana, Uptime Kuma): supervisión de métricas y estado del sistema.
- Backups (Restic): sistema de copias de seguridad programadas.
- Visualización de esquemas (SchemaSpy): inspección gráfica de la base de datos.
🐳 Entorno con Docker
CORDIA se ejecuta en entornos Docker que contienen:
- Contenedor para Laravel + API
- Contenedor para la interfaz de revisión (Vue.js)
- Contenedor para la base de datos (MySQL)
- Contenedores para servicios auxiliares
El uso de Docker permite levantar todo el entorno de forma reproducible en local, preproducción y producción.
🌐 Entornos disponibles
- Local: entorno de desarrollo individual.
- Preproducción: entorno de pruebas funcionales y validación previa.
- Producción: entorno estable y operativo, con supervisión y backups activos.
Cada entorno cuenta con sus propias variables, configuración y dominios personalizados.
Para más detalles técnicos, revisa la sección "Entorno de desarrollo" y "Despliegue" desde el menú lateral.