Saltar a contenido

🧭 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.