Skip to content

Latest commit

 

History

History
102 lines (72 loc) · 3.12 KB

README.md

File metadata and controls

102 lines (72 loc) · 3.12 KB

Wanderlust

Wanderlust is a dynamic web application designed to help users explore and share exciting travel destinations. Users can browse, review, and share their own experiences at different locations, creating a community-driven travel platform.

Table of Contents

Screenshots

Homepage Login page create listing page Lisitng details page

Features

  • User Authentication: Secure login and registration using Passport.js.
  • Listings: Users can browse through various travel listings and share their own.
  • Reviews: Leave reviews for different listings, rate them, and share feedback with other users.
  • Responsive Design: Optimized for both desktop and mobile devices.
  • Flash Messages: Display success and error messages for user actions.

Installation

  1. Clone the repository:

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

    cd Wanderlust
    
  3. Install dependencies:

    npm install
    
  4. Set up the .env file in the root directory:

    ATLASDB_URL=<your database url>
    CLOUD_NAME=<your cloud name>
    CLOUD_API_KEY=<your cloud api key>
    CLOUD_API_SECRET=<your cloud api secret code>
    SECRET=<your secret key>
  5. Start the MongoDB server:

    mongod
    
  6. Run the server:

    npm .\app.js
    
  7. Access the app by visiting http://localhost:8080.

Usage

  • Listings: Browse and add new travel listings by navigating to the Listings section.
  • Reviews: View reviews for a listing or add your own review if you have visited the destination.
  • Authentication: Log in to access user-specific features like adding new listings and leaving reviews.
  • Responsive Interface: Enjoy a mobile-first design, ensuring a smooth experience on all devices.

Technologies Used

  • Backend: Node.js, Express, MongoDB
  • Frontend: EJS, Bootstrap, CSS
  • Authentication: Passport.js
  • Storage: MongoDB with Mongoose
  • Session Management: express-session, connect-mongo
  • Error Handling: Custom error classes and flash messages

Contributing

Contributions are welcome! Please follow these steps:

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

Contact

If you have any questions or suggestions, feel free to open an issue on GitHub or contact me directly via GitHub Issues.