How duckluyencode/fairtrip-nt118 works
TripFair is an Android travel-planning product backed by a NestJS API. Its user-facing capabilities span place discovery, budget- and time-aware itineraries, group planning, photo search, account/profile features, and SOS; the README describes group planning’s greedy, local-search, and fairness stages, but no implementation for those stages appears in the supplied excerpts. Backend excerpts show place search, authentication, favorites, search history, and profile handling. Android navigation and most feature screens were not sampled, so their internal calls and client-to-API wiring are not asserted.
Main entry points: prisma.service.ts Database access · app.module.ts NestJS API · places.service.ts Place discovery logic · auth.service.ts Authentication
Components 23
Android app
- Android entry
android/app/src/main/java/com/tripfair/app/MainActivity.kt - App navigation
android/app/src/main/java/com/tripfair/app/navigation/TripFairNavDisplay.kt - Place discovery
android/app/src/main/java/com/tripfair/app/ui/screens/explore/SearchScreen.kt - Trip itineraries
android/app/src/main/java/com/tripfair/app/ui/screens/trip/ItineraryScreen.kt - Group planning
android/app/src/main/java/com/tripfair/app/ui/screens/group/GroupPlanScreen.kt - Photo search
android/app/src/main/java/com/tripfair/app/ui/screens/camera/CameraScreen.kt - Emergency SOS
android/app/src/main/java/com/tripfair/app/ui/screens/sos/SosScreen.kt - Account screens
android/app/src/main/java/com/tripfair/app/ui/screens/auth/LoginScreen.kt
Backend domains
- Authentication
backend/src/auth/auth.service.ts - Places endpoints
backend/src/places/places.controller.ts - Place discovery logic
backend/src/places/places.service.ts - Search history
backend/src/search-history/search-history.service.ts - Favorites endpoints
backend/src/favorites/favorites.controller.ts - Favorites logic
backend/src/favorites/favorites.service.ts - User profile
backend/src/users/users.controller.ts
Data and integrations
- Database access
backend/src/prisma/prisma.service.ts - Google Places client
backend/src/places/google/google-places.client.ts
API platform
- NestJS API
backend/src/app.module.ts
Other components
- Traveler
- Google Places API
- MySQL database
- SMS delivery
- Photo recognition
Connections 29
- Traveler → Android entry: opens app
- Android entry → App navigation: starts
android/app/src/main/java/com/tripfair/app/MainActivity.kt - Traveler → Place discovery: searches places
README.md - Traveler → Trip itineraries: plans trips
README.md - Traveler → Group planning: plans together
README.md - Traveler → Photo search: searches by photo
README.md - Traveler → Emergency SOS: requests help
README.md - Traveler → Account screens: signs in
- Android entry → NestJS API: uses API
- NestJS API → Authentication: registers module
backend/src/app.module.ts - NestJS API → Places endpoints: registers module
backend/src/app.module.ts - NestJS API → Favorites endpoints: registers module
backend/src/app.module.ts - NestJS API → Search history: registers module
backend/src/app.module.ts - Places endpoints → Place discovery logic: calls
backend/src/places/places.controller.ts - Place discovery logic → Database access: queries
backend/src/places/places.service.ts - Place discovery logic → Search history: records searches
backend/src/places/places.service.ts - Place discovery logic → Google Places client: searches places
backend/src/places/places.service.ts - Google Places client → Google Places API: queries
README.md - Favorites endpoints → Favorites logic: calls
backend/src/favorites/favorites.controller.ts - Favorites logic → Place discovery logic: loads summaries
backend/src/favorites/favorites.service.ts - Favorites logic → Database access: reads and writes
backend/src/favorites/favorites.service.ts - Search history → Database access: reads and writes
backend/src/search-history/search-history.service.ts - Authentication → Database access: reads and writes
backend/src/auth/auth.service.ts - Authentication → Search history
- Authentication → SMS delivery: delivers codes
- User profile → Database access: reads and updates
backend/src/users/users.controller.ts - Database access → MySQL database: persists data
README.md - Photo search → Photo recognition: recognizes photo
README.md - Emergency SOS → SMS delivery: sends location
README.md