{"id":17048866,"url":"https://github.com/saucxs/nodejsblog","last_synced_at":"2025-04-12T15:31:13.134Z","repository":{"id":44993985,"uuid":"115524885","full_name":"saucxs/nodeJSBlog","owner":"saucxs","description":"sau交流学习社区系统，是一个拥有博客功能和社区分享评论功能的一个学习分享平台，后端完全使用nodeJS，数据库使用mysql，基于nodejs的thinkjs框架搭建的 ，前台系统：https://www.mwcxs.top      后台系统：https://www.mwcxs.top/admin","archived":false,"fork":false,"pushed_at":"2022-01-15T01:08:41.000Z","size":12516,"stargazers_count":56,"open_issues_count":4,"forks_count":15,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-26T10:04:25.261Z","etag":null,"topics":["blog","mysql","nodejs","thinkjs","thinkjs2"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/saucxs.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}},"created_at":"2017-12-27T13:41:22.000Z","updated_at":"2025-01-19T13:12:26.000Z","dependencies_parsed_at":"2022-08-23T14:10:52.661Z","dependency_job_id":null,"html_url":"https://github.com/saucxs/nodeJSBlog","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saucxs%2FnodeJSBlog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saucxs%2FnodeJSBlog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saucxs%2FnodeJSBlog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saucxs%2FnodeJSBlog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saucxs","download_url":"https://codeload.github.com/saucxs/nodeJSBlog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248589415,"owners_count":21129609,"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","mysql","nodejs","thinkjs","thinkjs2"],"created_at":"2024-10-14T09:53:13.842Z","updated_at":"2025-04-12T15:31:08.831Z","avatar_url":"https://github.com/saucxs.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [nodeJSBlog](https://github.com/saucxs/nodeJSBlog)\n[![](https://img.shields.io/badge/Powered%20by-saucxs%20-brightgreen.svg)](https://github.com/saucxs/nodeJSBlog)\n[![GitHub license](https://img.shields.io/github/license/saucxs/nodeJSBlog.svg)](https://github.com/saucxs/nodeJSBlog/blob/master/LICENSE)\n[![GitHub stars](https://img.shields.io/github/stars/saucxs/nodeJSBlog.svg?style=popout)](https://github.com/saucxs/nodeJSBlog/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/saucxs/nodeJSBlog.svg?style=popout)](https://github.com/saucxs/nodeJSBlog/network)\n[![GitHub issues](https://img.shields.io/github/issues/saucxs/nodeJSBlog.svg?style=popout)](https://github.com/saucxs/nodeJSBlog/issues)\n\nsau交流学习社区，一个技术分享和技术谈论的社区，技术栈：thinkjs2+jq+nunjucks+mysql+redis+nginx，个人全栈开发。拥有文章管理，微型bbs社区，防止csrf攻击，权限管理，定时任务，页面后台配置，github第三方登陆，使用thinkjs后端开发，redis缓存频繁查库的信息，nginx处理静态文件，设计网站安全，优化网站渲染速度。如果喜欢`nodeJS`写的后端，支持大前端，支持全栈开发，请请`star`并`fork`项目。系统地址为：[前台系统网站](https://www.mwcxs.top)。[后台系统网站](https://www.mwcxs.top/admin)如有使用问题请留言。\n\n### 技术栈\n\u003e + ThinkJS（ Node端框架） [官方网站](https://thinkjs.org/)\n\u003e + jQuery.js（都懂得……）  [中文文档](http://jquery.cuishifeng.cn/)\n\u003e + nunjucks（前端模板）  [github](https://github.com/mozilla/nunjucks)\n\n### 目录结构\n\n+ app    —— node端编译后文件夹，一般情况不需要关注\n+ src    —— node端服务文件夹，以业务模块划分子文件夹\n    - admin  -- 管理后台\n    - common  -- 通用模块，放置主配置参数、boostrap adapter middleware service 等相关组件\n        - adapter  -- adapter配置   \n        - bootstrap -- bootstrap框架\n        - config -- 框架需要的配置以及项目自定义的配置（多模块）  \n        - controller -- 控制器层\n        - service -- 服务层\n    - home -- 前端默认模块\n    - personal --  后端管理模块\n    - topic -- 话题模块     \n+ view   —— 静态页面文件夹，以业务模块划分子文件夹与src对应\n+ www\n    - static —— 静态资源文件\n        - admin —— 管理后台\n        - theme  —— 主题文件\n        - upload —— 上传文件\n    - development.js  -- 开发环境\n    - production.js   -- 生产环境    \n+ nodejsBlog_bake.sql  -- 数据库，只有一点数据\n### 一、功能特点\nv1.0\n1. 文章评论；\n2. 代码高亮；\n3. 文章内容分页；\n4. 小型bbs社区讨论社区；\n5. markdown文章 (上传markdown标准格式，自动解析为html文章)\n6. csrf攻击 (所有请求都有csrf验证)\n7. 后台管理；\n8. 权限管理\n9. 系统主题设置\n10. 头部和底部链接配置\n11. 头部滚动通告的配置\n12. 注册邮件通知，登陆成功邮件通知\n13. 找回密码通过注册邮箱里发密码找回链接\n14. 首页接入可配置的图片轮播页\n15. 百度统计代码实时配置，以及百度推送url接口的接入\n16. github第三方快速登陆\n\nv2.0\n\n17. 节假日背景颜色的可配置模块开发\n18. 注册用户邮件验证\n19. 新增定时任务，推送每日最新的10篇文章\n20. 社区模块没有模块和标题也能发布的问题\n21. 数据库文件在根目录\n\n\n### 二、版本功能\nv2.0\n+ 2019.01.07\n    - 节假日背景颜色的可配置模块开发\n    - 新增注册邮箱的验证；\n    - 增定时任务：每天发定时邮件；\n    - 社区模块没有模块和标题也能发布的问题；\n\nv1.3\n+ 2018.11.13\n    - 忘记密码模块接入\n    - 邮件模块接入\n    - 增成功登陆邮件提醒；\n    - 首页接入可配置的图片轮播\n\nv1.2\n+ 2018.11.11    \n    - github第三方登录\n    - 百.统计的实时配置\n    - 百度推送url的接入到发布文章中\n\nv1.1\n+ 2018.11.09\n    - 系统主题设置\n    - 头部和底部链接配置\n    - 头部滚动通告的配置\n    \nv1.0\n+ 2017.03.14\n    - 基本功能的完成\n    - 移动端少数页面的兼容性\n \n\n### 三、系统截图\n#### 3.1 无线端\n![image](./screen-pic.jpg)\n#### 3.2 PC端\n![image](./screen-pic-2.png)\n\n### 四、运行程序请选择运行模式\n可能目前fork，安装完依赖后还是不能正常显示，而是报500，那是因为数据库配置没有更改\n```javascript\n//压缩html,css,js 并生成相应目录\nnpm run compress\n\n//运行开发模式，html,css,js均加载未压缩版本\nnpm run dev  \n\n//开发模式的浏览器，浏览器访问\nhttp://127.0.0.1:8361/\n\n//运行生产模式，html,css,js均加载压缩版本\nnpm run app  \n\n//首次运行/更新运行前请先编译项目\nnpm run compile\n\n//线上推荐用pm2来运行(先配置好pm2.json)\npm2 start pm2.json\n\n//注：线上部署，如果你使用的是win服务器，可以给我留言\n```\n### 五、兼容性\n1. Chrome\n2. Firefox\n3. QQ浏览器\n4. 无线端（移动端）\n等\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaucxs%2Fnodejsblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaucxs%2Fnodejsblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaucxs%2Fnodejsblog/lists"}