How afraz-dev-pro/afraz-kolkata works
Afraz Kolkata is an offline-first Kolkata discovery guide and day planner. A visitor explores curated places, food, markets, or transit listings, searches and filters the catalog, opens sourced details, then may save favorites or assemble and share a multi-stop itinerary. The app also provides locally persisted favorites and a selectable day/night theme. The graph follows the shown Expo Router screens and their data/state dependencies; unsampled backend and detail subfeatures are not connected without relationship evidence.
Main entry points: CatalogScreen.tsx Catalog UI · kolkataCatalog.ts Curated Catalog · [id].tsx Listing Details · ThemeProvider.tsx Theme Provider
Components 18
Discovery
Catalog and Details
- Catalog UI
src/components/CatalogScreen.tsx - Curated Catalog
src/data/kolkataCatalog.ts - Listing Details
app/places/[id].tsx
Planning
- Day Planner
app/(tabs)/planner.tsx
Local State
- App Shell
app/_layout.tsx - Favorites
src/providers/FavoritesProvider.tsx - Theme Provider
src/theme/ThemeProvider.tsx - Theme Palettes
src/theme/colors.ts
Other components
- Visitor
- Google Maps
- Native Share Sheet
- AsyncStorage
Connections 31
- Visitor → Home: opens
README.md - Home → Curated Catalog: reads listings
app/(tabs)/index.tsx - Home → Favorites: reads saved items
app/(tabs)/index.tsx - Home → Theme Provider: switches theme
app/(tabs)/index.tsx - Places → Catalog UI: renders
app/(tabs)/places.tsx - Food → Catalog UI: renders
app/(tabs)/food.tsx - Shopping → Catalog UI: renders
app/(tabs)/shopping.tsx - Transit Routes → Catalog UI: renders
app/(tabs)/routes.tsx - Places → Curated Catalog: passes listings
app/(tabs)/places.tsx - Food → Curated Catalog: passes listings
app/(tabs)/food.tsx - Shopping → Curated Catalog: passes listings
app/(tabs)/shopping.tsx - Transit Routes → Curated Catalog: passes routes
app/(tabs)/routes.tsx - Search → Curated Catalog: searches catalog
app/search.tsx - Search → Catalog UI: renders results
app/search.tsx - Catalog UI → Curated Catalog: uses item type
src/components/CatalogScreen.tsx - Catalog UI → Favorites: toggles favorites
src/components/CatalogScreen.tsx - Catalog UI → Theme Provider: reads colors
src/components/CatalogScreen.tsx - Catalog UI → Listing Details: opens listing
src/components/CatalogScreen.tsx - Listing Details → Curated Catalog: finds listing
app/places/[id].tsx - Listing Details → Favorites: toggles favorite
app/places/[id].tsx - Listing Details → Theme Provider: reads colors
app/places/[id].tsx - Listing Details → Day Planner: adds stop
app/places/[id].tsx - Listing Details → Google Maps: opens directions
README.md - Day Planner → Curated Catalog: finds stops
app/(tabs)/planner.tsx - Day Planner → Listing Details: opens stop
app/(tabs)/planner.tsx - Day Planner → Native Share Sheet: shares itinerary
app/(tabs)/planner.tsx - App Shell → Favorites: provides state
app/_layout.tsx - App Shell → Theme Provider: provides state
app/_layout.tsx - Favorites → AsyncStorage: reads and writes
src/providers/FavoritesProvider.tsx - Theme Provider → AsyncStorage: reads and writes
src/theme/ThemeProvider.tsx - Theme Provider → Theme Palettes: selects palette
src/theme/ThemeProvider.tsx