🛠️ Backend interno (Filament)
El backend interno de CORDIA está construido con Filament, un panel administrativo de Laravel moderno, potente y extensible. Este panel está orientado al uso exclusivo de desarrolladores, coordinadores técnicos y personal con permisos avanzados.
🎯 Propósito
- Gestionar todos los recursos del sistema: entradas, acepciones, zonas, fuentes, usuarios, roles, etc.
- Permitir acceso directo a funciones de mantenimiento, control de calidad, estadísticas y configuración.
- Ofrecer herramientas complementarias que no están expuestas al equipo de revisión lingüística.
⚙️ Acceso
- Panel accesible desde: http://panel.cordia.local
- Requiere autenticación de usuario con permisos administrativos
- Autenticación de sesión de Laravel (no JWT) y políticas de acceso
📁 Ubicación del código
app/api-laravel/
├── app/
│ ├── Filament/ # Recursos, páginas, navegación personalizada
│ ├── Providers/PanelServiceProvider.php
│ └── Policies/ # Políticas aplicadas por rol
Todo el contenido de Filament está incluido dentro del backend
api-laravel.
🔐 Roles y permisos
El backend permite controlar el acceso a recursos mediante:
- Roles de usuario: definidos en la base de datos (admin, técnico, validador, etc.)
- Policies y gates: clases que controlan si un usuario puede realizar una acción
Ejemplo de uso:
Gate::define('ver-zonas', fn ($user) => $user->hasRole('admin'));
🔧 Funcionalidades incluidas
- CRUD completo para todos los modelos del sistema
- Filtros personalizados, formularios contextuales, validaciones, relaciones
- Agrupación de menús por tipo de recurso
- Widgets y dashboards personalizados (en desarrollo)
⚠️ Consideraciones
- El acceso está completamente restringido al personal autorizado
- Las acciones en este panel afectan directamente a los datos en producción
- No está pensado para usuarios lingüísticos ni revisores
Si necesitas definir nuevos recursos o personalizar el panel, consulta la documentación oficial de Filament: https://filamentphp.com/docs
🔧 Configuración del dominio
El dominio del panel se controla con la variable FILAMENT_DOMAIN en el .env (por defecto panel.cordia.local). Ver AdminPanelProvider en app/api-laravel/app/Providers/Filament/AdminPanelProvider.php.