Skip to content

✈️ Full Stack Travel Web App 🌍 | Node.js, Express, MongoDB, EJS | Auth, CRUD, Middleware, Reviews & Error Handling πŸ•οΈ

Notifications You must be signed in to change notification settings

LalitKumarSahu/WonderLust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ•οΈ WonderLust β€” Full Stack Travel Web App

✈️ Explore the world with WonderLust β€” a full stack travel web app inspired by Airbnb.

πŸš€ About the Project

WonderLust is a full stack travel web application where users can create, edit, view, and review travel destinations. It’s built using Node.js, Express.js, MongoDB, and EJS, following the MVC architecture for clean and scalable code.

βš™οΈ Features

πŸ” User Authentication & Authorization (Login, Signup, Logout)

🧭 Add, Edit & Delete Listings (CRUD operations)

🏞️ Image Upload & Update functionality

πŸ’¬ Review & Rating System for destinations

⚑ Middleware & Error Handling for clean request flow

🧩 MVC Architecture for maintainability

🌐 Fully functional server using Express & MongoDB

πŸ› οΈ Tech Stack

Frontend: EJS, Bootstrap, CSS Backend: Node.js, Express.js Database: MongoDB (Mongoose ODM) Authentication: Passport.js Validation: Joi Tools: Nodemon, Cloudinary (if used for image upload)

πŸ“¦ Installation & Setup

Clone the repository

git clone https://github.com/LalitKumarSahu/WonderLust.git

Navigate to the project directory

cd WonderLust

Install dependencies

npm install

Create .env file

NODE_ENV=development PORT=3000 ATLASDB_URL=your_mongodb_connection_string SECRET=your_secret_key CLOUD_NAME=your_cloudinary_cloud_name CLOUD_API_KEY=your_cloudinary_api_key CLOUD_API_SECRET=your_cloudinary_api_secret

Initialize database

npm run init

Run the app

nodemon app.js

πŸ“ Project Structure wanderlust/ β”œβ”€β”€ controllers/ # Route controllers β”œβ”€β”€ models/ # Mongoose models β”œβ”€β”€ routes/ # Express routes β”œβ”€β”€ views/ # EJS templates β”œβ”€β”€ public/ # Static files β”œβ”€β”€ middleware.js # Custom middleware └── app.js # Main application file

(App will start locally β€” open in your browser at http://localhost:3000 or the port you configured.)

πŸ”’ Environment Variables

Create a .env file in the project root and add:

MONGO_URL=your_mongodb_connection_string SECRET=your_secret_key CLOUDINARY_CLOUD_NAME=your_cloud_name CLOUDINARY_KEY=your_api_key CLOUDINARY_SECRET=your_api_secret

πŸ“Έ Screenshots (optional)

You can add screenshots of your pages here:

/assets/homepage.png /assets/listing-page.png /assets/review-section.png

πŸ§‘β€πŸ’» Author

Lalit Kumar Sahu πŸ“§ [email protected]

🌐 GitHub Profile

⭐ Show Your Support

If you like this project, give it a ⭐ on GitHub!

About

✈️ Full Stack Travel Web App 🌍 | Node.js, Express, MongoDB, EJS | Auth, CRUD, Middleware, Reviews & Error Handling πŸ•οΈ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published