How made-in-sanhak/coffee-station works
Coffee Station is a mobile coffee-discovery and price-comparison platform, with a Node/Express API and a separate FastAPI AI service. The visible app includes Kakao login, nearby-store exploration, recommendations, and review summaries; documented receipt/OCR, purchase, coupon, and community features are not present in this tree. The principal flow is app screens through API calls to backend routes and recommendation logic. The AI service also has agent-based recommendation and a mock review-summary path. Dashed edges mark documented or plausible links not established by the sampled implementation evidence.
Main entry points: client.ts API client · RootNavigator.tsx Navigation · auth.ts Kakao auth API · MapScreen.tsx Nearby map
Components 29
Mobile app
- App shell
frontend/App.tsx - Navigation
frontend/src/navigation/RootNavigator.tsx - Login screens
frontend/src/screens/auth/KakaoLoginScreen.tsx - Kakao auth API
frontend/src/api/endpoints/auth.ts - Auth state
frontend/src/store/authStore.ts - Nearby map
frontend/src/screens/map/MapScreen.tsx - Kakao map view
frontend/src/components/map/KakaoMapView.tsx - Store API
frontend/src/api/endpoints/store.ts - Recommendations
frontend/src/RecommendationScreen.tsx - Review summary screen
frontend/src/ReviewSummaryScreen.tsx - Review summary client
frontend/src/api/reviewSummary.ts - API client
frontend/src/api/client.ts
Core API
- Express routing
backend/src/app.ts - Recommendation route
backend/src/routes/recommendations.ts - Recommendation service
backend/src/services/recommendations.ts - Review summary route
backend/src/routes/reviewSummaries.ts - Review artifact validation
backend/src/recommendations/reviewArtifact.ts
AI services
- FastAPI routers
ai-server/app/main.py - AI recommendation route
ai-server/app/routers/recommendations.py - Recommendation agent
ai-server/app/agent/loop.py - Review summary route
ai-server/app/routers/review_summaries.py - Summary service
ai-server/app/review_summary.py
Data and persistence
- MySQL menu search
backend/src/recommendations/mysqlRepository.ts - MySQL
backend/src/config/db.ts - Review repository
ai-server/app/repositories/reviews.py - SQLite summary cache
ai-server/app/review_summary.py
Other components
- Coffee explorer
- External AI API
- Kakao services
Connections 31
- Coffee explorer → App shell: uses
- App shell → Navigation: renders
frontend/App.tsx - Navigation → Login screens: routes to
frontend/src/navigation/RootNavigator.tsx - Navigation → Nearby map: routes to
frontend/src/navigation/RootNavigator.tsx - Login screens → Kakao auth API: requests login
- Kakao auth API → API client: calls
frontend/src/api/endpoints/auth.ts - Kakao auth API → Auth state: updates
frontend/src/api/queries/useKakaoLogin.ts - Auth state → API client: provides token
frontend/src/store/authStore.ts - Nearby map → Kakao map view: renders
- Nearby map → Store API: loads stores
- Store API → API client: calls
frontend/src/api/endpoints/store.ts - Kakao map view → Kakao services: displays map
- Coffee explorer → Recommendations: requests options
- Recommendations → API client: requests data
- Coffee explorer → Review summary screen: views summary
- Review summary screen → Review summary client: loads summary
frontend/src/ReviewSummaryScreen.tsx - Review summary client → API client: calls
frontend/src/api/reviewSummary.ts - API client → Express routing: sends API requests
- Express routing → Recommendation route: routes requests
backend/src/app.ts - Express routing → Review summary route: routes requests
backend/src/app.ts - Recommendation route → Recommendation service: calls
backend/src/routes/recommendations.ts - Recommendation service → MySQL menu search: searches prices
- MySQL menu search → MySQL: reads prices
- Review summary route → Review artifact validation: validates artifact
backend/src/routes/reviewSummaries.ts - FastAPI routers → AI recommendation route: registers router
ai-server/app/main.py - FastAPI routers → Review summary route: registers router
ai-server/app/main.py - AI recommendation route → Recommendation agent: dispatches
ai-server/app/routers/recommendations.py - AI recommendation route → External AI API: uses model
- Review summary route → Summary service: refreshes summary
ai-server/app/routers/review_summaries.py - Review summary route → Review repository: loads reviews
ai-server/app/routers/review_summaries.py - Summary service → SQLite summary cache: reads and writes
ai-server/app/review_summary.py