🔗 API (Laravel)
La API de CORDIA es el núcleo del sistema. Está construida sobre Laravel, y es responsable de la gestión de todos los datos del sistema: entradas léxicas, acepciones, variantes, usuarios, zonas dialectales, fuentes, y más.
⚙️ Características principales
- Basada en Laravel 12 + Laravel Sail
- Arquitectura RESTful
- Autenticación mediante JWT
- Protección por middleware, control de roles y permisos
- Documentada automáticamente con Scribe y Swagger UI
- Soporte para relaciones complejas y filtros avanzados
📁 Organización del código
app/api-laravel/
├── app/
│ ├── Http/Controllers/ # Controladores API
│ ├── Models/ # Modelos Eloquent
│ ├── Policies/ # Políticas de acceso
│ └── Services/, Helpers/ # Lógica auxiliar
├── routes/
│ └── api.php # Rutas de la API
├── database/
│ ├── migrations/ # Migraciones de tablas
│ ├── seeders/ # Carga de datos iniciales
│ └── factories/ # Factories de test
└── config/, resources/, tests/, etc.
🔐 Autenticación y seguridad
- La autenticación se gestiona mediante JSON Web Tokens (JWT).
- Los usuarios obtienen un token tras iniciar sesión (
/login). - Cada llamada posterior debe incluir el encabezado:
Authorization: Bearer {token}
- El acceso a cada recurso está protegido por políticas según rol, permisos y tipo de usuario.
🧪 Ejemplo de endpoints
GET /entries # Lista de entradas
GET /entries/{id} # Ver entrada específica
POST /entries # Crear nueva entrada
PUT /entries/{id} # Editar entrada
DELETE /entries/{id} # Eliminar entrada
Hay endpoints adicionales para variantes, acepciones, zonas, hablantes, fenómenos, fuentes, usuarios, etc.
🧬 Conexión con otros módulos
- El panel técnico (Filament) y el editor Vue consumen esta API directamente.
- Los endpoints están protegidos por CORS y autenticación.
- Los datos de prueba se insertan mediante seeders y pueden consultarse vía la API en la raíz (por ejemplo,
/entries).
📘 Documentación de la API
Puedes consultar la documentación completa de endpoints generada automáticamente:
- Swagger UI: http://swagger.cordia.local
- Documentación Scribe: http://apidocs.cordia.local
También puedes descargar la colección de Postman desde la misma interfaz.
Para conocer cómo usar los endpoints en profundidad, consulta el archivo
api-uso.md.