{"id":14989413,"url":"https://github.com/zhaoyiming0803/vuenode","last_synced_at":"2025-04-07T17:07:40.785Z","repository":{"id":38984180,"uuid":"103839661","full_name":"zhaoyiming0803/VueNode","owner":"zhaoyiming0803","description":"VueNode is a project of front and backend separation that building on TypeScript + Vue3.x + Node.js + MySQL + TypeORM","archived":false,"fork":false,"pushed_at":"2024-09-05T12:58:43.000Z","size":40405,"stargazers_count":487,"open_issues_count":17,"forks_count":151,"subscribers_count":16,"default_branch":"dev","last_synced_at":"2025-04-07T17:07:19.257Z","etag":null,"topics":["class-validation","koajs","mysql","nodejs","typeorm","typescipt","vue-router","vue3","vuex","webpack4"],"latest_commit_sha":null,"homepage":"","language":"Vue","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/zhaoyiming0803.png","metadata":{"files":{"readme":"README-zh_CN.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":"2017-09-17T15:29:36.000Z","updated_at":"2025-04-05T19:03:13.000Z","dependencies_parsed_at":"2024-05-04T16:37:23.241Z","dependency_job_id":"0df6e9af-7751-41ab-9230-b8b376898fb2","html_url":"https://github.com/zhaoyiming0803/VueNode","commit_stats":{"total_commits":304,"total_committers":6,"mean_commits":"50.666666666666664","dds":"0.26973684210526316","last_synced_commit":"4a738fe45b07961a839e30fa31a862ac3ace70cc"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhaoyiming0803%2FVueNode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhaoyiming0803%2FVueNode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhaoyiming0803%2FVueNode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhaoyiming0803%2FVueNode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zhaoyiming0803","download_url":"https://codeload.github.com/zhaoyiming0803/VueNode/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247694876,"owners_count":20980733,"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":["class-validation","koajs","mysql","nodejs","typeorm","typescipt","vue-router","vue3","vuex","webpack4"],"created_at":"2024-09-24T14:18:19.375Z","updated_at":"2025-04-07T17:07:40.756Z","avatar_url":"https://github.com/zhaoyiming0803.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VueNode\n\n\u003e 最好的学习方法是阅读书籍和官方文档，以及 GitHub 开源代码，然后编写测试代码。\n\n简体中文 | [English](./README.md)\n\n当前项目使用 Vue3 \u0026 Node.js 开发，旧版本可参考：\n\n- [VueNode v1.x](https://github.com/zhaoyiming0803/VueNode/tree/v1.0)\n\n- [VueNode v2.x](https://github.com/zhaoyiming0803/VueNode/tree/v2.2.2)\n\n### 用 Koa.js 替换 Express 测试 demo\n\n- https://github.com/zhaoyiming0803/test-code/blob/master/TypeORMDemoWithKoa/\n\n### Vue 从 v2 到 v3 升级指南：\n\n- [Vue 官方升级指南](https://v3-migration.vuejs.org/)\n\n- [vuex](https://next.vuex.vuejs.org/guide/)\n\n- [vue-router](https://next.router.vuejs.org/installation.html)\n\n- [升级 vantUI](https://vant-contrib.gitee.io/vant/v3/#/zh-CN/migrate-from-v2)\n\n- [vuex](https://next.vuex.vuejs.org/guide/)\n\n- [vue-router](https://next.router.vuejs.org/installation.html)\n\n- [测试 demo](https://github.com/zhaoyiming0803/vue3-webpack-demo)\n\n- 先用 Vue 官方脚手架初始化一个测试 demo，看下最新的包依赖版本是多少，然后当前项目中也安装相应版本的依赖。\n\n- 将 `fe/src/router/routes.ts` 中的路由都暂时注释掉，新增一个测试页面，然后采用渐进式的方式逐步迁移原有业务代码。\n\n- 将 `fe/src/components` 下的组件都转为 Vue3 的语法。\n\n- 逐步迁移 `fe/src/pages`。\n\n- 注：此项目纯属个人爱好及代码测试。\n\n### 技术栈\n\n- 前端：@vue/cli@4.5.13、vue.js@3.2.16、vuex@4.0.2、vue-router@4.0.11、Less、ES6(7|8)、Webpack4、axios@0.19.0\n\n- 后端：Node.js（Koa.js）、MySQL、TypeORM、class-validator\n\n### 项目本地运行方法\n\n - git clone https://github.com/zhaoyiming0803/VueNode.git\n\n - 前端代码在 fe 目录下，node 代码在 server 目录下，打开对应的目录，查看 package.json，npm 执行 对应的 script 即可。\n\n### 线上部署\n\n- 前端：参考 fe 目录下的 nginx.conf、Jenkinsfile、publish.sh\n\n- 后端：参考 server 目录下的 nginx.conf、pm2.json、Jenkinsfile、publish.sh\n\n### 关于数据库\n\n - 安装 MySQL 数据库，新建数据库tour，然后导入全部数据（/server/tour.sql）\n\n - 数据库 tour_user 表中的用户默认密码均为 123456\n\n### 目标功能\n\n- [x] 登录、注册、密码修改（100%）\n- [x] 个人中心信息展示、资料修改（100%）\n- [x] 头像上传（100%）\n- [x] app首页（100%）\n- [x] app列表页——全球优惠券（100%）\n- [x] 展示国家与地区列表（100%）\n- [x] 每个国家与地区对应的优惠券、新闻、banner轮播图（100%）\n- [x] 领取优惠券（100%）\n- [x] 优惠券详情（100%）\n- [x] 使用优惠券（100%）\n- [x] 发布优惠券文字（100%）\n- [x] 星级评价组件（100%）\n- [x] 微信分享（100%）使用 nodejs 开发微信源码：https://github.com/zhaoyiming0803/wechat-nodejs\n\n### 项目GIF图\n\n![gif](https://github.com/zhaoyiming0803/VueNode/blob/v1.0/project.gif?raw=true)\n\n### 说明\n\n- 如果对您有帮助，您可以点右上角 \"Star\" 支持一下 谢谢！ ^_^\n\n- 或者您可以 \"follow\" 一下，我会不断开源更多的有趣的项目\n\n- 如有问题请直接在 Issues 中提，或者您发现问题并有非常好的解决方案，欢迎 PR 👍\n\n### 个人微信\u0026QQ：1047832475\n\n\u003cimg src=\"https://github.com/zhaoyiming0803/zhaoyiming0803/raw/master/wechat.jpeg\" width=\"200\" height=\"200\"\u003e\n\n### 参考资料\n\n- https://vuejs.org/\n- https://router.vuejs.org/installation.html\n- https://vuex.vuejs.org/guide/\n- https://koajs.com/\n- https://github.com/koajs/router/blob/master/API.md\n- https://www.npmjs.com/package/koa-swagger-decorator\n- https://typeorm.io/\n- https://www.npmjs.com/package/class-validator\n- https://www.typescriptlang.org/docs/handbook/typescript-from-scratch.html\n- https://pm2.keymetrics.io/docs/usage/quick-start/\n- https://github.com/zhaoyiming0803/test-code/blob/master/TypeORMDemoWithKoa/","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhaoyiming0803%2Fvuenode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhaoyiming0803%2Fvuenode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhaoyiming0803%2Fvuenode/lists"}