{"id":27918371,"url":"https://github.com/koatty/koatty_demo","last_synced_at":"2025-08-03T14:33:38.896Z","repository":{"id":40004748,"uuid":"214610961","full_name":"Koatty/koatty_demo","owner":"Koatty","description":"Koatty demo.","archived":false,"fork":false,"pushed_at":"2025-03-11T00:55:59.000Z","size":5490,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-11T01:31:49.959Z","etag":null,"topics":["koa","koatty","koatty-demo","microservice","serverless","typescript"],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Koatty.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":"2019-10-12T08:39:15.000Z","updated_at":"2025-03-11T00:55:56.000Z","dependencies_parsed_at":"2024-05-10T09:30:01.511Z","dependency_job_id":"fc86f0d7-723d-41aa-b05c-7e6903f7260f","html_url":"https://github.com/Koatty/koatty_demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koatty%2Fkoatty_demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koatty%2Fkoatty_demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koatty%2Fkoatty_demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koatty%2Fkoatty_demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Koatty","download_url":"https://codeload.github.com/Koatty/koatty_demo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252741738,"owners_count":21797076,"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":["koa","koatty","koatty-demo","microservice","serverless","typescript"],"created_at":"2025-05-06T18:21:45.817Z","updated_at":"2025-05-06T18:21:47.279Z","avatar_url":"https://github.com/Koatty.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ktdemo\n\nApplication created by [Koatty](https://github.com/koatty/koatty)\n\n\n## 项目目录结构\n\n ```shell\nprojectName\n├── .vscode                       # vscode配置\n│   └── launch.json               # node本地调试脚本\n├── dist                          # 编译后目录\n├── src                           # 项目源代码\n│   ├── config\n│   │   ├── config.ts             # 框架配置\n│   │   ├── db.ts                 # 存储配置\n│   │   ├── middleware.ts         # 中间件配置\n│   │   ├── plugin.ts             # 插件配置\n│   │   └── router.ts             # 路由配置\n│   ├── controller                # 控制器\n│   │   └── TestController.ts\n│   ├── middleware                # 中间件\n│   │   ├── JwtMiddleware.ts\n│   │   └── ViewMiddleware.ts\n│   ├── model                     # 持久层\n│   │   └── TestModel.ts\n│   ├── plugin                    # 插件\n│   │   └── TestPlugin.ts\n│   ├── proto                     # pb协议\n│   │   └── helloworld.proto\n│   ├── resource                  # 用于存放静态数据或白名单等\n│   │   └── data.json\n│   ├── service                   # service逻辑层\n│   │   └── TestService.ts\n│   ├── utils                     # 工具函数\n│   │   └── index.ts\n│   └── App.ts                    # 入口文件\n├── static                        # 静态文件目录\n│   └── index.html\n├── test                          # 测试用例\n│   └── index.test.js\n├── apidoc.json\n├── package.json\n├── README.md\n└── tsconfig.json\n ```\n\n## 启动\n\n```shell\n# 安装依赖\nnpm install\n\n# 启动服务\nnpm start\n```\n## 调试\n\nif you use vscode , edit the `.vscode/launch.json` , like this: \n```\n{\n    \"version\": \"0.2.0\",\n    \"configurations\": [\n        {\n            \"type\": \"node\",\n            \"request\": \"launch\",\n            \"name\": \"TS Program\",\n            \"args\": [\n                \"${workspaceRoot}/src/App.ts\"\n            ],\n            \"runtimeArgs\": [\n                \"--nolazy\",\n                \"-r\",\n                \"ts-node/register\"\n            ],\n            \"sourceMaps\": true,\n            \"cwd\": \"${workspaceRoot}\",\n            \"protocol\": \"inspector\",\n            \"internalConsoleOptions\": \"neverOpen\"\n        }\n    ]\n}\n```\nSelect `TS Program` to debug run. Try to call `http://localhost:3000/` .\n\n## API 文档\n\n使用 [apidoc](https://www.npmjs.com/package/apidoc) 模块自动生成接口文档.\n```\nnpm run doc\n```\n接口文档地址：http://localhost:3000/doc/index.html\n\n\n## 部署\n\n使用容器化部署, 打包镜像\n\n```\nnpm run build:images\n```\n\n发布镜像:\n\n```\ndocker push koatty/ktdemo:latest\n```\n\n运行:\n\n```\ndocker run -d --network=host --restart=always --name=test koatty/ktdemo:latest\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoatty%2Fkoatty_demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoatty%2Fkoatty_demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoatty%2Fkoatty_demo/lists"}