How priyadharshinik15/itineraai works
ItineraAI is an AI travel-planning product with a React/FastAPI application and a separate CrewAI/Streamlit planner. The main workflow is trip entry, report generation, image enrichment, saved trip history, and PDF download; authentication gates planning and saved reports. The newer backend’s travel router explicitly orchestrates AI, image, database, and PDF services. The README documents search, multilingual plans, and image providers, but sampled code does not establish all their runtime connections; those links are omitted or marked unverified.
Main entry points: travel.py Travel routes · App.jsx Application routes · TravelAgents.py Travel agents · streamlit.py Streamlit interface
Components 20
Web experience
- Application routes
itineraai/frontend/src/App.jsx - Trip entry
itineraai/frontend/src/pages/InputPage.jsx - Trip reports
itineraai/frontend/src/pages/ReportPage.jsx
Identity and profiles
- User profile
itineraai/frontend/src/pages/ProfilePage.jsx - Auth state
itineraai/frontend/src/context/AuthContext.jsx - Auth routes
itineraai/backend/routers/auth.py
Trip planning
- Travel routes
itineraai/backend/routers/travel.py - Report generation
itineraai/backend/services/ai_service.py - City images
itineraai/backend/services/image_service.py - FastAPI application
itineraai/backend/main.py
Persistence and reports
- SQLite database
itineraai/backend/database.py - PDF generation
itineraai/backend/services/pdf_service.py
CrewAI planner
- Streamlit interface
frontend/streamlit/streamlit.py - Planning tasks
folder/TravelTasks.py - Travel agents
folder/TravelAgents.py - Web search tool
folder/TravelTools.py
Other components
- Traveler
- LLM provider
- Image providers
- CrewAI LLM
Connections 23
- Traveler → Application routes: uses
itineraai/frontend/src/App.jsx - Application routes → Trip entry: routes to
itineraai/frontend/src/App.jsx - Application routes → Trip reports: routes to
itineraai/frontend/src/App.jsx - Application routes → User profile: routes to
itineraai/frontend/src/App.jsx - Application routes → Auth state: uses auth
itineraai/frontend/src/App.jsx - Auth state → Auth routes: calls
itineraai/frontend/src/context/AuthContext.jsx - FastAPI application → Auth routes: registers
itineraai/backend/main.py - FastAPI application → Travel routes: registers
itineraai/backend/main.py - Travel routes → Report generation: generates reports
itineraai/backend/routers/travel.py - Travel routes → City images: fetches images
itineraai/backend/routers/travel.py - Travel routes → SQLite database: stores and reads
itineraai/backend/routers/travel.py - Travel routes → PDF generation: creates PDF
itineraai/backend/routers/travel.py - Report generation → LLM provider: requests completion
itineraai/backend/services/ai_service.py - City images → Image providers: fetches images
README.md - Trip entry → Travel routes: submits trip
- Trip reports → Travel routes: requests report
- User profile → Auth routes: updates profile
- Traveler → Streamlit interface: enters trip
frontend/streamlit/streamlit.py - Streamlit interface → Planning tasks: creates tasks
frontend/streamlit/streamlit.py - Streamlit interface → Travel agents: runs crew
frontend/streamlit/streamlit.py - Planning tasks → Travel agents: assigns tasks
folder/TravelTasks.py - Travel agents → Web search tool: uses tool
folder/TravelAgents.py - Travel agents → CrewAI LLM: uses model
folder/TravelAgents.py