Skip to content

Alokhya07/wanderlustsite

 
 

Repository files navigation

Wanderlust

Wanderlust is an Airbnb-style website that allows users to discover new places, create listings, and share their travel experiences. The platform is designed with a user-friendly interface to make exploration and sharing seamless.

Key Features

  • Explore Destinations: Users can browse through various destinations with an intuitive and user-friendly interface.
  • Create Listings: Users can list their own spaces, providing details and photos to attract fellow wanderers.
  • Reviews: Leave and read reviews to make informed travel decisions based on the experiences of others.
  • Account Management: Sign up for an account to unlock personalized features and manage your listings and bookings with ease.

New Skills Acquired

  • Error Handling: Implemented comprehensive error handling to enhance user experience and application stability.
  • Authentication & Authorization: Used Passport.js for secure user authentication and authorization.
  • Data Validation: Utilized Joi for robust validation of user inputs.
  • SQL Relationships: Managed complex data relationships using SQL for a reliable backend.
  • Modular Routing & Dynamic Views: Developed with Express Router and EJS templates to create modular routes and dynamic views.
  • User-friendly Authentication: Employed cookies, sessions, and Flash messages for a smooth authentication process and user notifications.
  • MVC Architecture: Adopted the Model-View-Controller architecture for organized and scalable code.
  • Location-Based Features: Integrated a Map API to provide location-based services and enhance user experience.

Tech Stack

  • Frontend: HTML, CSS, JavaScript
  • Backend: Node.js, Express.js
  • Database: MongoDB
  • Authentication: Passport.js
  • Validation: Joi
  • Architecture: MVC
  • APIs: RESTful APIs, Map API

Installation

  1. Clone the repository:

    git clone https://github.com/ramyasravanthi/Wanderlust.git
  2. Navigate to the project directory:

    cd Wanderlust
  3. Install dependencies:

    npm install
  4. Set up environment variables: Create a .env file in the root directory and add the following variables:

    PORT=3000
    DATABASE_URL=your-mongodb-url
    SESSION_SECRET=your-session-secret
    MAP_API_KEY=your-map-api-key
    
  5. Run the application:

    npm start

Usage

  1. Explore Destinations: Browse the home page to see various listings.
  2. Create an Account: Sign up or log in to access personalized features.
  3. Create a Listing: List your space by providing the required details.
  4. Reviews: Leave reviews for places you've visited and read others' reviews to make informed decisions.
  5. Account Management: Manage your listings, bookings, and reviews from your account dashboard.

Contributing

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-branch)
  3. Commit your changes (git commit -m 'Add some feature')
  4. Push to the branch (git push origin feature-branch)
  5. Create a new Pull Request

Acknowledgments

  • Special thanks to the developers and contributors of Passport.js, Joi, and other libraries used in this project.
  • Inspired by the Airbnb platform and community.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 42.1%
  • EJS 31.4%
  • CSS 23.9%
  • HTML 2.6%