{"id":19451776,"url":"https://github.com/zhengxs2018/fullstack-app-template","last_synced_at":"2025-04-25T04:30:30.843Z","repository":{"id":118133589,"uuid":"272146971","full_name":"zhengxs2018/fullstack-app-template","owner":"zhengxs2018","description":"一个完善的基于 koa.js 开发的全栈应用模板，可在生产项目中使用。","archived":true,"fork":false,"pushed_at":"2021-01-25T01:06:55.000Z","size":54,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-13T23:29:13.027Z","etag":null,"topics":["fullstack","koa","koa2","nodejs","swagger-ui","templates"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zhengxs2018.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":"2020-06-14T06:35:49.000Z","updated_at":"2024-04-20T19:34:08.000Z","dependencies_parsed_at":"2023-07-06T15:32:06.773Z","dependency_job_id":null,"html_url":"https://github.com/zhengxs2018/fullstack-app-template","commit_stats":null,"previous_names":[],"tags_count":2,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhengxs2018%2Ffullstack-app-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhengxs2018%2Ffullstack-app-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhengxs2018%2Ffullstack-app-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhengxs2018%2Ffullstack-app-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zhengxs2018","download_url":"https://codeload.github.com/zhengxs2018/fullstack-app-template/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250754541,"owners_count":21481834,"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":["fullstack","koa","koa2","nodejs","swagger-ui","templates"],"created_at":"2024-11-10T16:42:58.651Z","updated_at":"2025-04-25T04:30:30.836Z","avatar_url":"https://github.com/zhengxs2018.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fullstack-app-template\n\n[![lang](https://img.shields.io/badge/lang-typescript-informational)](https://www.typescriptlang.org/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)\n\n一个完善的基于 [koa.js][koa.js] 开发的全栈应用模板，可在生产项目中使用。\n\n## 功能列表\n\n - 由 [node-config](https://github.com/lorenwest/node-config) 支持不同环境配置\n - 由 [dotenv](https://github.com/https://github.com/motdotla/dotenv) 支持环境变量管理\n - 基于 [@koa/router][@koa/router] 构建的蓝图功能\n - 使用 [swagger-ui][swagger-ui] 生成 api 文档\n - 添加 [parameter](https://github.com/node-modules/parameter) 模块来支持表单验证\n - 数据库默认是 `sqlite`，可以支持其他数据，如 `mysql`，由 [prisma2][prisma2] 驱动\n - 支持 typescript 编写\n - 支持应用分层写法\n\n## 目录结构\n\n```text\n├── docs/\n├── migrations/                               # 数据库迁移脚本\n├── run/\n|   ├── application_config.json               # 应用运行时的配置信息\n|   └── application_config_meta.json          # 应用运行时的配置的元数据\n├── src/\n|   ├── setup.ts                              # 启动脚本\n|   ├── main.ts                               # 应用入口\n|   ├── config/                                   # 应用配置 \n|   |   ├── default.ts  \n|   |   ├── development.ts\n|   |   └── production.ts\n|   ├── contract/\n|   |   ├── request/                          # 表单验证规则和输入字段定义\n|   |   ├── response/                         # 输出数据转换和安全字段拦截\n|   |   └── *.yaml                            # swagger ui 定义文件\n|   ├── db/ \n|   |   └── client.ts                         # @prisma/client 实例对象\n|   ├── extend/\n|   |   ├── application.ts\n|   |   └── context.ts\n|   ├── shared/                                  # 公共代码 \n|   ├── middleware/                           # 中间件函数\n|   ├── modules/  \n|   |   ├── admin/                            # 管理后台 \n|   |   |   ├── static/                       # 静态文件\n|   |   |   ├── templates/                    # 模板文件\n|   |   |   └── main.ts                       # 模块入口\n|   |   |\n|   |   ├── api/                              # 数据接口\n|   |   |   └── main.ts\n|   |   |\n|   |   ├── mobile/                           # 移动端 \n|   |   |   ├── static/                       # 静态文件\n|   |   |   ├── templates/                    # 模板文件\n|   |   |   └── main.ts                       # 模块入口\n|   |   └── web/                              # 官网\n|   |       ├── static/                       # 静态文件\n|   |       ├── templates/                    # 模板文件\n|   |       └── main.ts                       # 模块入口\n|   └── service/                              # 内部调用服务\n├── .env                                      # 环境配置文件\n├── ecosystem.config.js                       # pm2 配置文件\n├── tsconfig.json\n├── schema.prisma                             # prisma 定义文件\n└── README.md\n```\n\n## 文档\n\n- [蓝图](./docs/blueprint.md)\n- [表单验证](./docs/form-validate.md)\n- [部署到服务器](./docs/deploy.md)\n\n## 启动项目\n\n\u003e 注意: 请确保本地安装有 redis，或修改 redis 的主机地址，否则项目将无法启动。\n\n你需要安装 Node.js 的版本为 12+，应用依赖 redis 服务。\n\n克隆此仓库后运行:\n\n``` bash\n# 安装依赖\n$ npm install\n\n# 更新数据库\n$ npm run db:up\n\n# 启动开发模式\n# 打开 http://127.0.0.1:8080/api/docs 可以查看 api 文档\n$ npm run dev\n\n# 启动调试模式，需要其他工具配合，如：vscode，Chrome devtools\n$ npm run debug\n```\n\n更多 `npm version` 的命令可使用 `npm version --help` 查看\n\n## 感谢\n\n感谢以下开源项目给予的灵感和帮助，以下排名不分先后。\n\n* [koa.js][koa.js]\n* [@koa/router][@koa/router]\n* [swagger-ui][swagger-ui]\n* [prisma2][prisma2]\n* [dotenv][dotenv]\n* [parameter][parameter]\n* [flask][flask]\n* [nunjucks][nunjucks]\n* And more.\n\n## License\n\n* MIT\n\n[koa.js]: https://github.com/koajs/koa\n[@koa/router]: https://github.com/koajs/router\n[swagger-ui]: https://swagger.io/\n[prisma2]: https://github.com/prisma/prisma\n[node-config]: https://github.com/lorenwest/node-config\n[dotenv]: https://github.com/https://github.com/motdotla/dotenv\n[parameter]: https://github.com/node-modules/parameter\n[flask]: https://github.com/pallets/flask\n[nunjucks]: https://github.com/mozilla/nunjucks\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhengxs2018%2Ffullstack-app-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhengxs2018%2Ffullstack-app-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhengxs2018%2Ffullstack-app-template/lists"}