{"id":13907439,"url":"https://github.com/cheeaun/checkweather-sg","last_synced_at":"2025-07-18T05:31:52.206Z","repository":{"id":32256126,"uuid":"128864365","full_name":"cheeaun/checkweather-sg","owner":"cheeaun","description":"☀️🌧 Yet another weather app for Singapore","archived":false,"fork":false,"pushed_at":"2025-06-24T03:33:40.000Z","size":21830,"stargazers_count":43,"open_issues_count":6,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-24T04:31:47.675Z","etag":null,"topics":["3d","clouds","humidity","map","rain","rainfall","singapore","temperature","weather","wind"],"latest_commit_sha":null,"homepage":"https://checkweather.sg/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cheeaun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null},"funding":{"github":"cheeaun","buy_me_a_coffee":"cheeaun","patreon":"cheeaun","custom":["https://revolut.me/cheeaun","https://donate.stripe.com/9AQeVfbr40ZB9nGaEF","https://paypal.me/cheeaun"]}},"created_at":"2018-04-10T02:51:04.000Z","updated_at":"2025-06-24T03:32:51.000Z","dependencies_parsed_at":"2023-09-21T20:03:34.919Z","dependency_job_id":"41ab69a9-da80-452f-890f-651381618b67","html_url":"https://github.com/cheeaun/checkweather-sg","commit_stats":{"total_commits":245,"total_committers":3,"mean_commits":81.66666666666667,"dds":"0.024489795918367308","last_synced_commit":"bd9c7fe619b9e05b7b30c0ef22ae2d328166ffa3"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cheeaun/checkweather-sg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheeaun%2Fcheckweather-sg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheeaun%2Fcheckweather-sg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheeaun%2Fcheckweather-sg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheeaun%2Fcheckweather-sg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cheeaun","download_url":"https://codeload.github.com/cheeaun/checkweather-sg/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheeaun%2Fcheckweather-sg/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265705397,"owners_count":23814440,"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":["3d","clouds","humidity","map","rain","rainfall","singapore","temperature","weather","wind"],"created_at":"2024-08-06T23:01:56.374Z","updated_at":"2025-07-18T05:31:51.575Z","avatar_url":"https://github.com/cheeaun.png","language":"JavaScript","funding_links":["https://github.com/sponsors/cheeaun","https://buymeacoffee.com/cheeaun","https://patreon.com/cheeaun","https://revolut.me/cheeaun","https://donate.stripe.com/9AQeVfbr40ZB9nGaEF","https://paypal.me/cheeaun"],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"icons/icon-standalone.svg\" width=\"120\" alt=\"\"\u003e\n\n  # Check Weather SG\n\n  **☀️🌧 Yet another weather app for Singapore**\n\u003c/div\u003e\n\n## Story\n\n### The Beginning\n\nThis [began](https://twitter.com/cheeaun/status/982477428713963527) with my long-time curiosity on how to convert raster radar images into vector on a map. I've been using [Weather.gov.sg's Rain Areas map](http://www.weather.gov.sg/weather-rain-area-50km/) whenever it rains, so I thought if I could convert that raster image to be used on [Mapbox GL JS](https://www.mapbox.com/mapbox-gl-js/api/). I could put the whole raster image on Mapbox but choose to make it vector because I like it smoother.\n\nAfter few trials and errors, I cooked up the [`Rain GeoJSON SG`](https://github.com/cheeaun/rain-geojson-sg) project, a straight-forward API server to convert rain area radar images (Singapore) to GeoJSON.\n\nSince I've gone this far, so I thought \"why not?\", let's build yet another weather app for Singapore! Thus this project _just happens_.\n\n![2D radar](screenshots/screenshot-2d.png)\n![3D radar](screenshots/screenshot-3d.png)\n![3D clouds and rain](screenshots/screenshot-clouds.png)\n\n**👉 Read more: [Building Check Weather SG](http://cheeaun.com/blog/2018/06/building-check-weather-sg/).**\n\n### The lock-down period\n\n2 years later (2020), I [revisited](https://twitter.com/cheeaun/status/1257305456055222273) this project and rebuilt it:\n\n- ⏳ Past 2 hours of radar snapshots\n- 🧼 Cleaner UI\n- 🗺 Cleaner maps\n- 🌏 Remove the 3D mode (it's not useful)\n\n![V2](screenshots/screenshot-v2.png)\n\nI've also built [an 📱 iOS app](https://github.com/cheeaun/checkweather-sg-native).\n\nAnd... a plethora of open-source projects to make the impossible possible:\n\n- ☔️ [rain-geojson-sg](https://github.com/cheeaun/rain-geojson-sg) - the core API to fetch weather observations and rain radar\n- ⏰ [checkweather-sg-checker](https://github.com/cheeaun/checkweather-sg-checker) - a scheduled serverless function to keep checking for rain\n- ⛱ [sg-coverage](https://github.com/cheeaun/sg-coverage) - a script that converts the Singapore boundary into a 217x120 array of indices with values indicating its (land) region excluding the surrounding areas (other countries and water).\n- 📸 [rainshot](https://github.com/cheeaun/rainshot) - a serverless instance to capture rain radar images\n- 🍩 [rainshot-checker](https://github.com/cheeaun/rainshot-checker) - A site to experiment contouring the radar data\n- 📤 [sg-rain-radar-scribbler](https://github.com/cheeaun/sg-rain-radar-scribbler) - another site to load rain radar image and generates a JSON output similar to the one generated by `rain-geojson-sg`.\n\n## Rain notifications\n\nThere are currently 3 channels:\n\n1. Push notifications, via [the iOS app](https://github.com/cheeaun/checkweather-sg-native).\n2. [Twitter @checkweathersg](https://twitter.com/checkweathersg)\n3. [Telegram channel /checkweathersg](https://t.me/checkweathersg)\n\n## Technicalities\n\n[Node.js](https://nodejs.org/en/) is required to run this web app. Here's a list of readily-provided scripts:\n\n- `npm start` - starts a local server for development\n- `npm run build` - build the files for production in `dist` folder\n- `npm run serve` - starts a local server to preview production build\n\n## Copyright \u0026 license\n\n- Data © [Data.gov.sg](https://data.gov.sg/privacy-and-website-terms#site-terms) © [Meteorological Service Singapore](http://www.weather.gov.sg/terms-of-use) © [National Environment Agency](http://www.nea.gov.sg/open-data-licence/)\n- Code licensed under [MIT](https://cheeaun.mit-license.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcheeaun%2Fcheckweather-sg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcheeaun%2Fcheckweather-sg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcheeaun%2Fcheckweather-sg/lists"}