Desarrollo de un Sistema Integral de Gestión de Ventas Inmobiliarias con Spring Boot y Vue.js

Descripción del Proyecto

Este sistema representa una solución completa para la gestión de activos inmobiliarios, desarrollada bajo una arquitectura de software desacoplada (Frontend y Backend independientes). Implementa tecnologías modernas como Java con Spring Boot para la lógica de servidor y Vue.js para la interfaz de usuario, proporcionando una base sólida para el aprendizaje de arquitecturas empresariales y el manejo de flujos de datos complejos en aplicaciones web.

Funcionalidades del Sistema

  • Administración de Propiedades: Módulo para la inserción, actualización y consulta de inmuebles, permitiendo gestionar precios, descripciones técnicas y metadatos adicionales.
  • Clasificación por Tipologías: Organización jerárquica de los bienes raíces mediante categorías personalizables.
  • Moderación de Interacciones: Panel de control para supervisar y gestionar los comentarios realizados por los usuarios en las publicaciones.
  • Gestión de Identidades: Sistema CRUD (Crear, Leer, Actualizar, Borrar) para el control de cuentas de usuario y perfiles de acceso.
  • Dashboard Estadístico: Visualización de métricas clave sobre la actividad de las propiedades y el compromiso de los usuarios para facilitar la toma de decisiones.
  • Canal de Notificaciones: Herramienta para la difusión de mensajes globales a todos los usuarios registrados desde el panel administrativo.
  • Módulo de Publicidad: Gestión de banners y anuncios segmentados que se visualizan en áreas estratégicas de la plataforma.
  • Centro de Soporte y Feedback: Recepción y seguimiento de las sugerencias u opiniones enviadas por los visitantes.
  • Monitorización del Servidor: Acceso a información técnica del entorno, incluyendo estado de la CPU, memoria, detalles del software y métricas del sistema.
  • Portal de Usuario: Interfaz pública que permite la navegación por propiedades, destacando las novedades y los inmuebles con mayor tráfico.
  • Motor de Recomendación: Implementación de algoritmos de filtrado colaborativo para sugerir propiedades basadas en el comportamiento del usuario.
  • Área Privada: Gestión de perfiles personales, historial de favoritos, valoraciones y cambios de seguridad.
  • Sistema de Citas: Módulo para la gestión y seguimiento de solicitudes de visita a las propiedades.
  • Búsqueda Indexada: Motor de búsqueda con soporte para consultas parciales y filtros avanzados.

Stack Tecnológico

  • Backend: Java 8, Framework Spring Boot, persistencia con MyBatis.
  • Frontend: Ecosistema JavaScript moderno, Vue.js, Vuex para estado global, Vue Router, Axios para peticiones HTTP y Ant Design para la interfaz.
  • Persistencia de Datos: MySQL 5.7 o superior.
  • Herramientas de Desarrollo: IntelliJ IDEA, Visual Studio Code, Maven y Node.js.

Procedimiento de Despliegue

Requisitos Previos

Asegúrese de contar con las versiones adecuadas de Java JDK, MySQL y Node.js instaladas en su entorno local.

Configuración del Servidor (Back end)

  1. Importar el directorio del servidor en su IDE preferido y sincronizar las dependencias mediante Maven.
  2. Configurar la instancia de la base de datos ejecutando el siguiente comando SQL:
CREATE SCHEMA IF NOT EXISTS db_gestion_inmobiliaria DEFAULT CHARACTER SET utf8mb4;
  1. Migrar el esquema y los datos iniciales utilizando el archivo SQL proporcionado en los recursos del proyecto.
  2. Ajustar las credenciales de acceso en el archivo application.yml:
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/db_gestion_inmobiliaria?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: su_usuario
    password: su_contraseña
    driver-class-name: com.mysql.cj.jdbc.Driver
  1. Ejecutar la clase principal de la aplicación Spring Boot para iniciar el servicio REST.

Configuración del Cliente (Frontend)

  1. Navegar mediante la terminal al directorio del proyecto web.
  2. Instalar los paquetes necesarios:
npm i
  1. Iniciar el servidor de desarrollo:
npm run serve

Preguntas Frecuentes

¿Cuál es la compatibilidad con bases de datos?
El sistema está optimizado para MySQL 5.7, aunque es compatible con versiones 8.0 o superiores ajustando el driver en el archivo de configuración.

¿Cómo se distribuye la arquitectura del código?
La carpeta server contiene toda la lógica de negocio, controladores y mapeos de datos. La carpeta web contiene la aplicación SPA (Single Page Application) construida con Vue.

¿Cuáles son las credenciales administrativas por defecto?
El acceso inicial para el panel de control es: Usuario admin123 / Clave admin123.

Etiquetas: java spring-boot vue.js MySQL MyBatis

Publicado el 8-15 16:23