ποΈ WonderLust β Full Stack Travel Web App
π 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!