How shreyyyi/travelai works
TravelAround AI is a group-trip planning and coordination application. Travelers create AI-assisted itineraries, explore and manage trips, request bookings, and collaborate through trip chat; organisers review bookings and manage trips. The graph reflects the documented AI planning, collaboration, budget, and validation capabilities, while source evidence is limited to the supplied excerpts and SOURCE INDEX. Unsampled feature connections are omitted or marked unverified.
Main entry points: main.jsx App routes · index.js HTTP and socket server · api.jsx HTTP client · index.jsx Trip builder
Components 27
Travel app
- App routes
client/src/main.jsx - Session identity
client/src/context/AuthContext.jsx - Trip chat
client/src/chat/index.jsx - Booking administration
client/src/pages/OrganiserDashboard.jsx - HTTP client
client/src/service/api.jsx
Trip planning
- Trip builder
client/src/create-trip/index.jsx - AI itinerary service
client/src/service/AIModel.jsx - Destination search
client/src/components/NominatimAutocomplete.jsx - Trip browsing
client/src/view-trip/index.jsx - Trip details
client/src/view-trip/ViewDetails.jsx - Itinerary display
client/src/components/ItinerarySection.jsx - My trips
client/src/my-trips/index.jsx
Application server
- HTTP and socket server
server/index.js - Authentication routes
server/routes/auth.js - Trip routes
server/routes/trips.js - Booking routes
server/routes/bookings.js - Organiser routes
server/routes/organiser.js - Message routes
server/routes/messages.js - Notification routes
server/routes/notifications.js - Session authorization
server/middleware/authMiddleware.js
Persistent data
- Trip records
server/models/Trip.js - Booking records
server/models/Booking.js - User records
server/models/User.js - Chat messages
server/models/Message.js - Notifications
server/models/Notification.js
Other components
- Traveler
- Organiser
Connections 33
- Traveler → App routes: uses
client/src/main.jsx - Organiser → App routes: uses
client/src/main.jsx - App routes → Trip builder: routes to
client/src/main.jsx - App routes → Trip browsing: routes to
client/src/main.jsx - App routes → Trip details: routes to
client/src/main.jsx - App routes → My trips: routes to
client/src/main.jsx - App routes → Trip chat: routes to
client/src/main.jsx - App routes → Booking administration: routes to
client/src/main.jsx - Trip builder → Destination search: uses
client/src/create-trip/index.jsx - Trip builder → AI itinerary service: requests itinerary
client/src/create-trip/index.jsx - Trip builder → HTTP client: sends trip data
client/src/create-trip/index.jsx - Trip details → Itinerary display: renders
client/src/view-trip/ViewDetails.jsx - Session identity → HTTP client: checks session
client/src/context/AuthContext.jsx - Trip chat → HTTP client: uses
client/src/chat/index.jsx - My trips → HTTP client: uses
client/src/my-trips/index.jsx - Booking administration → HTTP client: uses
client/src/pages/OrganiserDashboard.jsx - HTTP client → HTTP and socket server: calls REST API
- HTTP and socket server → Authentication routes: mounts
server/index.js - HTTP and socket server → Trip routes: mounts
server/index.js - HTTP and socket server → Booking routes: mounts
server/index.js - HTTP and socket server → Organiser routes: mounts
server/index.js - HTTP and socket server → Message routes: mounts
server/index.js - HTTP and socket server → Notification routes: mounts
server/index.js - Authentication routes → User records: reads/writes
server/routes/auth.js - Trip routes → Trip records: reads/writes
server/routes/trips.js - Booking routes → Booking records: reads/writes
server/routes/bookings.js - Organiser routes → Booking records: reads/writes
server/routes/organiser.js - Organiser routes → Trip records: reads/writes
server/routes/organiser.js - Message routes → Chat messages: reads/writes
server/routes/messages.js - Notification routes → Notifications: reads/writes
server/routes/notifications.js - Trip routes → Session authorization: checks access
server/routes/trips.js - Booking routes → Session authorization: checks access
server/routes/bookings.js - Organiser routes → Session authorization: checks access
server/routes/organiser.js