{"id":13677474,"url":"https://github.com/maoxiaoquan/kite","last_synced_at":"2025-04-14T20:54:18.467Z","repository":{"id":50310522,"uuid":"104054358","full_name":"maoxiaoquan/kite","owner":"maoxiaoquan","description":":palm_tree: Kite 前台页面是vue ssr服务端渲染、后台页面是react spa、服务层nodejs express、mysql编写的一套多权限文章、动态管理系统 ","archived":false,"fork":false,"pushed_at":"2024-10-11T11:51:42.000Z","size":11910,"stargazers_count":630,"open_issues_count":11,"forks_count":112,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-07T16:09:22.972Z","etag":null,"topics":["apollo-server-express","blog","es6","express","graphql","mark","markdown","nodejs","react","react-hooks","react-router-v6","react16","redux","ssr","vue","vuessr","webpack3"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/maoxiaoquan.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":"2017-09-19T09:23:53.000Z","updated_at":"2025-03-17T08:12:59.000Z","dependencies_parsed_at":"2024-08-02T13:15:45.337Z","dependency_job_id":"de03ac24-f2a5-4eb3-bd35-468dbfd7b48c","html_url":"https://github.com/maoxiaoquan/kite","commit_stats":{"total_commits":365,"total_committers":2,"mean_commits":182.5,"dds":0.002739726027397249,"last_synced_commit":"856c9574b15b889b18e474847a95d0418a01aeaf"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maoxiaoquan%2Fkite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maoxiaoquan%2Fkite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maoxiaoquan%2Fkite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maoxiaoquan%2Fkite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maoxiaoquan","download_url":"https://codeload.github.com/maoxiaoquan/kite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248961085,"owners_count":21189990,"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":["apollo-server-express","blog","es6","express","graphql","mark","markdown","nodejs","react","react-hooks","react-router-v6","react16","redux","ssr","vue","vuessr","webpack3"],"created_at":"2024-08-02T13:00:42.759Z","updated_at":"2025-04-14T20:54:18.445Z","avatar_url":"https://github.com/maoxiaoquan.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003ch1 align=\"center\" style=\"margin: 30px 0 35px;\"\u003eKite\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/maoxiaoquan/kite/stargazers\"\u003e\n\u003cimg src=\"https://camo.githubusercontent.com/29a8c9e6591608d822b0d6ae203b5791193b031b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d616f7869616f7175616e2f6b6974652e7376673f7374796c653d706f706f75742d737175617265\" alt=\"GitHub stars\" data-canonical-src=\"https://img.shields.io/github/stars/maoxiaoquan/kite.svg?style=popout-square\" style=\"max-width:100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/maoxiaoquan/kite/issues\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/632a8a79287daf30bbe1080eaabd21e4e148f36b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6d616f7869616f7175616e2f6b6974652e7376673f7374796c653d706f706f75742d737175617265\" alt=\"GitHub issues\" data-canonical-src=\"https://img.shields.io/github/issues/maoxiaoquan/kite.svg?style=popout-square\" style=\"max-width:100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/maoxiaoquan/kite/network\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/be451bca89325c1fbf2a5efd1271ebbff022de56/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6d616f7869616f7175616e2f6b6974652e7376673f7374796c653d706f706f75742d737175617265\" alt=\"GitHub forks\" data-canonical-src=\"https://img.shields.io/github/forks/maoxiaoquan/kite.svg?style=popout-square\" style=\"max-width:100%;\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## ✨ kite \n\n\n### 简介：这个项目用了 react、vue、node 、webpack、graphql、express 基本涉及到了前端大部分技术了，都是从零开始搭建包括 ssr 脚手架，你可以通过学习该项目，接触前端整个的生态圈。\n\n### 项目划分为三个项目\n\n| 项目名字      | 项目地址                                     | 主要技术                                | 介绍                                       |\n| ------------- | -------------------------------------------- | --------------------------------------- | ------------------------------------------ |\n| kite          | https://github.com/maoxiaoquan/kite          | express、graphql、socket.io、typescript | 只是生产环境使用，不需要二次开发，只需要该项目即可，项目主包 |\n| kite-client   | https://github.com/maoxiaoquan/kite-client   | vue、vuex、vue-ssr                      | 前台页面项目（二次开发前台需要下载项目）       |\n| kite-admin | https://github.com/maoxiaoquan/kite-admin | react、redux、                          | 后台页面项目（二次开发后台需要下载项目）       |\n\n\n\n后台演示网站账户：kitetest 密码：q123456 （资源有点大，可能要加载一段时间）\n\n## 😊 前台界面\n\n\u003cimg alt=\"client\" src=\"https://github.com/maoxiaoquan/kite/blob/master/docs/img/xiaosuibi.png\"\u003e\n\n## 💼 最新版本更新记录\n\n```\n更新时间：2020.5.15 11.08\n版本号：0.9.1\n此次更新需要运行升级 npm run kite-update\n\n1.admin 后台使用react hook + react-router v6 + typescript 重构完成 (文件体积减少一半)\n2.client 页面所有图片替换展现方式\n3.ui界面微调\n4.增加一些等级展示得地方\n5.修复一些bug\n```\n\n[版本更新历史记录](https://github.com/maoxiaoquan/kite/blob/master/docs/VERSION.md 'version')\n\n## ⌨️ 程序升级\n\n```\n\n初次使用请忽略以下，直接下载最新版本使用即可，以下是旧版本升级的程序\nofficial 始终与最新版本同步\n升级需要备份 mysql、 /db/lowdb/db.js、/static/update 文件夹\n备份后运行 npm run kite-update 升级程序会自动判断\n\n```\n\n## 📦 Start\n\n```bash\n\n初始直接 git clone https://github.com/maoxiaoquan/kite.git\n或者 official 分支 都是最新代码\n# npm install || cnpm install  安装所有的包，可能有些多，前台和后台是在一起的\n\n# 目前用的数据库只有mysql 本地开发的话，下一个phpstudy即可\n初始化：npm run init 然后打开浏览器收入 localhost:8085 按照步骤操作即可\n然后可以选择pro 或者 dev 开始\n本地开发模式 npm run start 打开 localhost:8086即可预览页面\n\npro 生产环境\n\npro1.1 在cmd 中输入 npm run server 即可进入程序\npro1.2 (url或者ip)+ :8086端口即可看到客户端主页\npro1.3 (url或者ip)+ :8086/admin端口即可看到客户端后台页面\n\ndev 本地开发环境\n\n1.需要同时克隆 kite、kite-client、kite-admin三个项目，保持在同一层级目录\n2.运行kite 项目 npm run start 即可开发接口服务\n3.运行kite-client或者kite-admin项目中 npm run start 即可开发前台或者后台页面\n\n本地开发预览，前端方面还有点问题，需要优化，必须等编译完成才能打开，否则会报错\n目前cli部分代码写的比较乱，等后期有时间再继续优化，哈哈\ncli 的邮箱一定要填写完成，否则前台无法发送注册的邮件\n项目断断续续的写着，主体基本写完，目前就是优化和改bug，代码的逻辑啥的，能看则看，不能看就略过吧，也是自己学习的一个过程，\n\n```\n\n## ☂️ 开发规范（以主文件夹开始）\n\n```\n\nvue以及react 开始时涉及的页面级文件夹、无状态组件文件夹、有状态组件文件夹、无状态组件、有状态组件、组件内部的类名、\n文件夹内组件（只要是涉及 react 和 vue 的可用组件或者页面级组件） ----- 帕斯卡命名法 或者是 小驼峰 主要是为了提高辨识度\n\n所有页面内变量名、组件内类的方法、文件内类的方法、函数、不属于上面的文件\n其他文件夹 例如 src、admin、client、utils 都以小驼峰命名\n不太清楚的就都以小驼峰来命名\n\n涉及到以及数据库操作的都以下划线分隔 _\nindex.js、index.vue、index.jsx、index.css、index.scss以 index.* 的文件都是小写单词\nvuex action 都以大写开始下划线分隔例如：ARTICLE_COMMENT\nadmin 文件夹和 server 文件夹 变量多为下划线居多，主要是与mysql直接交互的多，mysql存储字段大部分都为下划线\n以后的维护以及改版、开发规范都是如此，\n\n```\n\n## 😊 后台界面\n\n\u003cimg alt=\"admin\" src=\"https://github.com/maoxiaoquan/kite/blob/master/docs/img/xiaosuibi_admin.png\"\u003e\n\n## 🔨 初始化\n\n\u003cimg alt=\"admin\" src=\"https://github.com/maoxiaoquan/kite/blob/official/docs/img/init.png\"\u003e\n\n## 👓 说明\n\n```\n使用的技术栈：\n\n前台方面：vue 服务端渲染 + vuex + vue-router + vue-server-renderer\n后台方面：react + redux + react-redux + react-router\nserver: express + mysql + graphql\n公共部分：webpack\n\n其他详细的直接看 package.json 就可以了\n前台界面目前是用的 vue 的 ssr，但是没有采用 nuxt.js 代码的阅读应该还是可以的，cli 比较乱，后台界面采用的是 react\n前台是一个多人文章发布系统，用户可以注册账号，发布文章，关注用户，喜欢文章，评论等等\n后台管理文章的发布、审核，评论的审核，管理员权限管理，系统配置等等，前后台用户管理员独立\n初始化界面是对整个文章发布系统的一个初始化，包括初始管理员角色，mysql 等等\n```\n\n## LICENSE\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaoxiaoquan%2Fkite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaoxiaoquan%2Fkite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaoxiaoquan%2Fkite/lists"}