{"id":19311023,"url":"https://github.com/hancoson/node-blog-app","last_synced_at":"2025-04-22T14:30:25.264Z","repository":{"id":85000984,"uuid":"106803065","full_name":"Hancoson/node-blog-app","owner":"Hancoson","description":":globe_with_meridians: A node+espress+mongoose+react+nextjs blog","archived":false,"fork":false,"pushed_at":"2019-01-15T11:59:50.000Z","size":795,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T00:34:44.585Z","etag":null,"topics":["blog","express","fetch","mongoose","nextjs","node","react"],"latest_commit_sha":null,"homepage":"http://www.vsoui.com/2018/05/18/ejs-to-nextjs/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hancoson.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-10-13T09:12:04.000Z","updated_at":"2021-08-29T17:31:08.000Z","dependencies_parsed_at":"2023-03-05T06:00:21.660Z","dependency_job_id":null,"html_url":"https://github.com/Hancoson/node-blog-app","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hancoson%2Fnode-blog-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hancoson%2Fnode-blog-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hancoson%2Fnode-blog-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hancoson%2Fnode-blog-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hancoson","download_url":"https://codeload.github.com/Hancoson/node-blog-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250258736,"owners_count":21400960,"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":["blog","express","fetch","mongoose","nextjs","node","react"],"created_at":"2024-11-10T00:27:21.673Z","updated_at":"2025-04-22T14:30:25.258Z","avatar_url":"https://github.com/Hancoson.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# node-app\n[![GitHub license](https://img.shields.io/github/license/Hancoson/node-blog-app.svg)](https://github.com/Hancoson/node-app/blob/master/LICENSE)\n[![Codecov branch](https://img.shields.io/codecov/c/github/codecov/example-python/master.svg)](https://github.com/Hancoson/node-blog-app)\n[![MyGet tenant](https://img.shields.io/dotnet.myget/dotnet-coreclr/dt/Microsoft.DotNet.CoreCLR.svg)](https://github.com/Hancoson/node-blog-app)\n\nThis is a demo application that integrates node.js, express, mongoose React and Nextjs to develop a simple blog application.\n\n## 介绍\n\n该项目通过使用 Nextjs 技术，实现了 React 同构方案。采用 Nodejs 搭建服务，结合 Mongoose 数据库，实现了一个简单的博客系统。\n也可以参考项目 [v1.0 版本通过 Ejs 模版](https://github.com/Hancoson/node-blog-app/tree/ejs-tpl)的实现，[相关文章\u003e\u003e](http://www.vsoui.com/2017/10/19/node-blog-demo/)。\n\n### 技术实现\n\n- [x] Node \u003e 8.x\n- [x] Express\n- [x] mongoose\n- [x] react \u003e 16.x\n- [x] Nextjs\n- [x] sass\n- [x] isomorphic-unfetch\n\n### 目录结构\n\n```sh\n├─server # 服务\n│  ├─controllers # 控制器\n│  ├─dto  #\n│  ├─models # 模型\n│  ├─routes  # 路由\n│  └─service\n├─pages # 页面\n│  ├─…… #\n│  └─index.js # 主页面\n├─compontents # 组件\n│  └─#……\n├─config # 配置文件\n│  └─#……\n├─assets # 静态资源\n│  └─#……\n├─build # 发布目录\n│  └─ #……\n├─next.config.js # next配置文件\n├─package.json\n├─postcss.config.js # postcss配置\n├─server.js # 服务入口文件\n└─.babelrc\n```\n\n## 如何使用\n\n主要针对我当前的项目\u003e\u003e [node-blog-app](https://github.com/Hancoson/node-blog-app) 来说说使用方法：\n\n### Install\n\n```sh\ngit clone https://github.com/Hancoson/node-blog-app.git\n# and\nyarn\n```\n\n### Install mongodb\n\n```sh\nbrew install mongodb\n```\n\n### Start Mongo\n\n```sh\nmongod\n# or\nbrew services start mongodb\n```\n\n最后执行：\n\n```sh\nmongo\n```\n\n### Create a datebase\n\n```sh\nuse {nodeApp}\n```\n\n### Start App\n\n```sh\nnpm run dev #(start dev)\n\nnpm run build #(构建)\n\nnpm start #(启动项目)\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhancoson%2Fnode-blog-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhancoson%2Fnode-blog-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhancoson%2Fnode-blog-app/lists"}