How uvaestudantes/noponto-frontend works
NoPonto is a Rio de Janeiro public-transit mobile app. Its main user workflow is to search for a line, inspect its route and map, and monitor vehicles or stop arrivals; separate screens cover favorites, line details, fares, and settings. The graph includes documented runtime stages and central modules from the source index. Some screen-to-component wiring and unsampled integrations cannot be verified from the excerpts, so those relationships are omitted or marked unverified.
Main entry points: index.tsx Transit map · eventosParada.ts Stop event service · linhas.tsx Line details · useMobilidadeRio.ts Transit realtime hook
Components 25
App screens
- Transit map
NoPonto/app/index.tsx - Line details
NoPonto/app/linhas.tsx - Favorites screen
NoPonto/app/favoritos.tsx - Settings
NoPonto/app/configuracao.tsx - Fare display
NoPonto/src/components/linhasComponents/tarifas.tsx
Map and routes
- Map host
NoPonto/src/components/mapOSM/mapOSM.tsx - WebView markup
NoPonto/src/components/mapOSM/webview/mapHtml.tsx - Map renderer
NoPonto/src/components/mapOSM/webview/mapScript.ts - Line explorer
NoPonto/src/components/mapaComponents/linhasContainer.tsx
Live transit
- Transit realtime hook
NoPonto/src/hooks/useMobilidadeRio.ts - GPS subscriptions
NoPonto/src/services/gpsHub.ts - Route structure
NoPonto/src/services/estruturaV2.ts - Stop radar hook
NoPonto/src/hooks/useRadarParada.ts - Stop event service
NoPonto/src/services/eventosParada.ts - Transit API client
NoPonto/src/services/api.ts - Vehicle map data
NoPonto/src/services/veiculosMapa.ts - Rail realtime
NoPonto/src/services/railRealtime.ts
Search and preferences
- Search sections
NoPonto/src/components/searchSections.tsx - Search presentation
NoPonto/src/services/searchPresentation.ts - Search history
NoPonto/src/services/searchHistory.ts - Favorites hook
NoPonto/src/hooks/useFavoritos.ts - Favorites collection
NoPonto/src/services/favoritos.ts - Vehicle indicators
NoPonto/src/constants/indicadores.ts - Indicator preferences
NoPonto/src/context/ProvedorIndicadores.tsx
Other components
- Rider
Connections 26
- Map host → WebView markup: loads
NoPonto/src/components/mapOSM/mapOSM.tsx - WebView markup → Map renderer: embeds
NoPonto/src/components/mapOSM/webview/mapHtml.tsx - Map renderer → Vehicle indicators: uses assets
NoPonto/src/components/mapOSM/webview/mapScript.ts - Transit realtime hook → GPS subscriptions: updates subscriptions
NoPonto/src/hooks/useMobilidadeRio.ts - Transit realtime hook → Route structure: loads itineraries
NoPonto/src/hooks/useMobilidadeRio.ts - Stop radar hook → Stop event service: fetches arrivals
NoPonto/src/hooks/useRadarParada.ts - Stop radar hook → Transit API client: requests metadata
- Stop event service → Transit API client: requests events
NoPonto/src/services/eventosParada.ts - Stop event service → Vehicle map data: uses vehicle types
NoPonto/src/services/eventosParada.ts - Stop event service → Rail realtime: uses rail types
NoPonto/src/services/eventosParada.ts - Favorites hook → Favorites collection: hydrates and updates
NoPonto/src/hooks/useFavoritos.ts - Search history → Search presentation: formats selections
NoPonto/src/services/searchHistory.ts - Indicator preferences → Vehicle indicators: uses preferences
- Rider → Transit map: opens map
- Rider → Line details: opens line
- Rider → Favorites screen: views favorites
- Rider → Settings: configures app
- Transit map → Map host: displays map
- Transit map → Search sections: offers search
- Search sections → Search presentation: presents results
- Search presentation → Search history: uses recent selections
NoPonto/src/services/searchHistory.ts - Transit map → Transit realtime hook: monitors vehicles
- Transit map → Stop radar hook: monitors stop
- Line details → Line explorer: shows route options
- Line details → Fare display: shows fares
- Favorites screen → Favorites hook: loads favorites