Diseño y programación de una aplicación web para la gestión personal

Bookmark (0)
Please login to bookmark Close

El mundo del desarrollo web está en constante evolución, y cada vez son más las herramientas que proporcionan alternativas a cómo desarrollar las aplicaciones de cualquier ámbito. Sin embargo, algunas de estas aplicaciones no son del todo sencillas de manejar y la frustración puede ser un factor determinante a la hora de decidir si un usuario se decanta por una u otra.
En este proyecto se presenta una aplicación web para la gestión personal, que permite a los usuarios organizar sus metas y actividades académicas personales (exámenes,proyectos y tareas) aplicando el patrón de diseño arquitectónico Modelo Vista Controlador y ciertos principios SOLID.
La aplicación contiene una parte backend, que hace uso de Node.js y Express para las capas de controlador y modelo. En la capa de controlador se implementa el manejo de respuestas mientras que en la capa de modelo se implementa la comunicación con la base de datos. Sin embargo, tanto el controlador como los Middleware diseñados son llamados desde las rutas de la aplicación. Tambien se incluye un sistema de autenticación y autorización de usuarios, que permite a los usuarios usar el JSON Web Token para poder acceder a los recursos.
La base de datos local es relacional y está diseñada para almacenar las entidades usuario, tarea, proyecto y examen en el lenguaje Structured Query Language, y esta base de datos ha sido creada a traves de MySQL Workbench.
Por otro lado, la parte frontend o interfaz de usuario de la aplicación está desarrollada con la biblioteca React.js en la capa vista y con las intstrucciones fetch se comunica con las peticiones diseñadas en el backend y accede a la cookie para coger el token o información necesaria para dichas peticiones.
Abstract:
The world of web development is constantly evolving, and there are more and more tools that offer alternatives on how to develop applications in any field. However, some of these applications are not entirely easy to use, and frustration can be a decisive factor when a user chooses one over another.
This project presents a web application for personal management, which allows users to organize their personal goals and academic activities (exams, projects, and tasks) by applying the architectural design pattern MVC and certain SOLID principles.
The application includes a backend part, which uses Node.js and Express for the controller and model layers. In the controller layer, the management of the responses is implemented, while in the model layer, the communication with the database is implemented. However, both the controller and the designed Middleware are called from the application’s routes. A user authentication and authorization system is also included, allowing users to use JWT to access resources.
The local database is relational and is designed to store user, task, project, and exam entities in the SQL language. This database was created using MySQL Workbench.
On the other hand, the application’s frontend or user interface is developed using the React.js library in the view layer, and it uses fetch instructions to communicate with the requests defined in the backend, accessing the cookie to retrieve the token or necessary information for those requests.

​El mundo del desarrollo web está en constante evolución, y cada vez son más las herramientas que proporcionan alternativas a cómo desarrollar las aplicaciones de cualquier ámbito. Sin embargo, algunas de estas aplicaciones no son del todo sencillas de manejar y la frustración puede ser un factor determinante a la hora de decidir si un usuario se decanta por una u otra.
En este proyecto se presenta una aplicación web para la gestión personal, que permite a los usuarios organizar sus metas y actividades académicas personales (exámenes,proyectos y tareas) aplicando el patrón de diseño arquitectónico Modelo Vista Controlador y ciertos principios SOLID.
La aplicación contiene una parte backend, que hace uso de Node.js y Express para las capas de controlador y modelo. En la capa de controlador se implementa el manejo de respuestas mientras que en la capa de modelo se implementa la comunicación con la base de datos. Sin embargo, tanto el controlador como los Middleware diseñados son llamados desde las rutas de la aplicación. Tambien se incluye un sistema de autenticación y autorización de usuarios, que permite a los usuarios usar el JSON Web Token para poder acceder a los recursos.
La base de datos local es relacional y está diseñada para almacenar las entidades usuario, tarea, proyecto y examen en el lenguaje Structured Query Language, y esta base de datos ha sido creada a traves de MySQL Workbench.
Por otro lado, la parte frontend o interfaz de usuario de la aplicación está desarrollada con la biblioteca React.js en la capa vista y con las intstrucciones fetch se comunica con las peticiones diseñadas en el backend y accede a la cookie para coger el token o información necesaria para dichas peticiones.
Abstract:
The world of web development is constantly evolving, and there are more and more tools that offer alternatives on how to develop applications in any field. However, some of these applications are not entirely easy to use, and frustration can be a decisive factor when a user chooses one over another.
This project presents a web application for personal management, which allows users to organize their personal goals and academic activities (exams, projects, and tasks) by applying the architectural design pattern MVC and certain SOLID principles.
The application includes a backend part, which uses Node.js and Express for the controller and model layers. In the controller layer, the management of the responses is implemented, while in the model layer, the communication with the database is implemented. However, both the controller and the designed Middleware are called from the application’s routes. A user authentication and authorization system is also included, allowing users to use JWT to access resources.
The local database is relational and is designed to store user, task, project, and exam entities in the SQL language. This database was created using MySQL Workbench.
On the other hand, the application’s frontend or user interface is developed using the React.js library in the view layer, and it uses fetch instructions to communicate with the requests defined in the backend, accessing the cookie to retrieve the token or necessary information for those requests. Read More