The project is an online real estate portal that offers users the ability to browse and manage properties available for sale and rent. It is designed to be a comprehensive and user-friendly platform that provides access to a wide variety of housing options.
Here're some of the project's best features:
- Property Exploration: Users can browse a wide range of properties available to buy or rent. They can browse by different categories such as type of home location and price to find properties that suit their needs.
- Registration and User Profile: Users can register with the real estate portal to access exclusive features. Once registered they have user profiles where they can manage their personal data and settings.
- Property Publication: Owners can publish their own properties for sale or rent. The publication form allows them to enter property details add images and preview before publication.
- Property Management: Owners can manage their own listings. They can edit or delete properties from their listing at any time making it easy to update information.
- Contact Functionality: Users interested in a property can contact the owner or real estate agent through the "Contact" button. This initiates direct communication.
- User Administration: Site administrators have access to an administrator view where they can view and manage user accounts. They can enable or disable accounts as needed.
- Easy Navigation: The navigation bar at the top of the page allows users to easily access the home page purchase and rental sections and manage their profile.
Technologies used in the project:
- SpringBoot V3.1.4
- Angular V16.2.3
- Postman V10.18
- Bootstrap V5.3.2
- MySQL V8.0 Community Edition
- Typescript V5.1.0
- Java V17
- Karma-Jasmine V5.1.0
Angular
- Bootstrap
- Bootstrap-icons
- JQuery
- Popper.js
- RxJs
- Ngx-cookie
Springboot
- Starter-data-Jpa
- Starter-Mail
- Starter-Security
- Starter-Web
- Devtools
- mysql-connector-j
- Starter-Test
- Lombok
- security Test
- Maven Plugin
Java
- Hamcrest
- JUnit
Requisitos Previos
Antes de comenzar, asegúrate de que tu sistema cumple con los requisitos previos necesarios para desarrollar y ejecutar el proyecto. Esto podría incluir:
• Sistema Operativo: El proyecto se ha desarrollado y probado en sistemas operativos compatibles, como Windows, macOS o Linux. Asegúrate de tener uno de estos sistemas.
• Herramientas de Desarrollo: Asegúrate de tener las siguientes herramientas instaladas en tu sistema:
• Java: Asegúrate de tener Java 17 o una versión compatible instalada. Puedes descargar Java desde el sitio web oficial de Oracle o utilizar una distribución OpenJDK.
• Node.js y npm: Instala Node.js, que también incluye npm (Node Package Manager). Puedes descargarlo desde el sitio web oficial de Node.js.
• Angular CLI: Instala Angular CLI globalmente usando npm:
npm install -g @angular/cli
• MySQL: Asegúrate de tener una instancia de MySQL 8.0 Community Edition instalada y configurada. Debes conocer el nombre de usuario y la contraseña de MySQL.
• Spring Boot: Asegúrate de tener Spring Boot 3.1.4 configurado en tu entorno de desarrollo.
Configuración del Proyecto
- Clonar el Repositorio:
Clona el repositorio del proyecto desde un sistema de control de versiones como Git. Utiliza el siguiente comando en tu terminal:
git clone - Backend (Spring Boot):
• Abre el proyecto Spring Boot en tu IDE de desarrollo.
• Asegúrate de que las dependencias del proyecto se han descargado correctamente.
• Configura las propiedades de la base de datos en application.properties o application.yml. Asegúrate de especificar la URL, nombre de usuario y contraseña de la base de datos MySQL.
• Inicia la aplicación Spring Boot. - Frontend (Angular):
• Abre una terminal y navega hasta el directorio de frontend del proyecto.
• Ejecuta el siguiente comando para instalar las dependencias de Angular:
npm install
• Configura la URL de la API del backend en el archivo de configuración de Angular.
• Inicia la aplicación de Angular con el siguiente comando:
ng serve
• La aplicación de Angular estará disponible en http://localhost:4200/.
- Francisco Saavedra - Product Owner
- David Gomez - Scrum Master
- Cristian Ortega - Team Lead
- Jose Luis Medina - Developer
- Maria Fernandez - Developer
- Natalia G. Mihalache - Developer
- Guillermo Llausas - Developer
- Mario Olabe - Developer
This project is licensed under the Pedagogical Project for Factoria F5 and NTT Data


