How shahrzad-2004/flight-assistant works
flight-assistant is a Streamlit flight-ticket assistant. The main workflow is a user entering flight details through chat and UI controls, the flight graph processing state and requesting flight searches, and the app presenting sortable results. The repository also includes Google sign-in and persistent user-owned chat sessions. The README is brief and several central modules were not sampled, so links involving their internal orchestration are omitted where source evidence is unavailable.
Main entry points: app.py Streamlit app · authentication.py Google authentication · scraper_manager.py Scraper manager · ui_handlers.py UI callbacks
Components 18
Chat and UI
- Streamlit app
app.py - UI callbacks
ui_handlers.py - Flight conversation graph
flight_graph.py - Chat responses
chat_response.py
Flight search
- City matching
city_matching.py - Flight logic
flight_logic.py - Scraper manager
flight_scraper/scraper_manager.py - Domestic scrapers
flight_scraper - International scrapers
flight_scraper - Browser executor
playwright_worker.py - Flight state models
models.py
Identity and storage
- Google authentication
authentication.py - Cookie manager
cookie_manager.py - User database
user_database.py - Chat database
chat_database.py
External services
- Google identity
- Airline booking sites
Other components
- Traveler
Connections 14
- Traveler → Streamlit app: enters flight request
- Streamlit app → UI callbacks: dispatches UI actions
- UI callbacks → Flight conversation graph: invokes graph
- Streamlit app → Chat database: lists sessions
- UI callbacks → Chat database: saves messages
- Streamlit app → Google authentication: handles sign-in
- Google authentication → Google identity: exchanges OAuth data
- Google authentication → User database: creates account
- Google authentication → Cookie manager: stores user ID
- Scraper manager → Browser executor: gets executor
- Scraper manager → Domestic scrapers: dispatches domestic search
- Scraper manager → International scrapers: dispatches international search
- Domestic scrapers → Airline booking sites: scrapes flight listings
- International scrapers → Airline booking sites: scrapes flight listings