Skip to content

Built a full-stack travel platform with TomTom's API for real-time maps. Designed a responsive UI and implemented Passport Authentication. Built a trending destinations feature based on user views.

Notifications You must be signed in to change notification settings

tsujit74/project

Repository files navigation

# 🌍 Wanderlust (Dharmsanchara)

A **full-stack travel platform** that allows users to explore, list, and review travel destinations. Integrated with **TomTom Maps API** for real-time location visualization and secure user authentication with Passport.  

## 🚀 Live Demo  
🔗 [Wanderlust App](https://project-wander.onrender.com/listings)  

---

## ✨ Key Features  
- 🔑 **User Authentication** – Login, Logout, and Profile Management  
- 📝 **CRUD Operations** – Add, Edit, and Delete Travel Listings  
-**Review System** – Add and Manage Reviews for Destinations  
- 🔒 **Secure User Data** – Password Hashing & Authentication with Passport.js  
- 🗺 **Interactive Maps** – Integrated with **TomTom Maps API**  
- 📈 **Trending Destinations** – Based on user activity and views  
- 📧 **SOS Email Alerts** – Send emergency alerts to registered contacts  
- 🧑‍🤝‍🧑 **Guide Booking** – Hire local travel guides for personalized experiences  

---

## 🚀 Future Scope  
- 📍 **AI-powered Recommendations** – Personalized suggestions based on user preferences  
- 💳 **Payment Integration** – Secure booking and guide payments  
- 🤝 **Community Features** – Forums, group trips, and real-time chat system  
- 📱 **Mobile App** – Cross-platform app for Android & iOS  
- 🌐 **Multi-language Support** – Accessible for global users  

---

## 🛠 Tech Stack  
- **Frontend:** HTML, CSS, JavaScript  
- **Backend:** Node.js, Express.js  
- **Database:** MongoDB (Atlas)  
- **Authentication:** Passport.js  
- **Maps Integration:** TomTom Maps API  
- **File Storage:** Cloudinary (for images)  
- **Email Service:** Nodemailer  

---

## 📸 Screenshots  

### 🏠 Homepage  
![Homepage](/public/screenshots/landing-page.png)  

### 📍 Listings Page  
![Listings](/public/screenshots/listing-view.png)  

### 👤 User Dashboard  
![User Dashboard](/public/screenshots/user-dashboard.png)  

### ⭐ Map & Reviews  
![Map and Review](/public/screenshots/map-review.png)  

### 📝 Create Listing  
![Create Listing](/public/screenshots/create-listing.png)  

---

## ⚡ Installation & Setup  

1. **Clone the repository**  
   ```bash
   git clone https://github.com/tsujit74/project.git
   cd project
  1. Install dependencies

    npm install
  2. Configure environment variables – Create a .env file in the root folder and add:

    CLOUD_NAME=your_cloudinary_name
    CLOUD_API_KEY=your_cloudinary_key
    CLOUD_API_SECRET=your_cloudinary_secret
    
    MAP_API_KEY=your_tomtom_api_key
    
    ATLASDB_URL=your_mongodb_connection_string
    SECRET=your_session_secret
    
    EMAIL_USER=your_email
    EMAIL_PASS=your_email_password
  3. Run the server

    npm start

    The app will run at: http://localhost:3000


👨‍💻 Author

Developed with ❤️ by Sujit Thakur 🚀 📌 Portfolio | GitHub | LinkedIn


About

Built a full-stack travel platform with TomTom's API for real-time maps. Designed a responsive UI and implemented Passport Authentication. Built a trending destinations feature based on user views.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published