{"id":23773130,"url":"https://github.com/ctkqiang/aedpenang","last_synced_at":"2026-02-17T15:02:16.028Z","repository":{"id":260830646,"uuid":"882456859","full_name":"ctkqiang/AEDPenang","owner":"ctkqiang","description":"槟城 AED 智能定位平台，让急救设备不再遥不可及。通过精准定位技术，为您导航至最近的自动体外除颤器，提供实时位置、现场照片和周边地标。我们相信，在紧急时刻，每一秒都是生命的希望。这是一个用科技守护城市安全的公益项目。","archived":false,"fork":false,"pushed_at":"2025-02-20T01:31:10.000Z","size":21560,"stargazers_count":2,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-03T04:27:31.656Z","etag":null,"topics":["aed","api-rest","china","ctkqiang","emergency","emergency-response","first-aid","malaysia","open-source","penang","rescue"],"latest_commit_sha":null,"homepage":"https://aedpenang.onrender.com/","language":"EJS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ctkqiang.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,"zenodo":null}},"created_at":"2024-11-02T20:29:02.000Z","updated_at":"2024-12-29T06:26:08.000Z","dependencies_parsed_at":"2024-11-02T22:18:39.955Z","dependency_job_id":"5dec55c7-2b18-4f60-8a84-9ef6423e44b0","html_url":"https://github.com/ctkqiang/AEDPenang","commit_stats":null,"previous_names":["ctkqiang/aedpenang"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ctkqiang/AEDPenang","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctkqiang%2FAEDPenang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctkqiang%2FAEDPenang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctkqiang%2FAEDPenang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctkqiang%2FAEDPenang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctkqiang","download_url":"https://codeload.github.com/ctkqiang/AEDPenang/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctkqiang%2FAEDPenang/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29548201,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T14:33:00.708Z","status":"ssl_error","status_checked_at":"2026-02-17T14:32:58.657Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["aed","api-rest","china","ctkqiang","emergency","emergency-response","first-aid","malaysia","open-source","penang","rescue"],"created_at":"2025-01-01T05:35:33.725Z","updated_at":"2026-02-17T15:02:15.996Z","avatar_url":"https://github.com/ctkqiang.png","language":"EJS","funding_links":["https://ko-fi.com/F1F5VCZJU","https://www.paypal.com/paypalme/ctkqiang"],"categories":[],"sub_categories":[],"readme":"# 槟城AED定位API\n\n为马来西亚槟城的自动体外除颤器(AED)位置提供信息的RESTful API服务。\n\n## 概述\n\n本服务提供访问AED位置信息的端点，包括地址、坐标和图像。它使用Express.js和TypeScript构建，提供强大且类型安全的后端服务。\n\n## 🚀 功能特点\n\n- 获取槟城所有AED位置\n- 位置详情包括：\n  - 地点名称\n  - 完整地址\n  - 坐标（纬度和经度）\n  - AED位置图片\n  - 兴趣点\n\n## 🛠 技术栈\n\n- Node.js\n- TypeScript\n- Express.js\n- cors\n- body-parser\n\n## 📁 项目结构\n\n```\nAEDPenang/\n├── src/\n│   ├── controllers/\n│   │   └── get_data.ts\n│   ├── models/\n│   │   └── aed_model.ts\n│   ├── routes/\n│   │   └── aed.ts\n│   ├── app.ts\n│   └── index.ts\n├── database/\n│   └── aed.json\n└── package.json\n```\n\n## 🚦 API端点\n\n### 基础URL\n```\nhttp://localhost:3000\n```\n\n### 端点\n\n| 方法 | 端点 | 描述 |\n|--------|----------|-------------|\n| GET    | /        | 欢迎信息 |\n| GET    | /aed/all | 获取所有AED位置 |\n\n## 🏃‍♂️ 快速开始\n\n1. 克隆仓库\n```bash\ngit clone https://github.com/ctkqiang/AEDPenang.git\n```\n\n2. 安装依赖\n```bash\ncd AEDPenang\nnpm install\n```\n\n3. 运行开发服务器\n```bash\nnpm run dev\n```\n\n服务器将在 `https://localhost` 启动\n\n## 💻 开发\n\n运行开发模式（热重载）：\n```bash\nnpm run dev\n```\n\n构建项目：\n```bash\nnpm run build\n```\n\n运行测试：\n```bash\nnpm test\n```\n\n## 📝 数据结构\n\n每个AED位置遵循以下结构：\n```typescript\ninterface AED {\n  id: number;                    // 位置ID\n  name: string;                  // 位置名称\n  address: string;               // 完整地址\n  coordinates: [string, string]; // 坐标（纬度，经度）\n  images_url: string[];         // AED位置图片\n  poi: string[];                // 兴趣点\n}\n```\n\n## 👨‍💻 联系方式\n\n如需服务或咨询，请联系：\n- 电子邮件：ctkqiang96@zohomail.cn\n\n## 🏢 公司\n\n上饶满星科技 (Man Xing Enterprise)\n\n## 📄 许可证\n\n```\n版权所有 2025 上饶满星科技 (Man Xing Enterprise)\n\n根据Apache许可证2.0版（以下简称\"许可证\"）获得许可；\n除非遵守许可证，否则您不得使用此文件。\n您可以在以下位置获取许可证副本：\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\n除非适用法律要求或书面同意，否则根据许可证分发的软件是基于\n\"按原样\"分发的，没有任何明示或暗示的担保或条件。\n有关许可证下的特定语言管理权限和限制，请参阅许可证。\n```\n\n## 参与贡献\n我们欢迎您为此项目做出贡献或将其用于您的项目。如果您使用了本项目的代码，请务必注明代码来源并提及原作者。您可以通过以下方式参与:\n\n- 提交 Pull Request\n- 报告问题或bug\n- 提出新功能建议\n- 完善文档\n\n在使用本项目代码时，请在您的项目文档中注明:\n\u003e \"部分代码来源于 AEDPenang 项目 (https://github.com/ctkqiang/AEDPenang)\"\n\n感谢您的支持与合作！\n\n### 个人捐赠支持\n如果您认为该项目对您有所帮助，并且愿意个人捐赠以支持其持续发展和维护，🥰我非常感激您的慷慨。\n您的捐赠将帮助我继续改进和添加新功能到该项目中。 通过财务捐赠，您将有助于确保该项目保持免\n费和对所有人开放。即使是一小笔捐款也能产生巨大的影响，也是对我个人的鼓励。\n\n以下是我的支付宝二维码，您可以扫描二维码进行个人捐赠：\n\n\u003cbr /\u003e\n\n| 微信支付 | 支付宝支付 |\n| --- | --- |\n| \u003cimg src=\"https://github.com/ctkqiang/ctkqiang/blob/main/assets/IMG_9863.jpg?raw=true\" height=\"500\" /\u003e | \u003cimg src=\"https://github.com/ctkqiang/ctkqiang/blob/main/assets/IMG_9859.JPG?raw=true\" height=\"500\" /\u003e |\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/F1F5VCZJU)\n\n\n\n## 爱心捐款\n\u003ca href=\"https://qr.alipay.com/fkx19369scgxdrkv8mxso92\"\u003e\u003cimg src=\"https://img.shields.io/badge/alipay-00A1E9?style=for-the-badge\u0026logo=alipay\u0026logoColor=white\"\u003e\u003c/a\u003e \u003ca href=\"https://ko-fi.com/F1F5VCZJU\"\u003e\u003cimg src=\"https://img.shields.io/badge/Ko--fi-F16061?style=for-the-badge\u0026logo=ko-fi\u0026logoColor=white\"\u003e\u003c/a\u003e \u003ca href=\"https://www.paypal.com/paypalme/ctkqiang\"\u003e\u003cimg src=\"https://img.shields.io/badge/PayPal-00457C?style=for-the-badge\u0026logo=paypal\u0026logoColor=white\"\u003e\u003c/a\u003e \u003ca href=\"https://donate.stripe.com/00gg2nefu6TK1LqeUY\"\u003e\u003cimg src=\"https://img.shields.io/badge/Stripe-626CD9?style=for-the-badge\u0026logo=Stripe\u0026logoColor=white\"\u003e\u003c/a\u003e\n\n## 关注我\n\u003ca href=\"https://twitch.tv/ctkqiang\"\u003e\u003cimg src=\"https://img.shields.io/badge/Twitch-9146FF?style=for-the-badge\u0026logo=twitch\u0026logoColor=white\"\u003e\u003c/a\u003e \u003ca href=\"https://open.spotify.com/user/22sblyn4dsymya3xinw3umhai\"\u003e\u003cimg src=\"https://img.shields.io/badge/Spotify-1ED760?\u0026style=for-the-badge\u0026logo=spotify\u0026logoColor=white\"\u003e\u003c/a\u003e \u003ca href=\"https://www.tiktok.com/@ctkqiang\"\u003e\u003cimg src=\"https://img.shields.io/badge/TikTok-000000?style=for-the-badge\u0026logo=tiktok\u0026logoColor=white\"\u003e\u003c/a\u003e \u003ca href=\"https://stackoverflow.com/users/10758321/%e9%92%9f%e6%99%ba%e5%bc%ba\"\u003e\u003cimg src=\"https://img.shields.io/badge/Stack_Overflow-FE7A16?style=for-the-badge\u0026logo=stack-overflow\u0026logoColor=white\"\u003e\u003c/a\u003e \u003ca href=\"https://www.facebook.com/JohnMelodyme/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Facebook-1877F2?style=for-the-badge\u0026logo=facebook\u0026logoColor=white\"\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ctkqiang\"\u003e\u003cimg src=\"https://img.shields.io/badge/GitHub-100000?style=for-the-badge\u0026logo=github\u0026logoColor=white\"\u003e\u003c/a\u003e \u003ca href=\"https://www.instagram.com/ctkqiang\"\u003e\u003cimg src=\"https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge\u0026logo=instagram\u0026logoColor=white\"\u003e\u003c/a\u003e \u003ca href=\"https://www.linkedin.com/in/ctkqiang/\"\u003e\u003cimg src=\"https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white\"\u003e\u003c/a\u003e \u003ca href=\"https://linktr.ee/ctkqiang.official\"\u003e\u003cimg src=\"https://img.shields.io/badge/linktree-39E09B?style=for-the-badge\u0026logo=linktree\u0026logoColor=white\"\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ctkqiang/ctkqiang/blob/main/assets/IMG_9245.JPG?raw=true\"\u003e\u003cimg src=\"https://img.shields.io/badge/WeChat-07C160?style=for-the-badge\u0026logo=wechat\u0026logoColor=white\"\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctkqiang%2Faedpenang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fctkqiang%2Faedpenang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctkqiang%2Faedpenang/lists"}