Skip to content

coderajawat/WANDERLUST

Repository files navigation

🚀 Wanderlust: Review Listing and Plan Your Next Adventure

✈️ A full-featured travel listing and review platform built with Node.js, Express.js, MongoDB, EJS, and Cloudinary — featuring dynamic UI, authentication, cloud image uploads, interactive maps, and MVC architecture.


🔥 Features

  • 🔐 Secure user authentication with Passport.js
  • 🧾 Form validation using Joi
  • ☁️ Cloud image uploads via Cloudinary
  • 💬 Flash messages for real-time UI feedback
  • 📦 Modular MVC architecture: Controllers, Models, Routes, Views
  • 🌍 Dynamic pages rendered with EJS
  • ⚙️ Deploy-ready with Render

📁 Project Structure

Wanderlust/
│
├── controllers/       # Logic for each route
├── models/            # Mongoose schemas
├── public/            # Static assets (CSS, JS, images)
├── screenshots/       # Screenshots for readme
├── routes/            # Express route files
├── utils/             # Helper functions
├── views/             # EJS templates
│
├── app.js             # Main Express server
├── cloudConfig.js     # Cloudinary setup
├── middleware.js      # Auth & error handlers
├── schema.js          # Joi validation schemas
├── .env               # Environment variables
└── README.md          # You're here!

🚀 Getting Started

1️⃣ Clone the repo

git clone https://github.com/coderajawat/WANDERLUST.git
cd Wanderlust

2️⃣ Install dependencies

npm install

3️⃣ Setup environment variables

Create a .env file in the root folder:

CLOUD_NAME=your_cloudinary_cloud_name
CLOUD_API_KEY=your_cloudinary_api_key
CLOUD_API_SECRET=your_cloudinary_api_secret
MAP_TOKEN=your_mapbox_token
ATLASDB_URL=your_mongodb_connection_string
SECRET=your_session_secret
DEFAULTUSER_PASSWORD=your_default_user_password

4️⃣ Start the development server

node app.js

Go to 👉 http://localhost:8080/listings


🖼️ Screenshots

Home Page




Create Listing Page

🧠 Concepts You'll Learn

  • MVC pattern with Express.js
  • EJS templating engine
  • Passport.js authentication
  • MongoDB with Mongoose ORM
  • Cloudinary integration for image uploads
  • Flash messaging system
  • Middleware-based validation (Joi)
  • RESTful routing and modular structure

👨‍💻 Developer

Khushi Rajawat
🌐 LinkedIn 📫 Email: khushirajawat755@gmail.com


📄 License

This project is licensed under the MIT License.
Feel free to use, fork, and contribute 💙


⭐ If you found this project helpful or inspiring, please give it a star!

About

Wanderlust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published