{"id":16863209,"url":"https://github.com/jeffsieu/stops-flutter","last_synced_at":"2025-08-23T22:13:06.903Z","repository":{"id":38376095,"uuid":"210024699","full_name":"jeffsieu/stops-flutter","owner":"jeffsieu","description":"A simple, no nonsense app displaying live bus timings in Singapore built with Flutter","archived":false,"fork":false,"pushed_at":"2024-11-06T15:18:56.000Z","size":10416,"stargazers_count":58,"open_issues_count":3,"forks_count":15,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-27T02:11:17.365Z","etag":null,"topics":["bus","bus-schedule","bus-tracking","flutter","flutter-android","flutter-app","flutter-apps","lta-api","material-design","material-ui","singapore-bus-data","transport"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jeffsieu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"jeffsieu","custom":null}},"created_at":"2019-09-21T17:15:03.000Z","updated_at":"2025-03-13T07:52:52.000Z","dependencies_parsed_at":"2024-04-23T10:56:26.653Z","dependency_job_id":"a1436670-cebe-4f2d-8421-d6ebb272db5e","html_url":"https://github.com/jeffsieu/stops-flutter","commit_stats":{"total_commits":131,"total_committers":1,"mean_commits":131.0,"dds":0.0,"last_synced_commit":"1c571c007aba50356dfff3c6de32fdee98f9480a"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeffsieu%2Fstops-flutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeffsieu%2Fstops-flutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeffsieu%2Fstops-flutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeffsieu%2Fstops-flutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeffsieu","download_url":"https://codeload.github.com/jeffsieu/stops-flutter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248702999,"owners_count":21148116,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bus","bus-schedule","bus-tracking","flutter","flutter-android","flutter-app","flutter-apps","lta-api","material-design","material-ui","singapore-bus-data","transport"],"created_at":"2024-10-13T14:38:04.150Z","updated_at":"2025-08-23T22:13:06.880Z","avatar_url":"https://github.com/jeffsieu.png","language":"JavaScript","readme":"![Stops](assets/images/banner.png)\n\nStops is an app built with Flutter that displays live bus timings for bus stops in Singapore.\nIt uses live data exposed by [LTA Datamall](https://www.mytransport.sg/content/mytransport/home/dataMall.html)'s API.\n\n## Download (Android)\n\n\u003ca href=\"https://play.google.com/store/apps/details?id=com.jeffsieu.stops\"\u003e\n \u003cimg src=\"https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png\" width=\"300\"\u003e\n\u003c/a\u003e\n\nOr check out the [releases page](https://github.com/jeffsieu/stops-flutter/releases).\n\n## Features\n - Simplistic design inspired by Material Design 3\n - Save your favorite bus stops\n - Search bus stops by their name or code\n - Rename bus stops as you wish\n - Light/dark mode options\n - Add routes to easily organize bus stops you frequent\n\n\n## Screenshots\n\n\u003cp align=\"middle\"\u003e\n \u003cimg src=\"screenshots/screenshot1.png\" width=300\u003e\n \u003cimg src=\"screenshots/screenshot2.png\" width=300\u003e\n \u003cimg src=\"screenshots/screenshot3.png\" width=300\u003e\n \u003cimg src=\"screenshots/screenshot4.png\" width=300\u003e\n\u003c/p\u003e\n\n\n## Getting Started\n ```\n git clone https://github.com/jeffsieu/stops-flutter.git\n ```\n \n### Setting API keys\nSet your [Google Maps API key](https://console.cloud.google.com/google/maps-apis/overview) for Android at `stops-flutter/android/secret.properties`.\n ```properties\n...\nMAPS_API_KEY=YOUR_API_KEY\n ```\n\n \n For bus stop retrieval, set your [LTA API key](https://www.mytransport.sg/content/mytransport/home/dataMall/request-for-api.html) at `stops-flutter/assets/secrets.json`. \n ```json\n {\n     \"lta_api_key\": \"apikey\"\n }\n ```\n\n### Build\n\n```sh\nflutter pub get\ndart run build_runner build\n\n# Build app bundle\nflutter build appbundle --obfuscate --split-debug-info=./debug-info --extra-gen-snapshot-options=--save-obfuscation-map=./mapping-info\n```\n \n## Built with\n - [Flutter](https://flutter.dev/) - The mobile-app framework used\n - [Rubber](https://github.com/mcrovero/rubber) - An awesome bottom-sheet implementation in Flutter\n\n## Credits\nThis app is an experiment by Jeff Sieu.\n","funding_links":["https://buymeacoffee.com/jeffsieu"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeffsieu%2Fstops-flutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeffsieu%2Fstops-flutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeffsieu%2Fstops-flutter/lists"}