Desarrollo de una aplicación web para la gestión de bienes inmobiliarios

En el actual contexto socioeconómico, donde los precios de los inmuebles alcanzan máximos históricos, el alquiler se ha convertido en la única opción viable para muchos, especialmente para los jóvenes y familias en situación de vulnerabilidad. La creciente demanda del arrendamiento tradicional, junto con el aumento de la popularidad de plataformas como Booking o Airbnb, ha llevado a los propietarios a ser cada vez más selectivos y estrictos con el alquiler de sus propiedades.
En este proyecto se diseña y desarrolla una nueva aplicación web dirigida a estos propietarios, que buscan gestionar sus bienes inmobiliarios de manera activa, eficiente y desde un único lugar, sin necesidad de intermediarios como gestores. La aplicación ofrecerá funcionalidades para gestionar distintos tipos de propiedades (casas, pisos, garajes), así como la administración de los ingresos y gastos asociados (alquileres, seguros, cuotas de comunidad, etc.). Además, facilitará la gestión de documentos relacionados, permitirá la generación de balances financieros para evaluar la rentabilidad y ofrecerá asistencia fiscal para la realización de la declaración de la renta.
Para gestionar el proyecto se utiliza la metodología ágil Scrum, lo que permite adaptarse a los cambios y necesidades del proyecto de manera eficiente. La interfaz de usuario se desarrollará utilizando el framework Angular, diseñando y desarrollando los distintos módulos para una navegación eficiente. La parte servidora de la aplicación se creará con Node.js, utilizando el framework Express para desarrollar una API REST. Esto incluirá la definición de la arquitectura del servidor, la implementación de endpoints RESTful para la gestión de datos y la integración con una base de datos MySQL, garantizando la seguridad mediante mecanismos de autenticación y autorización.
El ecosistema software se complementará con herramientas de control de versiones, Git y GitHub, integradas con la herramienta de gestión Jira. Además, se definirá un flujo de integración continua con GitHub Actions, permitiendo lanzar pruebas automáticas ante una liberación de código y analizar el código de forma estática con Sonar. Finalmente, se configurará un entorno de pruebas unitarias y de integración utilizando el framework Jest y la biblioteca Supertest.
En este documento se presenta una introducción que abarca el contexto actual y los objetivos del proyecto, junto con el marco teórico. Se detalla el inception deck, que incluye, entre otros, la motivación, el análisis de riesgos e incertidumbres, la planificación global o los costos del proyecto. Posteriormente, se describe el product backlog y el desarrollo del sistema a lo largo de varios sprints, cubriendo el diseño de la arquitectura, la interfaz de usuario, los endpoints, las pruebas, así como las revisiones y retrospectivas de cada sprint. Finalmente, se presentan las conclusiones y las posibles líneas futuras de desarrollo, seguidas de la bibliografía utilizada.
Abstract:
In the current socioeconomic context, where property prices are reaching historical highs, renting has become the only viable option for many, especially for young people and families in vulnerable situations. The growing demand for traditional rentals, along with the increasing popularity of platforms such as Booking or Airbnb, has led property owners to become increasingly selective and strict with renting out their properties.
This project involves the design and development of a new web application aimed at these property owners, who seek to manage their real estate assets actively, efficiently, and from a unique place, without the need for intermediaries such as managers. The application will offer functionalities to manage various types of properties (houses, flats, garages), as well as the administration of associated income and expenses (rentals, insurance, community fees, etc.). Additionally, it will facilitate the management of related documents, enable the generation of financial statements to assess profitability, and offer tax assistance for income tax filing.
The project will be managed using the agile Scrum methodology, allowing efficient adaptation to the project’s changes and needs. The user interface will be developed using the Angular framework, designing and developing various modules for efficient navigation. The server-side of the application will be created with Node.js, using the Express framework to develop a REST API. This will include defining the server architecture, implementing RESTful endpoints for data management, and integrating with a MySQL database, ensuring security through authentication and authorization mechanisms.
The software ecosystem will be complemented with version control tools, Git and GitHub, integrated with the management tool Jira. Furthermore, a continuous integration flow will be defined with GitHub Actions, enabling automated testing upon code release and static code analysis with Sonar. Finally, a unit and integration testing environment will be configured using the Jest framework and the Supertest library.
This document presents an introduction covering the current context and project objectives, along with the theoretical framework. It details the inception deck, including, among other aspects, motivation, risk and uncertainty analysis, overall planning, and project costs. Subsequently, it describes the product backlog and the system development over several sprints, covering the architecture design, user interface, endpoints, testing, as well as sprint reviews and retrospectives. Finally, conclusions and possible future development lines are presented, followed by the bibliography used.

​En el actual contexto socioeconómico, donde los precios de los inmuebles alcanzan máximos históricos, el alquiler se ha convertido en la única opción viable para muchos, especialmente para los jóvenes y familias en situación de vulnerabilidad. La creciente demanda del arrendamiento tradicional, junto con el aumento de la popularidad de plataformas como Booking o Airbnb, ha llevado a los propietarios a ser cada vez más selectivos y estrictos con el alquiler de sus propiedades.
En este proyecto se diseña y desarrolla una nueva aplicación web dirigida a estos propietarios, que buscan gestionar sus bienes inmobiliarios de manera activa, eficiente y desde un único lugar, sin necesidad de intermediarios como gestores. La aplicación ofrecerá funcionalidades para gestionar distintos tipos de propiedades (casas, pisos, garajes), así como la administración de los ingresos y gastos asociados (alquileres, seguros, cuotas de comunidad, etc.). Además, facilitará la gestión de documentos relacionados, permitirá la generación de balances financieros para evaluar la rentabilidad y ofrecerá asistencia fiscal para la realización de la declaración de la renta.
Para gestionar el proyecto se utiliza la metodología ágil Scrum, lo que permite adaptarse a los cambios y necesidades del proyecto de manera eficiente. La interfaz de usuario se desarrollará utilizando el framework Angular, diseñando y desarrollando los distintos módulos para una navegación eficiente. La parte servidora de la aplicación se creará con Node.js, utilizando el framework Express para desarrollar una API REST. Esto incluirá la definición de la arquitectura del servidor, la implementación de endpoints RESTful para la gestión de datos y la integración con una base de datos MySQL, garantizando la seguridad mediante mecanismos de autenticación y autorización.
El ecosistema software se complementará con herramientas de control de versiones, Git y GitHub, integradas con la herramienta de gestión Jira. Además, se definirá un flujo de integración continua con GitHub Actions, permitiendo lanzar pruebas automáticas ante una liberación de código y analizar el código de forma estática con Sonar. Finalmente, se configurará un entorno de pruebas unitarias y de integración utilizando el framework Jest y la biblioteca Supertest.
En este documento se presenta una introducción que abarca el contexto actual y los objetivos del proyecto, junto con el marco teórico. Se detalla el inception deck, que incluye, entre otros, la motivación, el análisis de riesgos e incertidumbres, la planificación global o los costos del proyecto. Posteriormente, se describe el product backlog y el desarrollo del sistema a lo largo de varios sprints, cubriendo el diseño de la arquitectura, la interfaz de usuario, los endpoints, las pruebas, así como las revisiones y retrospectivas de cada sprint. Finalmente, se presentan las conclusiones y las posibles líneas futuras de desarrollo, seguidas de la bibliografía utilizada.
Abstract:
In the current socioeconomic context, where property prices are reaching historical highs, renting has become the only viable option for many, especially for young people and families in vulnerable situations. The growing demand for traditional rentals, along with the increasing popularity of platforms such as Booking or Airbnb, has led property owners to become increasingly selective and strict with renting out their properties.
This project involves the design and development of a new web application aimed at these property owners, who seek to manage their real estate assets actively, efficiently, and from a unique place, without the need for intermediaries such as managers. The application will offer functionalities to manage various types of properties (houses, flats, garages), as well as the administration of associated income and expenses (rentals, insurance, community fees, etc.). Additionally, it will facilitate the management of related documents, enable the generation of financial statements to assess profitability, and offer tax assistance for income tax filing.
The project will be managed using the agile Scrum methodology, allowing efficient adaptation to the project’s changes and needs. The user interface will be developed using the Angular framework, designing and developing various modules for efficient navigation. The server-side of the application will be created with Node.js, using the Express framework to develop a REST API. This will include defining the server architecture, implementing RESTful endpoints for data management, and integrating with a MySQL database, ensuring security through authentication and authorization mechanisms.
The software ecosystem will be complemented with version control tools, Git and GitHub, integrated with the management tool Jira. Furthermore, a continuous integration flow will be defined with GitHub Actions, enabling automated testing upon code release and static code analysis with Sonar. Finally, a unit and integration testing environment will be configured using the Jest framework and the Supertest library.
This document presents an introduction covering the current context and project objectives, along with the theoretical framework. It details the inception deck, including, among other aspects, motivation, risk and uncertainty analysis, overall planning, and project costs. Subsequently, it describes the product backlog and the system development over several sprints, covering the architecture design, user interface, endpoints, testing, as well as sprint reviews and retrospectives. Finally, conclusions and possible future development lines are presented, followed by the bibliography used. Read More