How ravadakaran/tripsync-ai-real-time-collaborative-travel-planning works
TripSync AI is a collaborative travel-planning application: travelers create or join a trip room, build a shared itinerary, and coordinate votes, budgets, and recommendations. The React client talks to a single FastAPI backend; its process-local room authority handles shared state and real-time collaboration, with PostgreSQL providing persistence. Major product branches also cover grounded Concierge suggestions, conflicts, analytics, and dataset administration. The README documents the product flow and capabilities; some API and real-time implementation details were not sampled, so those connections are shown only where documented or indexed.
Main entry points: main.py FastAPI Application · main.jsx React Workspace · rooms.py Room Authority · service.py Grounded Concierge
Components 32
Traveler Workspace
- React Workspace
frontend/src/main.jsx - Trip Overview
frontend/src/workspace/TripOverview.jsx - Shared Board
frontend/src/board/BoardGrid.jsx - Voting and Budget UI
frontend/src/votes/PlanningPanel.jsx - Concierge UI
frontend/src/board/ConciergePanel.jsx - Dashboard UI
frontend/src/dashboard/Dashboard.jsx - Dataset Admin UI
frontend/src/admin/DatasetAdmin.jsx
Trip Coordination
- Trip API
backend/app/api/trips.py - Room Authority
backend/app/realtime/rooms.py - Realtime Gateway
backend/app/realtime/gateway.py - Board Lifecycle
backend/app/board/lifecycle.py - Room Moderation
backend/app/rooms/moderation.py - Voting Elections
backend/app/voting/service.py - Budget Allocation
backend/app/budget/engine.py
Planning Assistance
- Catalog API
backend/app/api/catalog.py - Concierge API
backend/app/api/concierge.py - Grounded Concierge
backend/app/concierge/service.py - Travel Constraints
backend/app/concierge/constraints.py - Traveler Preferences
backend/app/concierge/preferences.py - Retrieval and Generation
backend/app/concierge/rag.py - Schedule Conflicts
backend/app/concierge/conflicts.py
Backend Services
- FastAPI Application
backend/app/main.py - Authentication API
backend/app/api/auth.py - PostgreSQL
Insights and Data
- Phase Three API
backend/app/api/phase3.py - Recommendations
backend/app/recommendations/service.py - Hybrid Ranking
backend/app/recommendations/engine.py - Session Analytics
backend/app/analytics/service.py - Dataset Ingestion
backend/app/datasets/importer.py - Dataset Schema
backend/app/datasets/schema.py
Other components
- Traveler
- Local Inference Service
Connections 33
- Traveler → React Workspace: uses
README.md - React Workspace → FastAPI Application: requests
README.md - FastAPI Application → Authentication API: mounts
backend/app/main.py - FastAPI Application → Trip API: mounts
backend/app/main.py - FastAPI Application → Catalog API: mounts
backend/app/main.py - FastAPI Application → Concierge API: mounts
backend/app/main.py - FastAPI Application → Phase Three API: mounts
backend/app/main.py - FastAPI Application → Room Authority: initializes
backend/app/main.py - FastAPI Application → PostgreSQL: connects
backend/app/main.py - FastAPI Application → Local Inference Service: configures client
backend/app/main.py - React Workspace → Trip Overview: renders
frontend/src/main.jsx - React Workspace → Shared Board: renders
frontend/src/main.jsx - React Workspace → Voting and Budget UI: renders
frontend/src/main.jsx - React Workspace → Concierge UI: renders
frontend/src/main.jsx - React Workspace → Dashboard UI: renders
frontend/src/main.jsx - React Workspace → Dataset Admin UI: renders
frontend/src/main.jsx - Trip API → Room Authority: coordinates rooms
- Realtime Gateway → Room Authority: dispatches events
- Room Authority → Board Lifecycle: applies lifecycle
backend/app/realtime/rooms.py - Room Authority → Voting Elections: uses elections
backend/app/realtime/rooms.py - Room Authority → Budget Allocation: uses allocations
backend/app/realtime/rooms.py - Room Moderation → Room Authority: moderates
backend/app/rooms/moderation.py - Voting Elections → Schedule Conflicts: detects conflicts
backend/app/voting/service.py - Concierge API → Grounded Concierge: requests suggestions
- Grounded Concierge → Travel Constraints: filters candidates
backend/app/concierge/service.py - Grounded Concierge → Traveler Preferences: loads preferences
backend/app/concierge/service.py - Grounded Concierge → Retrieval and Generation: grounds answers
backend/app/concierge/service.py - Phase Three API → Recommendations: serves recommendations
- Recommendations → Hybrid Ranking: ranks candidates
backend/app/recommendations/service.py - Phase Three API → Session Analytics: serves analytics
- Phase Three API → Dataset Ingestion: stages datasets
- Dataset Ingestion → Dataset Schema: validates with
- Room Authority → PostgreSQL: persists room state