π΄ Travel Itinerary - FastAPI Project
@ThasnimaShereef
This is a backend system for managing travel itineraries using FastAPI and SQLAlchemy, featuring RESTful APIs to create and view itineraries and an MCP server to recommend itineraries based on trip duration.
Overview
What is π΄ Travel Itinerary - FastAPI Project?
This is a backend system for managing travel itineraries built with FastAPI and SQLAlchemy. It provides RESTful APIs to create and view itineraries, and includes a Minimum Cost Path (MCP) server that recommends itineraries based on trip duration. It is designed for developers and travelers who need a programmatic way to store, retrieve, and recommend travel plans, with pre-seeded data for Phuket and Krabi, Thailand.
How to use π΄ Travel Itinerary - FastAPI Project?
Clone the repository, create a virtual environment, install dependencies with pip install -r requirements.txt, and run the development server with uvicorn app.main:app --reload. API endpoints are accessible via the interactive Swagger UI at http://127.0.0.1:8000/docs. A live demo is available at the Render deployment URL.
Key features of π΄ Travel Itinerary - FastAPI Project
- Create travel itineraries with hotels, transfers, and excursions
- View all stored itineraries or retrieve by ID
- Recommend itineraries for 2 to 8-night durations (MCP)
- Pre-seeded data for Phuket and Krabi, Thailand
- Auto-generated Swagger UI and ReDoc documentation
Use cases of π΄ Travel Itinerary - FastAPI Project
- Build a travel planning tool that stores custom day-wise itineraries
- Integrate itinerary recommendations into a trip-booking application
- Test and prototype itinerary management with a live API and sample data
- Deploy a lightweight, modular backend for a travel dashboard or mobile app
FAQ from π΄ Travel Itinerary - FastAPI Project
What does "MCP" mean in this project?
MCP stands for Minimum Cost Path, a server endpoint that recommends itineraries based on the number of nights (duration) provided. It is not related to the Model Context Protocol.
What are the runtime requirements?
Python 3.11+ and the dependencies listed in requirements.txt (FastAPI, SQLAlchemy, Uvicorn, etc.). SQLite is used for development; PostgreSQL can be substituted.
How can I test the API?
After running the server, visit the interactive Swagger UI at /docs or the live demo at https://travel-itinerary-fdwd.onrender.com/docs. Available endpoints include POST /itineraries/, GET /itineraries/, GET /itineraries/{id}, and GET /recommendations/{duration}.
Where does the data live?
By default, the application uses an SQLite database file for development. The README notes that it is switchable to PostgreSQL for production.
Does the project include sample data?
Yes. The system comes with pre-seeded itineraries for Phuket and Krabi, Thailand, accessible immediately after running the server.