Pensión a la Medida es un sistema web desarrollado en Laravel 7 diseñado para centralizar y simplificar la administración de una residencia universitaria. Permite a los gestores registrar y dar seguimiento a los estudiantes hospedados, controlar el estado de habitaciones y mobiliario, mantener la información de los grupos familiares responsables y gestionar los roles y permisos del personal administrativo, todo desde una interfaz unificada y protegida por autenticación.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/amarcano568/pensionalamedida/llms.txt
Use this file to discover all available pages before exploring further.
Estudiantes
Registra, consulta y actualiza la información de cada alumno: datos personales, hospedaje asignado, grupo familiar vinculado y trabajos imputados.
Residencia
Administra las habitaciones y el mobiliario de la residencia: disponibilidad, ocupantes actuales, estado de cada pieza y actualizaciones en tiempo real.
Grupos Familiares
Gestiona los grupos familiares asociados a cada alumno, incluyendo la creación, edición y eliminación de integrantes y responsables económicos.
Administración
Controla el acceso al sistema mediante roles y permisos granulares: crea nuevos roles, asigna o revoca permisos y cambia el rol activo de cada usuario.
Tecnologías utilizadas
El proyecto se apoya en un ecosistema de paquetes PHP y JavaScript ampliamente adoptados en el desarrollo Laravel:| Tecnología / Paquete | Versión | Propósito |
|---|---|---|
| Laravel | ^7.0 | Framework PHP principal (MVC, ORM, enrutamiento, autenticación) |
| PHP | ^7.2.5 | Lenguaje de servidor requerido |
| MySQL | 5.7+ | Motor de base de datos relacional |
| maatwebsite/excel | ^3.1 | Importación y exportación de datos en formato Excel/CSV |
| yajra/laravel-datatables-oracle | ^9.10 | Tablas interactivas con paginación, búsqueda y ordenamiento server-side |
| spatie/laravel-permission | ^3.13 | Control de acceso basado en roles y permisos (RBAC) |
| barryvdh/laravel-dompdf | ^0.8.6 | Generación de reportes y documentos en PDF |
| Laravel Mix | ^5.0 | Compilación y empaquetado de assets (Bootstrap 4, Sass, jQuery) |
| laravel/ui | ^2.0 | Andamiaje de autenticación y vistas de login |
| barryvdh/laravel-debugbar | ^3.3 | Barra de depuración para entornos de desarrollo |
| caouecs/laravel-lang | ~6.0 | Traducciones del framework al español y otros idiomas |
| fruitcake/laravel-cors | ^1.0 | Manejo de cabeceras CORS para peticiones entre dominios |
| mossadal/math-parser | ^1.3 | Evaluación de expresiones matemáticas en tiempo de ejecución |
| webpatser/laravel-uuid | ^3.0 | Generación de identificadores UUID para modelos Eloquent |
Arquitectura
Pensión a la Medida sigue la arquitectura MVC (Modelo-Vista-Controlador) estándar de Laravel:- Modelos (
app/): Clases Eloquent que representan cada entidad de negocio (alumnos, habitaciones, grupos familiares, roles) y encapsulan la lógica de acceso a la base de datos. - Controladores (
app/Http/Controllers/): Procesan las peticiones HTTP entrantes, aplican la lógica de negocio y devuelven una respuesta (vista Blade o JSON para DataTables). - Vistas (
resources/views/): Plantillas Blade que componen la interfaz de usuario. Heredan de un layout principal e incluyen componentes parciales reutilizables. - Rutas (
routes/web.php): Definen todos los endpoints de la aplicación. Las rutas están agrupadas bajo el middlewareauthy protegidas individualmente por permisos Spatie.
El sistema utiliza Spatie Laravel Permission para el control de acceso basado en roles (RBAC) en todas las rutas protegidas. Cada módulo principal requiere un permiso específico (por ejemplo,
gestion_alumnos, gestion_residencia) para que el usuario pueda acceder a él.Módulos del sistema
La siguiente tabla resume los módulos activos del sistema, el prefijo de ruta que los identifica enroutes/web.php y el controlador que gestiona su lógica:
| Módulo | Ruta principal | Controlador |
|---|---|---|
| Estudiantes | GET /gestionar-estudiantes | AlumnosController |
| Residencia | GET /gestion-residencia | ResidenciaController |
| Grupos Familiares | GET /gestionar-grupos-familiares | GruposFamiliaresController |
| Gestión de Roles | GET /gestion-roles | MantenimientoRolesController |
| Perfil de Usuario | GET /ver-perfil | PerfilController |