[en] The objective of this project consists of the analysis, design and implementation of a web application with MVC (Model-View-Controller) architecture for the management of all kinds of popular races of different distances, from the smallest of just one mile, up to deep tests such as marathons of 42 kilometers. The web application will support different user profiles, also allowing unregistered users to access some features. The administrator will be in charge of managing the races and the users. Each user registered in the application will be able to manage the list of races they will attend or have already attended, as well as make comments and issue scores. The application will have a search engine that will allow searches to be performed to help users find the races that match this search. For each race, the application will display information with its details (name, date, distance, start time, etc.) and a mini-map with its location using the external Google Maps service. The methodology used for the development of this project will be the Unified Software Development Process, which is based on the decomposition of the project into small subprojects within an iterative and incremental scheme, in which the analysis phases are carried out in each iteration, design, implementation and testing in such a way that each iteration incorporates new functionalities over the previous version until it reaches the established objective. For the design and implementation of this project, different technologies and frameworks focused on an MVC architecture will be used. Among the most relevant are the JavaEE programming platform, the object-relational mapper Hibernate, the Spring framework, the Thymeleaf template engine, the jQuery library and the Bootstrap framework.

[es] El objetivo de este proyecto consiste en el análisis, diseño e implementación de una aplicación web con arquitectura MVC (Modelo-Vista-Controlador) para la gestión de todo tipo de carreras populares de distintas distancias, desde las más pequeñas de tan solo una milla, hasta pruebas de fondo como por ejemplo maratones de 42 kilómetros. La aplicación web soportará diferentes perfiles de usuario, permitiendo además el acceso a algunas funcionalidades a los usuarios sin registrar. El administrador será el encargado de gestionar las carreras y los usuarios. Cada usuario registrado en la aplicación podrá gestionar la lista de carreras a las que asistirá o ya ha asistido así como realizar comentarios y emitir puntuaciones. La aplicación tendrá un buscador que permitirá realizar búsquedas para ayudar a los usuarios a encontrar las carreras que coincidan con dicha búsqueda. Para cada carrera la aplicación mostrará información con sus detalles (nombre, fecha, distancia, hora de salida, etc.) y un mini-mapa con su ubicación utilizando el servicio externo de Google Maps. La metodología empleada para el desarrollo de este proyecto será el Proceso Unificado de Desarrollo Software, que se basa en la descomposición del proyecto en pequeños subproyectos dentro de un esquema iterativo e incremental, en la que en cada iteración se realizan las fases de análisis, diseño, implementación y pruebas, de tal forma que cada iteración incorpora nuevas funcionalidades sobre la versión anterior hasta alcanzar el objetivo establecido. Para el diseño e implementación de este proyecto, se harán uso de distintas tecnologías y frameworks enfocados a una arquitectura MVC. Entre las más relevantes destacan la plataforma de programación JavaEE, el mapeador objetorelacional Hibernate, el framework Spring, el motor de plantillas Thymeleaf, la librería jQuery y el framework Bootstrap.