Danubit: desarollo de un sistema software web para la administración de asociaciones de la ETSIINF

La siguiente memoria de Trabajo de Fin de Grado contiene el diseño, desarrollo, detalles de implementación y evaluación de un software web para la gestión de asociaciones de alumnos de aquí en adelante llamado “Danubit”. Danubit surge de la necesidad de las asociaciones de la ETSIINF de una herramienta que facilite y centralice muchas de las tareas de gestión necesarias para existir como tal. De esta manera, además, podría facilitarse la comunicación con el organismo superior que se encarga de aprobar las actividades de las asociaciones, en este caso Subdirección de Alumnos y Rectorado de la UPM. Danubit es un servicio web con la forma de una API Rest capaz de gestionar asociaciones y sus actividades, miembros, documentos, inventario y juntas directivas. Además, opcionalmente, Danubit permite que las asociaciones tengan un “gestor”, esto es, un usuario capaz de aprovar actividades y materiales publicitarios. El servicio está implementado en Rust con ayuda de una librería para crear APIs Rest llamada poem-openapi, centrada en seguridad de tipos y documentación generada a partir del código, para crear servicios mantenibles y con una alta tolerancia a fallos, además de eficientes. El Trabajo de Fin de Grado incluye además un pequeño frontend implementado en React que se conecta con parte de la funcionalidad que ofrece el backend y puede servir como punto de partida que extender en futuros trabajos. Aunque el frontend no ha podido completarse hasta la paridad de características con el backend, los resultados de la evaluación de usabilidad muestran que es un gran comienzo con potencial de crecimiento. En general, el proyecto ha tenido éxito en comenzar una plataforma open-source, y llevada por estudiantes que ayude a las asociaciones de alumnos a existir y manejarse.
ABSTRACT
The following is the report for a Bachelors Thesis about Danubit: A web service for student association management. It details the service’s design, development, implementation, and evaluation. The idea for Danubit is born out of the necessity for a tool that centralises and automates, to a certain degree, many of the routine management tasks necessary for the normal operation of student associations at ETSIINF. Danubit is a web service mostly in the form of a Restful API capable of storing information about student associations and their activities, members, documents, materials and management boards. Additionally, Danubit can keep track of “manager usersçapable of approving or rejecting an associations activities and public media. The service is implemented in Rust with the help of poem-openapi, a library for building Restful APIs with a focus on type safety and documentation, which it generates automatically from Rust’s rich type system. The work also includes the details of a small React-powered frontend that uses the API to create a web portal for student association board members to easily manage activities and members. The frontend’s functionality, however, is still limited in regards to the backend. Although the frontend could not be finished to it’s full potential, it’s usability evaluation shows it’s in the right track and has major growing opportunities. There are lots of additional features that the platform could have and people willing to develop them. The project has been a success in starting an open-source student-driven portal for asociations to exist and manage themselves in.

​La siguiente memoria de Trabajo de Fin de Grado contiene el diseño, desarrollo, detalles de implementación y evaluación de un software web para la gestión de asociaciones de alumnos de aquí en adelante llamado “Danubit”. Danubit surge de la necesidad de las asociaciones de la ETSIINF de una herramienta que facilite y centralice muchas de las tareas de gestión necesarias para existir como tal. De esta manera, además, podría facilitarse la comunicación con el organismo superior que se encarga de aprobar las actividades de las asociaciones, en este caso Subdirección de Alumnos y Rectorado de la UPM. Danubit es un servicio web con la forma de una API Rest capaz de gestionar asociaciones y sus actividades, miembros, documentos, inventario y juntas directivas. Además, opcionalmente, Danubit permite que las asociaciones tengan un “gestor”, esto es, un usuario capaz de aprovar actividades y materiales publicitarios. El servicio está implementado en Rust con ayuda de una librería para crear APIs Rest llamada poem-openapi, centrada en seguridad de tipos y documentación generada a partir del código, para crear servicios mantenibles y con una alta tolerancia a fallos, además de eficientes. El Trabajo de Fin de Grado incluye además un pequeño frontend implementado en React que se conecta con parte de la funcionalidad que ofrece el backend y puede servir como punto de partida que extender en futuros trabajos. Aunque el frontend no ha podido completarse hasta la paridad de características con el backend, los resultados de la evaluación de usabilidad muestran que es un gran comienzo con potencial de crecimiento. En general, el proyecto ha tenido éxito en comenzar una plataforma open-source, y llevada por estudiantes que ayude a las asociaciones de alumnos a existir y manejarse.
ABSTRACT
The following is the report for a Bachelors Thesis about Danubit: A web service for student association management. It details the service’s design, development, implementation, and evaluation. The idea for Danubit is born out of the necessity for a tool that centralises and automates, to a certain degree, many of the routine management tasks necessary for the normal operation of student associations at ETSIINF. Danubit is a web service mostly in the form of a Restful API capable of storing information about student associations and their activities, members, documents, materials and management boards. Additionally, Danubit can keep track of “manager usersçapable of approving or rejecting an associations activities and public media. The service is implemented in Rust with the help of poem-openapi, a library for building Restful APIs with a focus on type safety and documentation, which it generates automatically from Rust’s rich type system. The work also includes the details of a small React-powered frontend that uses the API to create a web portal for student association board members to easily manage activities and members. The frontend’s functionality, however, is still limited in regards to the backend. Although the frontend could not be finished to it’s full potential, it’s usability evaluation shows it’s in the right track and has major growing opportunities. There are lots of additional features that the platform could have and people willing to develop them. The project has been a success in starting an open-source student-driven portal for asociations to exist and manage themselves in. Read More