An open API service indexing awesome lists of open source software.

https://github.com/cltxvz/tripplanner

A planning app to organize, track, and budget your trips with ease!
https://github.com/cltxvz/tripplanner

budget-tracking css drag-and-drop github-pages html interactive-ui itinerary-planner javascript local-storage responsive-design travel-management user-friendly-interface web-application

Last synced: 7 months ago
JSON representation

A planning app to organize, track, and budget your trips with ease!

Awesome Lists containing this project

README

          

# 🌍 **TripPlanner**

*"Plan, organize, and enjoy your perfect vacation!"*

---

## πŸš€ **Description:**

**TripPlanner** is a powerful and user-friendly trip planning application built with **React**. Whether traveling solo or with a group, TripPlanner helps manage flights, accommodations, daily activities, budgets, and itineraries in a **seamless** and **interactive** way. With features like a **drag-and-drop itinerary builder**, **real-time budget tracking**, and **JSON-based import/export**, TripPlanner makes planning your dream vacation effortless.

---

## πŸ› οΈ **Technologies Used:**

### **Stack:**
- **Frontend:** React, Bootstrap, React Router.
- **State Management:** LocalStorage (for now, backend planned for the future).
- **Styling:** Bootstrap 5, CSS.
- **Version Control:** Git & GitHub.

---

## πŸ“š **Skills & Concepts Applied**

- **React Component Architecture** β†’ Modular, reusable components.
- **State Management** β†’ LocalStorage for now, expandable to Backend DB.
- **React Hooks (useState, useEffect, useCallback)** for dynamic UI updates.
- **Event Handling** β†’ Drag & Drop functionality for trip scheduling.
- **Data Persistence** β†’ Saves trip data in browser storage for later retrieval.
- **Error Handling** β†’ Improved UI feedback with alerts and validation.

---

## πŸ“– **How to Use TripPlanner**

### **Set Up Your Trip**
1. Start by entering **destination, duration, and number of travelers**.
2. Edit trip details anytime via the **Edit Trip** section.

### **Manage Activities**
1. Add activities to your **Available Activities Pool** with details like cost and time.
2. Drag and drop activities into the **Daily Itinerary**.
3. Schedule activity times using the **calendar-style planner**.

### **Track Budgets & Costs**
1. View **real-time calculations** of trip expenses for individuals and groups.
2. Add flights, stays, and additional expenses in the **Trip Overview**.

### **Save, Export & Share Your Trip**
1. Trip data **automatically saves** in the browser via LocalStorage.
2. Export your trip plan as a **JSON file** for easy sharing or backup.
3. Import saved trip files to **resume planning instantly**.

---

## πŸ“Š **Features**

### πŸ”₯ **Core Features**
βœ” **Trip Overview** β†’ Flights, stays, additional expenses, and budgets in one place.
βœ” **Activity Management** β†’ Add, edit, and remove activities dynamically.
βœ” **Daily Itineraries** β†’ **Calendar View** for structured trip scheduling.
βœ” **Drag & Drop** β†’ Schedule activities seamlessly with an interactive planner.
βœ” **Budget Tracking** β†’ **Automatic calculations for all travelers & per person**.
βœ” **To-Do List** β†’ Create and check off travel-related tasks.
βœ” **Real-time Data Saving** β†’ Ensures no progress is lost.
βœ” **Import/Export** β†’ Load and save trips as JSON files.
βœ” **Mobile-Friendly** β†’ Optimized UI for both **desktop & mobile**.

---

## πŸ— **Future Enhancements**

### πŸš€ **Backend Implementation (Planned)**
- **User Authentication** β†’ Login system for personal trip storage.
- **Cloud Database (MongoDB, Firebase, PostgreSQL)** β†’ Save trip data online.
- **Trip Collaboration Feature** β†’ Share and edit trips with friends in real time.
- **Flight & Hotel API Integration** β†’ Fetch real-time travel data.
- **AI-Powered Recommendations** β†’ Suggest activities, budget optimizations, and schedules.
- **Expense Splitting** β†’ Feature to split trip costs among travelers.

---

## πŸƒ **How to Run the Project Locally**

1. **Clone the repository:**
```bash
git clone https://github.com/cltxvz/tripPlanner.git
```
2. **Navigate to the project folder:**
```bash
cd tripPlanner
```
3. **Install dependencies:**
```bash
npm install
```
4. **Start the development server:**
```bash
npm start
```
5. Open `http://localhost:3000` in your browser to start planning your trip!

---

## πŸ‘€ **Author**

**Carlos A. CΓ‘rdenas**

Feel free to reach out for collaboration or feedback!

Thank you for using **TripPlanner**! 🌍✨ If you like this project, **⭐ star the repository** and contribute to its growth. πŸš€