Resumen
El objetivo de este proyecto es desarrollar una aplicación web que facilite la reserva de laboratorios pertenecientes a la Escuela Técnica Superior de Ingeniería de Sistemas Informáticos (ETSISI), localizados tanto en el Centro de Informática y Comunicaciones (CIC) como en los distintos bloques del Campus Sur de la Universidad Politécnica de Madrid (UPM).
Esta propuesta nace para mejorar el actual sistema de reservas de laboratorios, permitiendo a los usuarios coordinar eficazmente las reservas y facilitando así tanto al alumnado como al profesorado la organización autónoma de sesiones prácticas, clases adicionales o periodos de estudio. Por ello, la aplicación planteada simplifica significativamente este procedimiento mediante una interfaz intuitiva, amigable y accesible, agilizando todo el proceso y mejorando notablemente la experiencia del usuario.
La solución propuesta utiliza tecnologías modernas y robustas para asegurar eficiencia y escalabilidad: el backend está desarrollado con Java usando Spring Boot, proporcionando una API segura y flexible; mientras que el frontend emplea Angular, ofreciendo una interfaz amigable, intuitiva y dinámica. La gestión de datos se realiza mediante una base de datos MySQL, administrada con MySQL Workbench, lo que garantiza la integridad y el rápido acceso a la información. Además, se emplea GitHub como sistema de control de versiones para gestionar y compartir el código fuente del proyecto de forma eficiente, y se utiliza Postman para realizar pruebas exhaustivas y verificaciones de los endpoints del backend. Además, el desarrollo del proyecto se llevó a cabo bajo un enfoque ágil, organizando las diferentes fases del trabajo en sprints. Esto permitió realizar ajustes de forma continua según los requerimientos y la retroalimentación obtenida durante el desarrollo.
Los alumnos pueden reservar puestos individuales en los laboratorios, consultar su historial de reservas, modificarlas según necesidad, y reportar incidencias relacionadas con problemas técnicos del ordenador asignado o con el puesto reservado. Además, cuentan con la opción de visualizar su perfil personal. Cabe mencionar que aquellos alumnos que aún no estén registrados pueden hacerlo directamente desde la aplicación usando el sistema de registro.
Los profesores, al igual que los alumnos, pueden crear reservas, modificar y consultar su historial de reservas. Sin embargo, estos reservan salas completas para organizar adecuadamente sus clases o sesiones académicas. También tienen la posibilidad de informar sobre incidencias para reportar problemas en las instalaciones reservadas y acceder a su información personal desde el perfil.
Finalmente, los conserjes son los encargados de gestionar la infraestructura física de los laboratorios. Además, tienen acceso al historial completo de incidencias reportadas con el fin de revisar, actualizar y resolver estas incidencias, permitiendo así que tanto estudiantes como profesores puedan seguir el progreso de sus incidencias.
Como futuras mejoras previstas se contempla la implementación de un sistema de notificaciones por correo electrónico, que permita informar automáticamente sobre la creación, modificación y cancelación de reservas, así como notificar la creación de incidencias y el seguimiento en tiempo real del estado de estas. También se prevé integrar un sistema de cambio de idioma en la aplicación para facilitar el acceso a alumnos y profesores procedentes de diferentes países. Por último, se plantea desplegar el frontend desarrollado en Angular en plataformas especializadas como Netlify o Vercel, mientras que el backend en Spring Boot y la base de datos MySQL se alojarán en un servidor dedicado, implementando las medidas de seguridad necesarias como HTTPS y cortafuegos.
En conclusión, la aplicación desarrollada proporciona una herramienta útil, funcional y adaptada a las necesidades de la ETSISI en cuanto al uso de las instalaciones. Actualmente se ha probado en un entorno local, pero, su arquitectura modular, escalable y flexible permite su futura implantación en un entorno de producción, lo que podría suponer una mejora significativa en la gestión de recursos dentro del entorno universitario.
Abstract:
The objective of this project is to develop a web application that facilitates the reservation of laboratories belonging to the Escuela Técnica Superior de Ingeniería de Sistemas Informáticos (ETSISI), located both in the Centro de Informática y Comunicaciones (CIC) and in the various buildings of the South Campus of the Universidad Politécnica de Madrid (UPM).
This proposal was created to improve the current laboratory reservation system, enabling users to efficiently coordinate bookings and thus assist both students and professors in the autonomous organization of practical sessions, additional classes, or study periods. Therefore, the proposed application significantly simplifies this process through an intuitive, user-friendly, and accessible interface, streamlining the entire procedure and greatly enhancing the user experience.
The proposed solution uses modern and robust technologies to ensure efficiency and scalability: the backend is developed in Java using Spring Boot, providing a secure and flexible API; while the frontend uses Angular, offering a user-friendly, intuitive, and dynamic interface. Data management is carried out using a MySQL database, administered with MySQL Workbench, ensuring data integrity and quick access to information. In addition, GitHub is used as the version control system to efficiently manage and share the project’s source code, and Postman is employed for thorough testing and verification of backend endpoints.
Moreover, the project was developed under an agile methodology, organizing the different phases of work into sprints. This allowed for continuous adjustments based on the requirements and feedback received during development.
Students can reserve individual workstations in the laboratories, view their reservation history, modify reservations as needed, and report issues related to technical problems with the assigned computer or reserved workstation. They also have the option to view their personal profile. It is worth mentioning that students who are not yet registered can sign up directly through the application using the registration system.
Professors, like students, can create reservations, modify them, and consult their reservation history. However, they reserve entire rooms to properly organize their classes or academic sessions. They also have the option to report issues related to the facilities they have reserved and can access their personal information through their profile.
Finally, custodians are responsible for managing the physical infrastructure of the laboratories. They have access to the full history of reported issues in order to review, update, and resolve them, allowing both students and faculty to track the progress of their reported incidents.
Planned future improvements include the implementation of an email notification system to automatically inform users about the creation, modification, and cancellation of reservations, as well as to notify them of new reported incidents and allow real-time tracking of their status. Additionally, the integration of a language switcher is planned to facilitate access for students and professors from different countries. Lastly, the deployment of the Angular frontend to specialized platforms like Netlify or Vercel is considered, while the Spring Boot backend and MySQL database will be hosted on a dedicated server, implementing necessary security measures such as HTTPS and firewalls.
In conclusion, the developed application provides a useful, functional, and tailored tool for ETSISI regarding the use of its facilities. Although it has currently been tested in a local environment, its modular, scalable, and flexible architecture allows for future deployment in a production environment, which could significantly improve resource management within the university setting.
Resumen
El objetivo de este proyecto es desarrollar una aplicación web que facilite la reserva de laboratorios pertenecientes a la Escuela Técnica Superior de Ingeniería de Sistemas Informáticos (ETSISI), localizados tanto en el Centro de Informática y Comunicaciones (CIC) como en los distintos bloques del Campus Sur de la Universidad Politécnica de Madrid (UPM).
Esta propuesta nace para mejorar el actual sistema de reservas de laboratorios, permitiendo a los usuarios coordinar eficazmente las reservas y facilitando así tanto al alumnado como al profesorado la organización autónoma de sesiones prácticas, clases adicionales o periodos de estudio. Por ello, la aplicación planteada simplifica significativamente este procedimiento mediante una interfaz intuitiva, amigable y accesible, agilizando todo el proceso y mejorando notablemente la experiencia del usuario.
La solución propuesta utiliza tecnologías modernas y robustas para asegurar eficiencia y escalabilidad: el backend está desarrollado con Java usando Spring Boot, proporcionando una API segura y flexible; mientras que el frontend emplea Angular, ofreciendo una interfaz amigable, intuitiva y dinámica. La gestión de datos se realiza mediante una base de datos MySQL, administrada con MySQL Workbench, lo que garantiza la integridad y el rápido acceso a la información. Además, se emplea GitHub como sistema de control de versiones para gestionar y compartir el código fuente del proyecto de forma eficiente, y se utiliza Postman para realizar pruebas exhaustivas y verificaciones de los endpoints del backend. Además, el desarrollo del proyecto se llevó a cabo bajo un enfoque ágil, organizando las diferentes fases del trabajo en sprints. Esto permitió realizar ajustes de forma continua según los requerimientos y la retroalimentación obtenida durante el desarrollo.
Los alumnos pueden reservar puestos individuales en los laboratorios, consultar su historial de reservas, modificarlas según necesidad, y reportar incidencias relacionadas con problemas técnicos del ordenador asignado o con el puesto reservado. Además, cuentan con la opción de visualizar su perfil personal. Cabe mencionar que aquellos alumnos que aún no estén registrados pueden hacerlo directamente desde la aplicación usando el sistema de registro.
Los profesores, al igual que los alumnos, pueden crear reservas, modificar y consultar su historial de reservas. Sin embargo, estos reservan salas completas para organizar adecuadamente sus clases o sesiones académicas. También tienen la posibilidad de informar sobre incidencias para reportar problemas en las instalaciones reservadas y acceder a su información personal desde el perfil.
Finalmente, los conserjes son los encargados de gestionar la infraestructura física de los laboratorios. Además, tienen acceso al historial completo de incidencias reportadas con el fin de revisar, actualizar y resolver estas incidencias, permitiendo así que tanto estudiantes como profesores puedan seguir el progreso de sus incidencias.
Como futuras mejoras previstas se contempla la implementación de un sistema de notificaciones por correo electrónico, que permita informar automáticamente sobre la creación, modificación y cancelación de reservas, así como notificar la creación de incidencias y el seguimiento en tiempo real del estado de estas. También se prevé integrar un sistema de cambio de idioma en la aplicación para facilitar el acceso a alumnos y profesores procedentes de diferentes países. Por último, se plantea desplegar el frontend desarrollado en Angular en plataformas especializadas como Netlify o Vercel, mientras que el backend en Spring Boot y la base de datos MySQL se alojarán en un servidor dedicado, implementando las medidas de seguridad necesarias como HTTPS y cortafuegos.
En conclusión, la aplicación desarrollada proporciona una herramienta útil, funcional y adaptada a las necesidades de la ETSISI en cuanto al uso de las instalaciones. Actualmente se ha probado en un entorno local, pero, su arquitectura modular, escalable y flexible permite su futura implantación en un entorno de producción, lo que podría suponer una mejora significativa en la gestión de recursos dentro del entorno universitario.
Abstract:
The objective of this project is to develop a web application that facilitates the reservation of laboratories belonging to the Escuela Técnica Superior de Ingeniería de Sistemas Informáticos (ETSISI), located both in the Centro de Informática y Comunicaciones (CIC) and in the various buildings of the South Campus of the Universidad Politécnica de Madrid (UPM).
This proposal was created to improve the current laboratory reservation system, enabling users to efficiently coordinate bookings and thus assist both students and professors in the autonomous organization of practical sessions, additional classes, or study periods. Therefore, the proposed application significantly simplifies this process through an intuitive, user-friendly, and accessible interface, streamlining the entire procedure and greatly enhancing the user experience.
The proposed solution uses modern and robust technologies to ensure efficiency and scalability: the backend is developed in Java using Spring Boot, providing a secure and flexible API; while the frontend uses Angular, offering a user-friendly, intuitive, and dynamic interface. Data management is carried out using a MySQL database, administered with MySQL Workbench, ensuring data integrity and quick access to information. In addition, GitHub is used as the version control system to efficiently manage and share the project’s source code, and Postman is employed for thorough testing and verification of backend endpoints.
Moreover, the project was developed under an agile methodology, organizing the different phases of work into sprints. This allowed for continuous adjustments based on the requirements and feedback received during development.
Students can reserve individual workstations in the laboratories, view their reservation history, modify reservations as needed, and report issues related to technical problems with the assigned computer or reserved workstation. They also have the option to view their personal profile. It is worth mentioning that students who are not yet registered can sign up directly through the application using the registration system.
Professors, like students, can create reservations, modify them, and consult their reservation history. However, they reserve entire rooms to properly organize their classes or academic sessions. They also have the option to report issues related to the facilities they have reserved and can access their personal information through their profile.
Finally, custodians are responsible for managing the physical infrastructure of the laboratories. They have access to the full history of reported issues in order to review, update, and resolve them, allowing both students and faculty to track the progress of their reported incidents.
Planned future improvements include the implementation of an email notification system to automatically inform users about the creation, modification, and cancellation of reservations, as well as to notify them of new reported incidents and allow real-time tracking of their status. Additionally, the integration of a language switcher is planned to facilitate access for students and professors from different countries. Lastly, the deployment of the Angular frontend to specialized platforms like Netlify or Vercel is considered, while the Spring Boot backend and MySQL database will be hosted on a dedicated server, implementing necessary security measures such as HTTPS and firewalls.
In conclusion, the developed application provides a useful, functional, and tailored tool for ETSISI regarding the use of its facilities. Although it has currently been tested in a local environment, its modular, scalable, and flexible architecture allows for future deployment in a production environment, which could significantly improve resource management within the university setting. Read More


