A Flutter based android app (not tested on other platforms) to get arrival timings for Singapore buses based on the material 3 design spec.
- Material 3 design with Material You support
- Stop Maps
- Favourite stops
- Nearby stops
- Search for stops and buses
- Map of Singapore with stops
- MRT map
- View bus routes
- View bus routes on a map
- Rename
lib/env.example/dart
tolib/env.dart
and fill in using instructions in the file - Ensure flutter is installed and that you can develop for android by running
flutter doctor
in your terminal - Connect android device to computer and enable usb debugging on the android device (if using physical device)
- Ensure device is connected by running
adb devices -l
in your terminal and check if your device is listed - Run
flutter run
to debug - Run
flutter build apk --split-per-abi
to build an apk file
- Data for stops, services and routes taken from @cheeaun/sgbusdata
- Arrival timings provided by LTA Datamall
- App built with Flutter
- dynamic_colour for Material You colours
- restart_app to restart app after dataset updates
- shared_preferences to store stops, services and route data and favourites
- geolocator to get device location
- latlong2 additional utillities for managing positions
- http to communicate with server
- flutter_map for maps
- flutter_map_marker_cluster to reduce lag when displaying lots of markers
- flutter_map_location_marker to display a location marker on the map to indicate where you are
- google_mobile_ads for ads
- package_info_plus to get version info of the app
- sentry_flutter to log errors to sentry
- url_launcher to lauch urls
- wakelock to prevent device from turning off while using the route tracker