WanderList is a tourist place listing website where travelers can search, add, edit, delete, and review tourist destinations. It includes user authentication, robust server-side validation, cloud image uploads, and clean error handling — built with Node.js and Express.
- Search listings by name, country, category, or price.
- Clean UI for quick filtering of places.
- Add new tourist places with title, description, price, country, category, and image.
- Edit or delete existing listings.
- Secure form validation with Joi.
- Images hosted via Cloudinary.
- Users can add reviews for places.
- Each place displays average ratings.
- User registration & login with Passport.js.
- Sessions managed securely.
- Flash messages using connect-flash for clear feedback.
- Well-structured Express middleware for meaningful error detection and user-friendly error messages.
- Users can manage their profile and their added listings.
Backend: Node.js, Express
Frontend: HTML, CSS, Bootstrap, JavaScript
Database: MongoDB Atlas
Authentication: Passport.js
Validation: Joi
Flash Messages: connect-flash
Image Hosting: Cloudinary
✅ Smart search by name, country, category, price
✅ Add, edit, delete listings (CRUD)
✅ Form validation with Joi
✅ Secure Passport.js auth
✅ User feedback with connect-flash
✅ Cloud image uploads via Cloudinary
✅ Well-structured error handling middleware
WanderList — Explore, Share & Inspire Travel! 🌟