The bus schedules feature allows users to view upcoming departures at any stop, with real-time countdown timers and route information.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ihfaz297/MND/llms.txt
Use this file to discover all available pages before exploring further.
BusService
TheBusService handles all bus schedule-related API calls.
Implementation
lib/services/bus_service.dart
API Parameters
from(required): Node ID of the stoplimit(optional): Maximum number of results (default: 5)
BusSchedule Model
Bus schedule data is represented by theBusSchedule model:
lib/models/bus_schedule.dart
Model Fields
routeId: Unique identifier for the routerouteName: Display name (e.g., “Campus Express”)departure: Departure time (e.g., “08:30”)minutesUntil: Minutes until departure (for countdown)destination: Final destination of the bus
UpcomingBusesScreen
TheUpcomingBusesScreen displays bus schedules at a selected stop.
Screen Structure
lib/screens/buses/upcoming_buses_screen.dart:7-27
Loading Bus Schedules
lib/screens/buses/upcoming_buses_screen.dart:44-64
Stop Selector
Users select a stop from a dropdown menu:lib/screens/buses/upcoming_buses_screen.dart:94-115
Bus List Display
Buses are displayed in a scrollable list with countdown timers:lib/screens/buses/upcoming_buses_screen.dart:195-298
Status Colors
Buses are color-coded based on arrival time:lib/screens/buses/upcoming_buses_screen.dart:66-75
Countdown Display
Status Badge
lib/screens/buses/upcoming_buses_screen.dart:270-288
Pull to Refresh
Users can refresh the schedule by pulling down:lib/screens/buses/upcoming_buses_screen.dart:196-198
Empty States
No Stop Selected
lib/screens/buses/upcoming_buses_screen.dart:137-155
No Buses Available
lib/screens/buses/upcoming_buses_screen.dart:175-193
Example Usage
Error Handling
lib/screens/buses/upcoming_buses_screen.dart:52-63
UI Features
- Real-time countdown timers
- Color-coded status indicators
- Pull-to-refresh functionality
- Loading states and error handling
- Empty state messaging
- Searchable stop dropdown