- 🔐 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 Netlify and
serverless-http
WanderNest/
│
├── controllers/ # Logic for each route
├── models/ # Mongoose schemas
├── routes/ # Express route files
├── views/ # EJS templates
├── public/ # Static assets (CSS, JS, images)
├── utils/ # Helper functions
│
├── app.js # Main Express server
├── cloudConfig.js # Cloudinary setup
├── middleware.js # Auth & error handlers
├── schema.js # Joi validation schemas
├── netlify.toml # Netlify config
├── .env # Environment variables
└── README.md # You're here!
git clone https://github.com/kumarshubhh/Major-Project.git
cd Major-Projectnpm installCreate a .env file in the root folder:
DB_URL=your_mongodb_connection_string
CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
CLOUDINARY_KEY=your_api_key
CLOUDINARY_SECRET=your_api_secret
SESSION_SECRET=your_custom_secretnpm startGo to 👉 http://localhost:3000
Make sure to place these images in the
/screenshotsfolder
- 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
Shubhanshu Kumar
🌐 LinkedIn
📫 Email: subhanshukumar290@gmail.com
💬 Discord: shubhanshu0270_27600
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!

