SAIR:- Beyond Boundaries (aplicación web completa)
Tabla de contenido
- Descripción general del proyecto
- Tecnologías y paquetes utilizados
- Características clave
- Cómo instalar
- Desafíos y soluciones
- Autor
- Enlace de proyecto
Descripción general del proyecto
Sair es una aplicación web diseñada para facilitar la planificación de viajes y el alojamiento de alquiler. Aprovecha JavaScript, EJS y CSS para proporcionar a los usuarios una experiencia perfecta para reservar viajes y alojamiento. El repositorio del proyecto contiene todos los archivos y recursos necesarios para implementar la aplicación, con el objetivo de ofrecer una solución integral para los viajeros que buscan opciones de alojamiento convenientes y eficientes.
Tecnologías y paquetes utilizados
Backend
- MongoDB : base de datos NoSQL para almacenamiento de datos flexible y escalable.
- Express.js : marco de aplicaciones web para Node.js, proporcionando características sólidas para aplicaciones web y móviles.
- Node.js : JavaScript Runtime para el desarrollo del lado del servidor.
Autenticación
- Passport.js : middleware para autenticación de usuarios, admitiendo varias estrategias.
- Dotenv : Gestión de variables de entorno para configuración segura.
Almacenamiento de imágenes
- Cloudinaria : solución de gestión de imágenes y video basada en la nube.
Mapas
- MAPBOX : Plataforma para mapas personalizados y experiencias basadas en la ubicación.
Interfaz
- EJS : plantillas JavaScript integradas para la representación de contenido dinámico.
Gestión de sesiones
- Conecte Flash : Middleware para mensajes flash.
- Connect Mongo : MongoDB Session Store para Express.js.
- Parser de cookies : middleware para analizar cookies.
Validación
- JOI : Biblioteca para la validación de datos.
Modelado de objetos
- Mongosa : modelado de objetos MongoDB para node.js.
Cargas de archivo
- MULTER : Middleware para manejar las cargas de archivos.
Autenticación social
- Passport Local : Estrategia de autenticación local.
- Pasaporte Mongosa local : estrategia de autenticación específica de mangostos. Autenticación
Características clave
- Autenticación del usuario: sección de inicio de sesión, inicio de sesión y perfil de usuario
- Operaciones de Crud: Agregar, editar y eliminar listados
- Sistema de revisión: Agregar y eliminar revisiones
- Administración de cuentas: actualizar la cuenta de usuario y la contraseña
- Seguridad de datos del usuario: hash y cifrado de contraseña
- Mapas interactivos: aprovechando el mapbox para la visualización de la ubicación
- Iniciar sesión con el correo electrónico: Inicie de sesión de correo electrónico tradicional para la conveniencia del usuario
Cómo instalar
Siga estos pasos para configurar y ejecutar el proyecto localmente:
Clon el repositorio:
git clone https://github.com/akashdeep023/Airbnb_Project.git
cd Airbnb_Project
Instalar dependencias:
Configurar variables de entorno:
Configure las siguientes variables de entorno creando un archivo .env en la raíz de su proyecto:
Ejemplo :-
# https://cloudinary.com/ (Cloudinary) (Change key)
CLOUD_NAME=kjkdmckdhjks
CLOUD_API_KEY=89340593499490394
CLOUD_API_SECRET=jdskLKJlklkdlsdfkKKdsdkkd
# https://www.mapbox.com/ (Mapbox)
MAP_TOKEN=pk.eyJ1IjoiZGVsdGEtc3R1ZHVlbnQiLCJhIjoiY2xvMDk0MTVhMTJ3ZDJrcGR5ZDFkaHl4ciJ9.Gj2VU1wvxc7rFVt5E4KLOQ
# https://www.mongodb.com/ (MongoDb Atlas) (Change key)
ATLASDB_URL=mongodb+srv://demo:[email protected]/ ? retryWrites=true & w=majority
# Add Random Secret Key
SECRET=ckcdenlksufoifafknddsoiddfkadsfafd
Reemplace los valores con sus configuraciones específicas.
Ejecute la aplicación:
Abra en su navegador:
Abra http://localhost:8080/listings en su navegador web.
Desafíos y soluciones
Encontró desafíos, especialmente con el manejo de datos, pero implementó soluciones eficientes. Superó problemas de escalabilidad con un backend bien arquitectado.
Autor
Enlace de sitio web en vivo Sair - Beyond Boundaries
Gracias por visitar ...