[en] The objective of this Master's is to develop a web platform that allows students to organize and manage a series of tasks so that they can meet certain objectives and acquire certain habits. Special interest will be placed on the management of tasks, events and habits necessary to pass various subjects, which is the main and common objective of most students. Within the platform, each student will have his or her own space where he or she can define the objectives he or she wants to achieve. These objectives may require the acquisition of various habits, the achievement of certain milestones and the completion of a certain task. To facilitate the management of these elements, each user will have: (1) a space to organize personal notes; (2) another space to store resources that may be necessary to develop certain tasks; and (3) a calendar where he/she can visualize the events, tasks and milestones to be completed. The development of the application will be carried out using an agile development methodology focused on Test-Driven Development. The application will be implemented on React, Spring and the convenience of using NoSQL databases, such as MongoDB, will be analyzed. Finally, I would like to follow throughout the project a series of good practices when developing and programming that I think are fundamental. As well as in the design of the system architecture itself. Throughout the work we will be addressing each part of the development and the components that make up the application, reviewing the challenges, decisions, our needs and how it has been decided to develop.

[es] El objetivo de este Trabajo de Fin de Máster es desarrollar una plataforma web que permita a los estudiantes organizar y gestionar una serie de tareas de manera que éstos puedan satisfacer unos determinados objetivos y adquirir unos determinados hábitos. Se pondrá especial interés en la gestión de tareas, eventos y hábitos necesarios para superar diversas asignaturas, objetivo principal y común de la mayoría de los estudiantes. Dentro de la plataforma, cada estudiante dispondrá de un espacio propio donde definir los objetivos que quiere alcanzar. Estos objetivos pueden requerir de la adquisición de diversos hábitos, de la consecución de ciertos hitos y de la realización de una determinada tarea. Para facilitar la gestión de estos elementos, cada usuario dispondrá de: (1) un espacio para organizar notas personales; (2) otro espacio para almacenar recursos que puedan ser necesarios para desarrollar determinadas tareas; y, (3) un calendario donde poder visualizar los eventos, tareas e hitos que debe ir completando. El desarrollo de la aplicación se realizará mediante una metodología de desarrollo ágil centrada en Test-Driven Development. La aplicación se implementará sobre React, Spring y se analizará la conveniencia de utilizar bases de datos NoSQL, como MongoDB. Por último, me gustaría seguir a lo largo del proyecto una serie de buenas prácticas a la hora de desarrollar y programar que creo que son fundamentales. Así como en el propio diseño de la arquitectura del sistema. A lo largo del trabajo iremos abordando cada parte del desarrollo y de los componentes que componen la aplicación, repasando los retos, las decisiones, nuestras necesidades y como se ha decidido desarrollar.