Skip to content

bharatalok11/WonderLust

Repository files navigation

WonderLust

A full-stack travel and property hosting platform where users can list, discover, and book unique places to stay. Built with Node.js, Express, MongoDB, EJS, and Cloudinary.

🌐 Live Demo

View WonderLust on Render.com

🚀 Description

Wonderlust allows users to sign up, log in, create property listings, upload images, leave reviews, and explore locations with interactive maps.

✨ Features

  • User authentication (signup, login, logout)
  • Create, edit, and delete property listings
  • Image uploads with Cloudinary
  • Reviews and ratings
  • Interactive maps with Mapbox
  • Flash messages for user feedback
  • Responsive UI with Bootstrap

🛠️ Tech Stack

  • Node.js, Express.js
  • MongoDB & Mongoose
  • EJS & ejs-mate
  • Passport.js (authentication)
  • Cloudinary (image hosting)
  • Mapbox (maps & geocoding)
  • Bootstrap 5

🏁 Getting Started

  1. Clone the repo:
    git clone https://github.com/bharatalok11/wonderlust.git
    cd wonderlust
  2. Install dependencies:
    npm install
  3. Set up environment variables: Create a .env file with the following:
    ATLASDB_URL=your_mongodb_connection_string
    SESSION_SECRET=your_session_secret
    CLOUD_NAME=your_cloudinary_cloud_name
    CLOUD_API_KEY=your_cloudinary_api_key
    CLOUD_API_SECRET=your_cloudinary_api_secret
    MAPBOX_TOKEN=your_mapbox_token
    NODE_ENV=development
    PORT=valid_port_number (default is 10000)
  4. Run the app:
    node app.js
    The app will run on http://localhost:10000 by default.

🌍 Deployment

  • Ready for deployment on Render.com
  • Set all environment variables in the Render dashboard
  • Ensure Node version is set to 22.13.1

📁 Folder Structure

WebDevelopment/Projects/wonderlust/
│
├── assets/                # Images for README and documentation
├── controllers/           # Route controllers
├── models/                # Mongoose models
├── public/                # Static files (CSS, JS, images)
├── routes/                # Express routes
├── utils/                 # Utility functions and classes
├── views/                 # EJS templates
├── app.js                 # Main application file
├── package.json           # Project metadata and scripts
└── README.md              # Project documentation

🖼️ Screenshots : Preview

Home Explore Signup Login Create Listing View Listing 1 View Listing 2 Edit Listing
Home  |  Explore  |  Signup  |  Login  |  Create Listing  |  View Listing 1  |  View Listing 2  |  Edit Listing

Created by bharatalok11

Happy Coding! ❤️

About

A full-stack travel and property hosting platform built with Node.js, Express, MongoDB, EJS, and Cloudinary. Features user authentication, listing management, reviews, image uploads, and interactive maps.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors