Skip to content

VENKATARAMANA-T/WanderLust-Project

Repository files navigation

WanderLust-Full-Stack-Travel-Platform

Overview

WanderLust is a comprehensive full-stack web application designed to facilitate the discovery and sharing of unique travel destinations and accommodations. Built on the Model-View-Controller (MVC) architectural pattern, it allows users to create, view, edit, and delete listings for various locations around the world. The platform integrates modern web technologies to ensure a seamless user experience, featuring interactive maps, image galleries, and a robust review system.

The application leverages a RESTful API structure with Node.js and Express.js handling the backend logic, while MongoDB serves as the persistent data store. Security and data integrity are prioritized through the implementation of server-side and client-side validation, secure session management using cookies, and user authentication via Passport.js. To enhance functionality, the system utilizes Mapbox for geocoding and map rendering, and Cloudinary for efficient cloud-based image storage. The final application is deployed using Render and connects to a MongoDB Atlas cluster, ensuring scalability and accessibility.

Features

  • Authentication & Authorization: Secure user signup and login functionality using Passport.js, ensuring listing protection.
  • CRUD Operations: Full Create, Read, Update, and Delete capabilities for Listings and Reviews.
  • MVC Structure: Clean code organization separating Models, Views, and Controllers.
  • Geocoding & Maps: Integration with Mapbox APIs to convert location names into coordinates and display them on interactive maps.
  • Cloud Storage: Efficient handling of image uploads using Cloudinary.
  • Data Validation: Robust input validation using Joi for both client and server sides to prevent invalid data entry.
  • Flash Messages: Instant feedback for users regarding success or failure of actions.
  • Database Relationships: structured MongoDB models linking users, reviews, and listings effectively.

Try It Out

Experience the WanderLust platform live. https://wanderlust-project-6l62.onrender.com/listings

Click on the Deployment Link in the repository details to explore listings, view maps, and test the authentication features.

Live Demo

https://youtu.be/MRObNi0xAU0

Run it Locally

📋 Prerequisites

  • Node.js (v14.x or higher)
  • npm (Node Package Manager)
  • MongoDB (Local instance or Atlas connection)
  • Git

1. Clone this Repo into your local machine

git clone https://github.com/VENKATARAMANA-T/WanderLust-Project
cd WanderLust

2. Install the Requirements

npm install

3. Configure Environment Variables

Create a .env file in the root directory and add your specific credentials (API keys and Database URL):

4. Run the App locally

node app.js

or if you have nodemon installed:

nodemon app.js

The application will typically run on http://localhost:8080 (or the port defined in your app.js).

🤝 Contributing

We welcome contributions!

Fork and Create a Feature Branch

git checkout -b feature/your-feature-name

Stage, Commit and Push Changes

git add .
git commit -m "Add <description>"
git push origin feature/your-feature-name

After pushing your branch, create a Pull Request from your forked repo.

About

This is a Full stack project , in which we can discover about places in the world.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors