How geoxin3/wayfarer works
Wayfarer is a trip-planning web application with user registration/login, destination discovery and administration, and trips composed of destinations. The visible flow is browser routes to frontend screens, frontend API helpers to FastAPI routers, and backend services to PostgreSQL-backed models. The sampled source confirms authentication wiring and trip/destination service behavior; router-to-service wiring for destinations and trips, and screen-to-helper usage, is not shown, so those links are omitted.
Main entry points: App.jsx Route application · main.py FastAPI application · api.js HTTP requests · trip_service.py Trip service
Components 24
Web client
- Route application
frontend/src/App.jsx - Account screens
frontend/src/pages/Login.jsx - Destination screens
frontend/src/pages/Destinations.jsx - Trip screens
frontend/src/pages/PlanTrip.jsx - Admin screens
frontend/src/admin/AdminHome.jsx - Auth API helper
frontend/src/services/authService.js - Destination API helper
frontend/src/services/destinationService.js - Trip API helper
frontend/src/services/tripService.js - HTTP requests
frontend/src/services/api.js
Backend API
- FastAPI application
backend/app/main.py - Authentication routes
backend/app/routers/auth.py - Destination routes
backend/app/routers/destination.py - Trip routes
backend/app/routers/trip.py
Domain services
- Account service
backend/app/services/auth_service.py - Destination service
backend/app/services/destination_service.py - Trip service
backend/app/services/trip_service.py - Password security
backend/app/core/security.py
Persistence
- User records
backend/app/models/user.py - Destination records
backend/app/models/destination.py - Trip records
backend/app/models/trip.py - Trip-destination links
backend/app/models/trip_destination.py - Database sessions
backend/app/core/database.py
Other components
- Traveler
- PostgreSQL
Connections 21
- Traveler → Route application: uses
- Route application → Account screens: routes to
- Route application → Destination screens: routes to
- Route application → Trip screens: routes to
- Route application → Admin screens: routes to
- Auth API helper → HTTP requests: requests
- Destination API helper → HTTP requests: requests
- Trip API helper → HTTP requests: requests
- HTTP requests → FastAPI application: sends API requests
- FastAPI application → Authentication routes: includes
- FastAPI application → Destination routes: includes
- FastAPI application → Trip routes: includes
- Authentication routes → Account service: calls
- Authentication routes → Database sessions: opens session
- Account service → User records: queries and writes
- Account service → Password security: hashes and verifies
- Destination service → Destination records: queries and writes
- Trip service → Trip records: queries and writes
- Trip service → Destination records: checks destination
- Trip service → Trip-destination links: queries and writes
- Database sessions → PostgreSQL: connects