Trip Planner is a web application designed to help users plan their trips by suggesting customized itineraries based on their preferences. The app provides recommendations for various destinations, allowing users to generate detailed travel plans that include places to visit, timings, and more.
- Customized Itineraries: Generate trip itineraries based on user inputs such as trip duration, destination, and style.
- Place Categories: Fetch recommendations from categories like entertainment, natural, leisure, tourism, beach, and heritage.
- Detailed Timetables: View daily schedules with 4-5 places to visit, including timings from 9 AM to 9 PM.
- Interactive UI: Cards for each place with clickable links to Google Maps. Drag-and-drop functionality to reorder itinerary cards and a delete option to remove places.
- Hotel Booking Integration: Directly book hotels via MakeMyTrip or Booking.com.
- Dynamic Heading: Display a dynamic heading based on trip details and an image from Unsplash related to the trip destination.
- Print/PDF Option: Generate a printable or PDF version of the itinerary.
- Frontend: Next.js, TypeScript, Material UI
- Backend: Geoapify Places API
- Development Tools: Git, VSCode
- Node.js (v16 or higher)
- npm or Yarn
-
Clone the repository:
git clone https://github.com/vedantbhamare-11/Trip-Planner.git
-
Navigate into the project directory:
cd Trip-Planner
-
Install the dependencies:
npm install # or yarn install
-
Set up environment variables:
Create a
.env.local
file in the root directory and add your Geoapify API key:GEOAPIFY_API_KEY=your_geoapify_api_key
-
Run the development server:
npm run dev # or yarn dev
Open http://localhost:3000 in your browser to view the app.
- Enter your trip details, including duration, destination, and style.
- Click "Generate" to create your itinerary.
- Review and interact with the itinerary cards to view details, reorder, or delete places.
- Use the "Book Hotels" button to find and book hotels in the destination city.
- Export your itinerary as a printable PDF if needed.
-
Fork the repository.
-
Create a new branch:
git checkout -b feature/your-feature
-
Commit your changes:
git commit -am 'Add new feature'
-
Push to the branch:
git push origin feature/your-feature
-
Open a pull request on GitHub.
This project is licensed under the MIT License - see the LICENSE file for details.
- Geoapify for providing the Places API.
- Material UI for the UI components.
- Unsplash for trip-related images.