GTFS data fetching and converting it into a user friendly UI. Built using Flutter Framework
Developed in motion of not being able to find a good looking and not full of Ads public transit timetable app and deciding to build one on my own.
- This project uses AdMob for showing Banner Ads (Currently only Banner ads are implemented) and scrapes rigassatiksme.lv for their news feed.
- Main data is gotten from a GTFS feed found here routes and stops.
- In App Purchases to remove ads are also implemented.
- Realtime map data is fetched from here.
While this app is developed for a specific data feed, it can be easily modified and replaced with different GTFS data.
Part project is old and part new, so the codebase can be messy
- Light / dark / system theme switch
- l10n / localization - flutter_localizations
- In App Purchases - in_app_purchase
- Search bar
- Favorites - hive
- Firebase Analytics & Crashlytics
- Riverpod
- Maps
- Logging
- Splash screen
- In App Purchases
- An upload to play store is first required in order to properly display legitimate Ads, afterwards change the productId value in
lib\IAP\ad_removal_state.gen.dart
to your own ID.
- An upload to play store is first required in order to properly display legitimate Ads, afterwards change the productId value in
- Setup your own API keys, references below.
- You will have to run
flutter gen-l10n
to generate l10n
Env values are stored in keys.dart file.
To enable AdMob, add:
Ad unit ID for Android
Ad unit ID for IOS
To enable mapbox maps, add:
Mapbox public token
To enable fetching from Twitter, add:
Consumer key
Consumer secret
Token
Secret
-
More language support
-
Use Fimber, add Env vars, Refactor all to Clean arch
-
Ticket reader using nfc from here