Travel Itinerary Management System
@maneeshmkp
A full-stack backend application system built with FastAPI and SQLAlchemy to manage travel itineraries. Supports creating/viewing itineraries with day-wise hotels, transfers, and activities. Includes an MCP server that recommends itineraries (2–8 nights) for Phuket and Krabi. Fea
Overview
What is Travel Itinerary Management System?
A full-stack application for managing travel itineraries specifically for Thailand destinations. It features a FastAPI backend with SQLite and a Next.js frontend with React and Tailwind CSS. Designed for travelers and trip planners who want to browse, create, and get recommendations for travel itineraries.
How to use Travel Itinerary Management System?
Install the backend (Python 3.8+, run python run.py to seed the database and start two servers on ports 8000 and 8001). Install the frontend (Node.js 16+, npm install then npm run dev) and navigate to http://localhost:3000. Use the Itineraries page to browse, the Recommendations page to get suggestions by duration, and the multi-step form to create custom itineraries.
Key features of Travel Itinerary Management System
- Browse all travel itineraries on the Itineraries page.
- View detailed information for a specific itinerary.
- Get recommended itineraries based on preferred trip duration.
- Create custom itineraries using a multi-step form.
- API endpoints for itineraries and recommendations.
- Database models for Itinerary, Accommodation, Transfer, Activity.
Use cases of Travel Itinerary Management System
- A traveler planning a trip to Thailand can browse existing itineraries for inspiration.
- A user can specify a number of nights and receive tailor‑made itinerary recommendations.
- Users can create and save their own custom itineraries with accommodations, transfers, and activities.
- Developers can integrate with the REST API to fetch itinerary data for other applications.
FAQ from Travel Itinerary Management System
What runtime dependencies are required?
The backend requires Python 3.8+, pip, and packages fastapi, uvicorn, sqlalchemy, pydantic. The frontend requires Node.js 16+ and npm or yarn.
How do I start the backend and frontend?
For the backend, run python run.py from the backend/ directory. For the frontend, run npm run dev or yarn dev from the frontend/ directory.
Where does data persist?
Data is stored in a SQLite database seeded with sample data on backend startup.
What API endpoints are available?
GET /api/itineraries, GET /api/itineraries/{id}, POST /api/itineraries, and GET /api/recommendations/{nights}.
Does the application support authentication or multiple users?
The README does not mention authentication or multi‑user support.