Skip to content

LetsGetCactus/AirBnb

Repository files navigation

AirBnb

Proyecto de Airbnb en NestJS

Este proyecto consiste en desarrollar una plataforma similar a Airbnb usando NestJS. La plataforma permitirá gestionar dos tipos principales de usuarios: compradores (usuarios estándar) y vendedores (usuarios que pueden publicar apartamentos para alquilar).


Tipos de usuarios

Comprador

  • Todos los usuarios comienzan siendo compradores.

Vendedor

  • Un usuario puede ampliar su cuenta para ser vendedor desde el registro o más adelante.

Funcionalidades comunes (para compradores y vendedores)

Feed principal de apartamentos

  • Los usuarios pueden ver los apartamentos disponibles.
  • Se mostrarán primero los apartamentos más cercanos y con mejor valoración.
    Orden: valoración (60%) y ubicación (40%).
  • La lista será paginada y podrá filtrarse por nombre, fecha y tipo de apartamento.

Vista detallada del apartamento

  • Información completa del apartamento (fotos, descripción, ubicación, disponibilidad, etc.).
  • Sección de reseñas paginadas de los usuarios.
  • Opción para enviar solicitud de reserva especificando fechas de entrada y salida (solo si el apartamento está disponible).
    (Si está habilitada, la reserva puede realizarse automáticamente.)

Perfil del usuario

  • Cada usuario tendrá su propio perfil con:
    • Foto
    • Nombre
    • Edad
    • Número de apartamentos alquilados
    • Número de valoraciones recibidas

Apartado "Mis Solicitudes"

  • Los usuarios tienen un área para ver los apartamentos que han solicitado o reservado.
  • Si una solicitud es aceptada por el vendedor:
    • El usuario recibe una notificación.
    • La solicitud permanece en esta sección.
  • Si una solicitud es rechazada:
    • El usuario recibe una notificación.
    • La solicitud se elimina automáticamente de esta sección.
  • Cuando la solicitud es aceptada y llega la fecha de salida:
    • El usuario recibe una notificación para valorar el apartamento.

Apartado "Notificaciones"

  • Cada usuario tendrá su apartado de notificaciones donde podrá consultar:
    • Solicitudes aceptadas o rechazadas
    • Reseñas respondidas por el vendedor
    • Aviso para valorar la estancia una vez finalizada

Autenticación y seguridad

  • El sistema usará autenticación mediante tokens Bearer para la identificación segura del usuario.

Funcionalidades exclusivas para vendedores

Gestión de apartamentos

  • Acceso para añadir nuevos apartamentos, incluyendo:
    • Fotos
    • Nombre
    • Descripción
    • Dirección
    • Disponibilidad
    • Reserva automática
  • Visualización y gestión del estado de las solicitudes recibidas (aceptar o rechazar).

Gestión de reseñas

  • Capacidad para responder públicamente a las reseñas que dejan los usuarios sobre sus apartamentos.

Datos predefinidos (Seeders)

  • Se deberán seedear datos iniciales:
    • Usuarios
    • Apartamentos
    • Valoraciones
    • Solicitudes
  • Facilita el desarrollo y las pruebas.

Documentación en Swagger

  • Todo el backend deberá documentarse mediante Swagger para facilitar el uso e integración de las APIs.

About

Proyecto de prueba

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •