Skip to content

SAIR is a project repository focused on developing a platform for traveling and rental accommodations. It primarily uses JavaScript, EJS, and CSS. The repository includes essential project files and resources to deploy the application, catering to users looking for travel and lodging solutions.

Notifications You must be signed in to change notification settings

Mohan-duhan/SAIR

Repository files navigation

SAIR:- Beyond Boundaries (Full-Stack Web Application) 🚀


Table of Contents

Project Overview

SAIR is a web application designed to facilitate travel planning and rental accommodations. It leverages JavaScript, EJS, and CSS to provide users with a seamless experience for booking travel and lodging. The project repository contains all the necessary files and resources to deploy the application, aiming to offer a comprehensive solution for travelers seeking convenient and efficient accommodation options.

Technologies & Packages Used

Backend

  • MongoDB: NoSQL database for flexible and scalable data storage.
  • Express.js: Web application framework for Node.js, providing robust features for web and mobile applications.
  • Node.js: JavaScript runtime for server-side development.

Authentication

  • Passport.js: Middleware for user authentication, supporting various strategies.
  • Dotenv: Environment variable management for secure configuration.

Image Storage

  • Cloudinary: Cloud-based image and video management solution.

Maps

  • Mapbox: Platform for custom maps and location-based experiences.

Frontend

  • EJS: Embedded JavaScript templates for dynamic content rendering.

Session Management

  • Connect Flash: Middleware for flash messages.
  • Connect Mongo: MongoDB session store for Express.js.
  • Cookie Parser: Middleware for parsing cookies.

Validation

  • Joi: Library for data validation.

Object Modeling

  • Mongoose: MongoDB object modeling for Node.js.

File Uploads

  • Multer: Middleware for handling file uploads.

Social Authentication

  • Passport Local: Local authentication strategy.
  • Passport Local Mongoose: Mongoose-specific authentication strategy. Authentication

Key Features

  • User Authentication: Login, Logout, and User Profile Section
  • CRUD Operations: Add, Edit, and Delete Listings
  • Review System: Add and Delete Reviews
  • Account Management: Update User Account and Password
  • User Data Security: Password Hashing and Encryption
  • Interactive Maps: Leveraging Mapbox for Location Visualization
  • Login with Email: Traditional email login for user convenience

How to Install

Follow these steps to set up and run the project locally:

  1. Clone the Repository:

    git clone https://github.com/akashdeep023/Airbnb_Project.git
    cd Airbnb_Project
  2. Install Dependencies:

    npm install
  3. Set Up Environment Variables:

    Configure the following environment variables by creating a .env file in the root of your project:

    Example :-

    #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
    

    Replace the values with your specific configurations.

  4. Run the Application:

    node app.js
  5. Open in Your Browser:

    Open http://localhost:8080/listings in your web browser.

Challenges & Solutions

Encountered challenges, especially with data handling, but implemented efficient solutions. Overcame scalability issues with a well-architected backend.

Author

Mohan Singh
Email: [email protected]
LinkedIn : duhanmohan

Live Website Link Sair - Beyond Boundaries

Thanks for visit... 😊😊😊

About

SAIR is a project repository focused on developing a platform for traveling and rental accommodations. It primarily uses JavaScript, EJS, and CSS. The repository includes essential project files and resources to deploy the application, catering to users looking for travel and lodging solutions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published