Proyecto Inmobiliario Web
Descripción
Este proyecto es una plataforma web para una empresa inmobiliaria que permite a los usuarios buscar, visualizar y gestionar inmuebles. La aplicación permite subir hasta 30 fotos por inmueble, las cuales se muestran en miniaturas que pueden ampliarse mediante un Lightbox. También incluye funcionalidades de búsqueda avanzada por tipo de inmueble, ubicación, precio, y otras características. Los usuarios pueden registrarse y administrar sus propios inmuebles directamente en la plataforma.
Alcance
El proyecto tiene como objetivo entregar una solución completa que abarque desde la gestión de inmuebles hasta la visualización de los mismos, asegurando una experiencia de usuario fluida y segura. El proyecto se desarrolla en un periodo de dos meses, incluyendo fases de desarrollo, pruebas, revisión, y ajustes según el feedback del cliente.
Funcionalidades Principales
- Registro y autenticación de usuarios.
- Subida y gestión de inmuebles por parte de los usuarios.
- Visualización de imágenes ampliadas utilizando Lightbox.
- Búsqueda avanzada de inmuebles con filtros personalizables.
- Gestión segura de datos con autenticación basada en tokens JWT.
- Interfaz de usuario intuitiva y compatible con dispositivos móviles.
Tecnologías Utilizadas
Frontend
- React.js: Librería principal para la construcción de la interfaz de usuario.
- TypeScript: Usado para asegurar un código robusto y escalable.
- Tailwind CSS: Para el diseño y estilo de la interfaz de usuario.
- Lightbox: Librería utilizada para la visualización de imágenes ampliadas.
Backend
- Node.js: Plataforma de backend utilizada para crear la API del servidor.
- Express.js: Framework para construir la API REST.
- PostgreSQL: Base de datos relacional para almacenar datos de usuarios e inmuebles.
- TypeORM: ORM para la gestión y consulta de la base de datos.
- JWT: Para la autenticación segura de usuarios.
Otros
- GitHub: Control de versiones y gestión del proyecto.
- Jest: Para pruebas unitarias y de integración.
- Docker: Para contenerización de la aplicación y facilitar su despliegue.
Estructura del Proyecto
La estructura del proyecto sigue las mejores prácticas de desarrollo web, separando las responsabilidades entre el frontend y el backend: