Cómo digitalicé la recepción de documentos de estancias y estadías universitarias con Laravel
Sistema de gestión documental universitaria · Rol: Desarrollador Full Stack (Laravel) · Equipo de desarrollo · Metodología ágil
Resumen
Desarrollé, junto al equipo, un sistema para que los estudiantes subieran los documentos de sus estancias y estadías y para que los administradores los revisaran y dieran seguimiento por grupo y por carrera. El sistema debía estar listo antes del cierre de semestre y soportar la carga simultánea de 300 alumnos.
100%
Sistema entregado antes del cierre de semestre
500
Alumnos de 4 carreras usando el sistema
300
Cargas simultáneas de archivos soportadas
Base de datos y backend
- Diseñé y optimicé consultas SQL y las relaciones de la base de datos para soportar la carga simultánea de archivos durante el cierre de semestre.
- Estructuré la lógica de negocio en servicios reutilizables mediante el contenedor de servicios de Laravel y la programación orientada a objetos.
- Validé el tipo, el tamaño y el formato de los archivos mediante Form Requests antes de almacenarlos.
- Usé las colecciones de Laravel para filtrar y agrupar la información por grupo, carrera y estatus.
- Estandaricé las respuestas del backend mediante los recursos de la API.
Seguridad y permisos
- Implementé la autenticación con JWT y los middlewares para proteger las rutas.
- Configuré un control de acceso basado en roles (RBAC) con políticas de Laravel, para que cada alumno solo accediera a sus propios documentos y los administradores gestionaran los de su área a través de los mismos endpoints.
Funcionalidades
- Desarrollé los formularios de carga de documentos para los estudiantes.
- Construí el CRUD de listas de recolección, con ordenamiento y filtros avanzados por grupo y carrera.
- Implementé el flujo de estatus de cada documento (pendiente, en revisión, aprobado, rechazado) con respuestas del administrador al alumno.
- Desarrollé los recordatorios para que los alumnos subieran sus documentos a tiempo, por correo electrónico, con notificaciones programadas.
Calidad
- Creé pruebas unitarias con PHPUnit y especificaciones de comportamiento con PhpSpec.
- Apliqué principios de Clean Code para que el sistema fuera mantenible en futuros semestres.
