{"id":23694366,"url":"https://github.com/croyla/bmtc-platforms","last_synced_at":"2026-02-02T17:36:49.557Z","repository":{"id":263596441,"uuid":"890898762","full_name":"croyla/bmtc-platforms","owner":"croyla","description":"Unofficial tool for bmtc platforms","archived":false,"fork":false,"pushed_at":"2025-01-20T13:37:41.000Z","size":208,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T14:39:59.862Z","etag":null,"topics":["bmtc","bus","bus-station","public-transit","station-platform","transit"],"latest_commit_sha":null,"homepage":"https://platforms.blrtransit.com/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit-0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/croyla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-11-19T11:27:53.000Z","updated_at":"2025-01-15T07:21:23.000Z","dependencies_parsed_at":"2024-11-19T12:46:23.401Z","dependency_job_id":"5ef2b41a-1fa6-4a5c-8dc8-1e958a74b8f9","html_url":"https://github.com/croyla/bmtc-platforms","commit_stats":null,"previous_names":["croyla/kbs-platforms"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/croyla%2Fbmtc-platforms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/croyla%2Fbmtc-platforms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/croyla%2Fbmtc-platforms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/croyla%2Fbmtc-platforms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/croyla","download_url":"https://codeload.github.com/croyla/bmtc-platforms/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239763578,"owners_count":19692795,"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":["bmtc","bus","bus-station","public-transit","station-platform","transit"],"created_at":"2024-12-30T04:26:11.356Z","updated_at":"2026-02-02T17:36:44.498Z","avatar_url":"https://github.com/croyla.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Unofficial] BMTC Platform Helper\n\nView platforms, search through routes to find out about their departure platform, or search through stops to find platforms and buses\n\nThe version that this repo has is hosted on [our domain](https://platforms.blrtransit.com) as well as [github-pages](https://croyla.github.io/bmtc-platforms)\n\n### Usage\n\nUpon loading the site the user is prompted with a location permission, denying the permission does nothing, however providing the permission displays the user's current location on the map, this location is updated.\n\nThe checkbox in the top corner toggles the \"Dark Mode\" theme.\n\nThe map has multiple displayed \"features\", one for each platform the app knows about.\n\nEach feature on the map has a title which is visible, this is usually the platform name. The feature is clickable to get relevant information. \n\nThe information provided is the following:\n\n\u003e Shortname towards Destination\n\u003e \n\u003e Ex: '**315-J** to Rampura'\n\nOptionally if a search query matches an intermediate stop:\n\n\u003e Shortname towards Destination via Stop\n\u003e \n\u003e Ex: '**315-J** to Rampura via Richmond Circle'\n\nThe search box filters the features displayed on the map to features relevant to the search query. This also filters and modifies the information displayed in a feature.\n\nThe entire service is designed to run smoother when installed on your phone. This can be done on iOS by opening the site in Safari, clicking on share, and adding it to the home screen. Similarly possible on Android with the default device browser, clicking on \"Install\" in the options area (next to the address bar).\n\nA few notes: The platforms may have inaccurate data. If you are aware of inaccuracies please raise an issue in this repo or [here](https://github.com/croyla/bmtc-platforms-geojson).\n\n### Self-Hosting\n\nSelf-hosting can be achieved by simply cloning this repo and serving the folder, however the map will not load as the Mapbox Token used right now is restricted. \n\nThis can be solved by editing the code block:\n\n```js\n        // Add Mapbox tile layer\n        const mapboxTileLayer = L.tileLayer('https://api.mapbox.com/styles/v1/mapbox/light-v11/tiles/{z}/{x}/{y}?access_token={accessToken}', {\n            attribution: 'Map data © \u003ca href=\"https://www.openstreetmap.org/copyright\"\u003eOpenStreetMap\u003c/a\u003e contributors, Imagery © \u003ca href=\"https://www.mapbox.com/\"\u003eMapbox\u003c/a\u003e',\n            tileSize: 512,\n            zoomOffset: -1,\n            maxZoom: 23,\n            accessToken: 'REPLACE_WITH_YOUR_ACCESS_TOKEN'\n        }).addTo(map);\n```\n\n### How it works\n\nThe applet queries geojson data from a [GitHub repo](https://github.com/croyla/bmtc-platforms-geojson), it then uses Leaflet and Mapbox to visualise the data in map form. \n\nThe geographic locations for the platforms are manually placed, and may be slightly inaccurate as a result. \n\nThe routes for platforms are sourced from [BMTC Amnex](https://bmtcwebportal.amnex.com/commuter/dashboard), as such reliability and accuracy tends to be dependent on the data received. There are manual overrides in place for routes known to be inaccurate in data received. If you are aware of any inaccuracies please raise an issue in this repo or the source GitHub repo.\n\nThe route stops are sourced from a [static GTFS](https://github.com/Vonter/bmtc-gtfs), however not all routes in the geojson data have stops in the GTFS, as such some routes don't have searchable intermediate stops in the website. This can be fixed by updating the static GTFS.\n\n### Special thanks\n\n- [Namma BMTC](https://bmtcwebportal.amnex.com/commuter/dashboard)\n- [Vonter bmtc-gtfs](https://github.com/Vonter/bmtc-gtfs)\n- [Leaflet.js](https://leafletjs.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcroyla%2Fbmtc-platforms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcroyla%2Fbmtc-platforms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcroyla%2Fbmtc-platforms/lists"}