{"id":19372267,"url":"https://github.com/apprexp/ltadatamall-wrapper","last_synced_at":"2026-01-25T00:31:13.044Z","repository":{"id":36387508,"uuid":"223904132","full_name":"apprexp/ltadatamall-wrapper","owner":"apprexp","description":"An API wrapper for LTA Datamall to circumvent the lack of support for HTTPS","archived":false,"fork":false,"pushed_at":"2026-01-19T17:41:13.000Z","size":89,"stargazers_count":0,"open_issues_count":13,"forks_count":2,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-01-19T23:33:42.630Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apprexp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-11-25T08:58:31.000Z","updated_at":"2020-12-24T10:17:52.000Z","dependencies_parsed_at":"2024-01-15T06:38:48.018Z","dependency_job_id":"6500a4b2-68a2-465d-8d28-f0940cdf842d","html_url":"https://github.com/apprexp/ltadatamall-wrapper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/apprexp/ltadatamall-wrapper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apprexp%2Fltadatamall-wrapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apprexp%2Fltadatamall-wrapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apprexp%2Fltadatamall-wrapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apprexp%2Fltadatamall-wrapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apprexp","download_url":"https://codeload.github.com/apprexp/ltadatamall-wrapper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apprexp%2Fltadatamall-wrapper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28739841,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T22:12:27.248Z","status":"ssl_error","status_checked_at":"2026-01-24T22:12:10.529Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-11-10T08:22:38.056Z","updated_at":"2026-01-25T00:31:13.029Z","avatar_url":"https://github.com/apprexp.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LTA Datamall Wrapper\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fapprexp%2Fltadatamall-wrapper.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fapprexp%2Fltadatamall-wrapper?ref=badge_shield)\n[![Total alerts](https://img.shields.io/lgtm/alerts/g/apprexp/ltadatamall-wrapper.svg?logo=lgtm\u0026logoWidth=18\u0026style=flat-square)](https://lgtm.com/projects/g/apprexp/ltadatamall-wrapper/alerts/)\n[![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/apprexp/ltadatamall-wrapper.svg?logo=lgtm\u0026logoWidth=18\u0026style=flat-square)](https://lgtm.com/projects/g/apprexp/ltadatamall-wrapper/context:javascript)\n[![Known Vulnerabilities](https://snyk.io/test/github/apprexp/ltadatamall-wrapper/badge.svg?targetFile=package.json\u0026style=flat-square)](https://snyk.io/test/github/apprexp/ltadatamall-wrapper?targetFile=package.json)\n[![GuardRails badge](https://badges.guardrails.io/apprexp/apprexp.github.io.svg?token=c9168fb0939fbb8fd4a3138f0d9977b001b2095cf1f931c079aff6ec86b17d65\u0026provider=github)](https://dashboard.guardrails.io/default/gh/apprexp/apprexp.github.io)\n[![Module LTS Adopted'](https://img.shields.io/badge/Module%20LTS-Adopted-brightgreen.svg?style=flat-square)](http://github.com/CloudNativeJS/ModuleLTS)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v1.4%20adopted-ff69b4.svg?style=flat-square)](code-of-conduct.md)\n[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=flat-square)](http://commitizen.github.io/cz-cli/)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)](https://github.com/semantic-release/semantic-release)\n![OSS Lifecycle](https://img.shields.io/osslifecycle/apprexp/ltadatamall-wrapper?style=flat-square)\n[![Renovate](https://img.shields.io/badge/renovate-enabled-green?style=flat-square\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNjkgMzY5Ij48Y2lyY2xlIGN4PSIxODkuOSIgY3k9IjE5MC4yIiByPSIxODQuNSIgZmlsbD0iI2ZmZTQyZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTUgLTYpIi8+PHBhdGggZmlsbD0iIzhiYjViNSIgZD0iTTI1MSAyNTZsLTM4LTM4YTE3IDE3IDAgMDEwLTI0bDU2LTU2YzItMiAyLTYgMC03bC0yMC0yMWE1IDUgMCAwMC03IDBsLTEzIDEyLTktOCAxMy0xM2ExNyAxNyAwIDAxMjQgMGwyMSAyMWM3IDcgNyAxNyAwIDI0bC01NiA1N2E1IDUgMCAwMDAgN2wzOCAzOHoiLz48cGF0aCBmaWxsPSIjZDk1NjEyIiBkPSJNMzAwIDI4OGwtOCA4Yy00IDQtMTEgNC0xNiAwbC00Ni00NmMtNS01LTUtMTIgMC0xNmw4LThjNC00IDExLTQgMTUgMGw0NyA0N2M0IDQgNCAxMSAwIDE1eiIvPjxwYXRoIGZpbGw9IiMyNGJmYmUiIGQ9Ik04MSAxODVsMTgtMTggMTggMTgtMTggMTh6Ii8+PHBhdGggZmlsbD0iIzI1YzRjMyIgZD0iTTIyMCAxMDBsMjMgMjNjNCA0IDQgMTEgMCAxNkwxNDIgMjQwYy00IDQtMTEgNC0xNSAwbC0yNC0yNGMtNC00LTQtMTEgMC0xNWwxMDEtMTAxYzUtNSAxMi01IDE2IDB6Ii8+PHBhdGggZmlsbD0iIzFkZGVkZCIgZD0iTTk5IDE2N2wxOC0xOCAxOCAxOC0xOCAxOHoiLz48cGF0aCBmaWxsPSIjMDBhZmIzIiBkPSJNMjMwIDExMGwxMyAxM2M0IDQgNCAxMSAwIDE2TDE0MiAyNDBjLTQgNC0xMSA0LTE1IDBsLTEzLTEzYzQgNCAxMSA0IDE1IDBsMTAxLTEwMWM1LTUgNS0xMSAwLTE2eiIvPjxwYXRoIGZpbGw9IiMyNGJmYmUiIGQ9Ik0xMTYgMTQ5bDE4LTE4IDE4IDE4LTE4IDE4eiIvPjxwYXRoIGZpbGw9IiMxZGRlZGQiIGQ9Ik0xMzQgMTMxbDE4LTE4IDE4IDE4LTE4IDE4eiIvPjxwYXRoIGZpbGw9IiMxYmNmY2UiIGQ9Ik0xNTIgMTEzbDE4LTE4IDE4IDE4LTE4IDE4eiIvPjxwYXRoIGZpbGw9IiMyNGJmYmUiIGQ9Ik0xNzAgOTVsMTgtMTggMTggMTgtMTggMTh6Ii8+PHBhdGggZmlsbD0iIzFiY2ZjZSIgZD0iTTYzIDE2N2wxOC0xOCAxOCAxOC0xOCAxOHpNOTggMTMxbDE4LTE4IDE4IDE4LTE4IDE4eiIvPjxwYXRoIGZpbGw9IiMzNGVkZWIiIGQ9Ik0xMzQgOTVsMTgtMTggMTggMTgtMTggMTh6Ii8+PHBhdGggZmlsbD0iIzFiY2ZjZSIgZD0iTTE1MyA3OGwxOC0xOCAxOCAxOC0xOCAxOHoiLz48cGF0aCBmaWxsPSIjMzRlZGViIiBkPSJNODAgMTEzbDE4LTE3IDE4IDE3LTE4IDE4ek0xMzUgNjBsMTgtMTggMTggMTgtMTggMTh6Ii8+PHBhdGggZmlsbD0iIzk4ZWRlYiIgZD0iTTI3IDEzMWwxOC0xOCAxOCAxOC0xOCAxOHoiLz48cGF0aCBmaWxsPSIjYjUzZTAyIiBkPSJNMjg1IDI1OGw3IDdjNCA0IDQgMTEgMCAxNWwtOCA4Yy00IDQtMTEgNC0xNiAwbC02LTdjNCA1IDExIDUgMTUgMGw4LTdjNC01IDQtMTIgMC0xNnoiLz48cGF0aCBmaWxsPSIjOThlZGViIiBkPSJNODEgNzhsMTgtMTggMTggMTgtMTggMTh6Ii8+PHBhdGggZmlsbD0iIzAwYTNhMiIgZD0iTTIzNSAxMTVsOCA4YzQgNCA0IDExIDAgMTZMMTQyIDI0MGMtNCA0LTExIDQtMTUgMGwtOS05YzUgNSAxMiA1IDE2IDBsMTAxLTEwMWM0LTQgNC0xMSAwLTE1eiIvPjxwYXRoIGZpbGw9IiMzOWQ5ZDgiIGQ9Ik0yMjggMTA4bC04LThjLTQtNS0xMS01LTE2IDBMMTAzIDIwMWMtNCA0LTQgMTEgMCAxNWw4IDhjLTQtNC00LTExIDAtMTVsMTAxLTEwMWM1LTQgMTItNCAxNiAweiIvPjxwYXRoIGZpbGw9IiNhMzM5MDQiIGQ9Ik0yOTEgMjY0bDggOGM0IDQgNCAxMSAwIDE2bC04IDdjLTQgNS0xMSA1LTE1IDBsLTktOGM1IDUgMTIgNSAxNiAwbDgtOGM0LTQgNC0xMSAwLTE1eiIvPjxwYXRoIGZpbGw9IiNlYjZlMmQiIGQ9Ik0yNjAgMjMzbC00LTRjLTYtNi0xNy02LTIzIDAtNyA3LTcgMTcgMCAyNGw0IDRjLTQtNS00LTExIDAtMTZsOC04YzQtNCAxMS00IDE1IDB6Ii8+PHBhdGggZmlsbD0iIzEzYWNiZCIgZD0iTTEzNCAyNDhjLTQgMC04LTItMTEtNWwtMjMtMjNhMTYgMTYgMCAwMTAtMjNMMjAxIDk2YTE2IDE2IDAgMDEyMiAwbDI0IDI0YzYgNiA2IDE2IDAgMjJMMTQ2IDI0M2MtMyAzLTcgNS0xMiA1em03OC0xNDdsLTQgMi0xMDEgMTAxYTYgNiAwIDAwMCA5bDIzIDIzYTYgNiAwIDAwOSAwbDEwMS0xMDFhNiA2IDAgMDAwLTlsLTI0LTIzLTQtMnoiLz48cGF0aCBmaWxsPSIjYmY0NDA0IiBkPSJNMjg0IDMwNGMtNCAwLTgtMS0xMS00bC00Ny00N2MtNi02LTYtMTYgMC0yMmw4LThjNi02IDE2LTYgMjIgMGw0NyA0NmM2IDcgNiAxNyAwIDIzbC04IDhjLTMgMy03IDQtMTEgNHptLTM5LTc2Yy0xIDAtMyAwLTQgMmwtOCA3Yy0yIDMtMiA3IDAgOWw0NyA0N2E2IDYgMCAwMDkgMGw3LThjMy0yIDMtNiAwLTlsLTQ2LTQ2Yy0yLTItMy0yLTUtMnoiLz48L3N2Zz4=)](https://renovatebot.com)\n[![Prettier](https://img.shields.io/badge/code_style-Prettier-ff69b4.svg?logo=Prettier\u0026logoColor=white\u0026style=flat-square 'Prettier')](https://github.com/prettier/prettier)\n\nThis is an API wrapper meant to circumvent the issue of [LTA Datamall not supporting HTTPS](https://github.com/datagovsg/datagovsg-datasets/issues/544).\n\n## Usage (local machine)\n\n1. Install Node.js\n2. Clone this repository\n3. If you want this wrapper to handle SSL directly (e.g. no proxy), run these commands (substituting `...` with the your own values):\n    ```bash\n    # Linux\n    export SSL_CERT=...\n    export SSL_KEY=...\n    ```\n4. Run these commands in the repository:\n   ```bash\n   npm install\n   npm install -D\n   npm run build\n   npm start\n   ```\n\n## Usage (Docker)\n1. Modify the following lines in `Dockerfile` accordingly:\n    ```Dockerfile\n    # Change these as necessary\n    ENV PORT=80\n    ENV SSL_CERT=\"\"\n    ENV SSL_KEY=\"\"\n    ```\n2. Execute `docker run` or whichever preferred Docker \"startup\" command.\n\n\n## License\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fapprexp%2Fltadatamall-wrapper.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fapprexp%2Fltadatamall-wrapper?ref=badge_large)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapprexp%2Fltadatamall-wrapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapprexp%2Fltadatamall-wrapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapprexp%2Fltadatamall-wrapper/lists"}