WanderLust is a full-stack travel and accommodation listing platform inspired by modern rental and travel websites. The application allows users to explore destinations, create listings, write reviews, and manage content securely. It is built using Node.js, Express, MongoDB, and EJS, following the MVC architecture.
This project demonstrates strong backend fundamentals, authentication, authorization, and CRUD operations, making it ideal for internship applications and academic projects.
Deployed Application: https://wanderlust-xz5o.onrender.com
- π User authentication & authorization (Login / Signup)
- π Create, edit, and delete travel listings
- π Add and manage reviews for listings
- π€ User-specific content control (only owners can edit/delete)
- πΈ Image upload support with cloud configuration
- π‘οΈ Secure routes using middleware
- π¦ MVC architecture for clean code structure
- π Server-side rendered views using EJS
- EJS (Embedded JavaScript Templates)
- HTML5
- CSS3
- Bootstrap
- Node.js
- Express.js
- MongoDB & Mongoose
- Passport.js (Authentication)
- Express-Session
- Method-Override
- MongoDB Atlas (Cloud Database)
- Render
wanderlust/
β
βββ controllers/ # Business logic and route handlers
βββ init/ # Database initialization scripts
βββ models/ # MongoDB schemas and models
βββ public/ # Static assets (CSS, JS, images)
βββ routes/ # Express route definitions
βββ utils/ # Utility functions and helpers
βββ views/ # EJS templates
βββ screenshots/ # Application screenshots
β βββ home.png
β βββ listing.png
β βββ add-listing.png
β βββ reviews.png
β βββ login.png
β
βββ app.js # Main application entry point
βββ cloudConfig.js # Cloudinary configuration
βββ middleware.js # Custom middleware functions
βββ schema.js # Validation schemas
βββ package.json # Project dependencies
βββ package-lock.json # Dependency lock file
βββ README.md # Project documentation
git clone https://github.com/Sarfarazsfz/wanderlust.git
cd wanderlustnpm installCreate a .env file in the root directory:
CLOUD_NAME=your_cloudinary_name
CLOUD_API_KEY=your_cloudinary_api_key
CLOUD_API_SECRET=your_cloudinary_api_secret
SESSION_SECRET=your_session_secret
MONGO_URI=your_mongodb_atlas_urinpm startServer will run at: http://localhost:3000
WanderLust follows the MVC (Model-View-Controller) architecture pattern:
- User authentication and profile management
- Listing creation and management
- Review system with ratings
- EJS templating engine for dynamic content
- Responsive Bootstrap UI components
- Server-side rendered pages
- Route handlers for listings, reviews, and users
- Business logic separation
- Middleware integration for security
- β Authentication using Passport.js
- β Authorization checks for protected actions
- β Secure session management
- β Data validation using schemas
- β Middleware-protected routes
- β Password hashing and encryption
- β CSRF protection
- β Input sanitization
- Travel & accommodation listing platform
- CRUD-based full-stack project demo
- Backend-focused internship project
- Academic / college submission
- Portfolio project for web development roles
- Add search and filter functionality
- Implement booking system
- Add payment gateway integration
- Enable map integration for location visualization
- Add email notifications
- Implement user profile pages
- Add favorites/wishlist feature
- Enable social sharing options
This project demonstrates proficiency in:
- RESTful API design
- Database modeling and relationships
- Authentication and authorization patterns
- MVC architecture implementation
- Cloud storage integration
- Deployment and DevOps basics
This project is open source and available under the MIT License.
Developer: MD SARFARAZ ALAM
- GitHub: https://github.com/Sarfarazsfz
- LinkedIn: https://www.linkedin.com/in/faraz4237/
Inspired by modern travel platforms and built to strengthen full-stack web development fundamentals.
WanderLust β Explore destinations, share experiences, and travel smarter. π
If you found this project helpful, please consider giving it a β on GitHub!




