{"id":20598046,"url":"https://github.com/k-water/egg-blog","last_synced_at":"2025-08-02T13:39:13.235Z","repository":{"id":222783388,"uuid":"124753797","full_name":"k-water/egg-blog","owner":"k-water","description":"blog api base on eggjs.","archived":false,"fork":false,"pushed_at":"2018-09-15T05:23:09.000Z","size":110,"stargazers_count":94,"open_issues_count":1,"forks_count":28,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-15T00:16:42.878Z","etag":null,"topics":["api-server","egg-sequelize-plugin","eggjs","mysql2","nodejs","servers"],"latest_commit_sha":null,"homepage":null,"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/k-water.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}},"created_at":"2018-03-11T12:23:37.000Z","updated_at":"2024-01-12T07:25:53.000Z","dependencies_parsed_at":"2024-02-16T07:56:21.765Z","dependency_job_id":"ae43b3ab-c549-42d7-9492-b00cc08981f7","html_url":"https://github.com/k-water/egg-blog","commit_stats":null,"previous_names":["k-water/egg-blog"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k-water%2Fegg-blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k-water%2Fegg-blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k-water%2Fegg-blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k-water%2Fegg-blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/k-water","download_url":"https://codeload.github.com/k-water/egg-blog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248981268,"owners_count":21193147,"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":["api-server","egg-sequelize-plugin","eggjs","mysql2","nodejs","servers"],"created_at":"2024-11-16T08:24:53.447Z","updated_at":"2025-04-15T00:16:53.614Z","avatar_url":"https://github.com/k-water.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## egg重写博客接口\n之前用React全家桶和Java的SpringBoot重构了自己的个人博客，虽然做出来了，但是还是初成版，自我感觉还是存在很多问题。由于对Java不是完全熟悉，所以写出来的接口可能有些瑕疵，所以最近学习了eggjs，使用了egg重写了后台接口。\n\n### 项目\n**项目地址**：[https://github.com/k-water/egg-blog](https://github.com/k-water/egg-blog)(喜欢的请点个star^_^)\n\n**运行**\n\n``` bash\n#1\ngit clone https://github.com/k-water/egg-blog.git\n\n#2 \ncd egg-blog\nnpm install\n\n#3\n修改config.default.js中sequelize的配置\nmysql的账号密码改为自己的\n\n#4\nnpm run dev\n\n#5 单元测试\nnpm test\n\n#6 本地测试\nnpm run test-local\n```\n### 流程\n\n#### 参考文档\n[Egg官方文档](eggjs.org/zh-cn/intro/)\n\n[Sequelize(英文)](http://docs.sequelizejs.com/manual/installation/getting-started.html)\n\n[Sequelize(中文)](https://github.com/demopark/sequelize-docs-Zh-CN)\n\n#### 技术选型\n\n后台框架：Egg\n数据库：Mysql\n插件：egg-sequelize\n#### 接口测试\n\n工具：PostMan\n\n#### 数据库设计\n\n数据库设计跟之前的也略有不同，差别的是各实体之间的联系。\n实体有\n\u003e \n* blogs\n* comments\n* users\n* catalogs\n* authorities(用户角色)\n\n**ER图如下**\n\n![](https://oc1gyfe6q.qnssl.com/18-3-15/51890030.jpg)\n\n**实体之间联系**\n\n![](https://oc1gyfe6q.qnssl.com/18-3-15/91803747.jpg)\n\n#### 开发的接口\n\n![](https://oc1gyfe6q.qnssl.com/18-3-15/50736292.jpg)\n\n#### 个人总结\n\n基于学习的态度，重写了博客的后台接口，总的来说，egg使用起来还是挺方便的，官方文档写的也很好，基本遇到问题都能在官方issue找到类似的回答，写起来有点像Java的感觉。\n这次让我学习到的是，基础要扎实，像数据库的设计这方面，如果学不好，那一开始也无法下手，写出来的接口肯定也是不够好，因为要考虑返回数据格式的问题，什么接口返回什么格式等等。所以基础还是很重要的，之前学的时候一直认为没什么用，反正我又用不到，但是在实践中才发现，这些技能都是需要具备的，干起活来才能事半功倍。另外一点就是要仔细阅读文档，不要急于下手写代码，对一个框架有了初步的掌握，才去下手，那样遇到问题也能快速定位到错误的位置。\n以上，就是个人的小小体会啦~\n\n### 接口文档\n\n[API接口文档](http://sunshinelzb.coding.me/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fk-water%2Fegg-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fk-water%2Fegg-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fk-water%2Fegg-blog/lists"}