# QBlog **Repository Path**: wzboy/QBlog ## Basic Information - **Project Name**: QBlog - **Description**: 一款基于SpringBoot+Vue的个人博客系统 - **Primary Language**: Java - **License**: Unlicense - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-07-07 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 浅语小栈 > QBlog,一款前端采用 Vue、后端采用 SpringBoot 开发的前后端分离的博客系统。 ### 主要功能 - 文章展示、热门文章、文章分类、标签云 - 用户登录评论、匿名评论 - 用户留言、匿名留言 - 评论管理、文章发布、文章管理 - 文章数据统计 ### 模块简介: 1. 登录模块:采用 QQ 登录、码云登录两种登录方式,使用在客户端存储 token 的方式校验登录状态 2. 博客模块:前端使用 MavonEditor,支持 markdown 语法;同时管理员用户具有写博客、修改博客、删除博客、博客数据统计的功能; 3. 评论模块:对每篇文章开放评论,用户既可以匿名评论,也可以登录之后评论。在一级评论的基础上支持二级评论。 4. 留言模块:用户可以对博客进行留言,支持用户登录之后留言,和匿名留言。 5. 图片上传:通过 SpringBoot 实现图片简单的图片上传,图片存储在服务器的指定文件夹中,用户通过 URL 可以访问。 6. 热门文章:根据每篇文章的评论数和浏览数计算出每篇文章的权重,根据权重排序,通过 SpringBoot 的定时任务实现每天凌晨定时更新,数据缓存在 Redis 中。 7. 文章搜索模块,根据关键词搜索文章,前端输入关键词,后端使用 HanLP 模块进行分词,根据分词在数据库中查找对应的文章 8. 附加功能:对博客使用体验的优化,如博客数据恢复与备份、博客信息修改、博客配置信息初始化等功能。 ### 技术描述: #### 后端 - 项目使用 [SpringBoot](https://docshome.gitbooks.io/springboot/content/) 开发后端,采用前后端分离的开发模式 - 数据库访问层使用 MyBatis - 使用 MySQL 存储博客、文章、评论等数据 - 使用 Redis 缓存热门文章信息 ##### 工具 - [Undertow](http://undertow.io/):作为 SpringBoot 内嵌服务器 - [Lombok](https://projectlombok.org/):简化代码 - [Hutool](https://www.hutool.cn/):各种工具类的封装 - [Fastjson](https://github.com/alibaba/fastjson):解析 json - [Druid](https://github.com/alibaba/druid):数据源 - [Redis](https://redis.io/):用于缓存每天更新一次的热门文章 - [HanLP](http://hanlp.com/):用于对搜索结果进行分词 - [Guava](https://github.com/google/guava):工具类 - [BeanValidation](http://beanvalidation.org):参数校验 - [Swagger](https://swagger.io/):文档生成+功能测试 - [knife4j](https://doc.xiaominfo.com/):SwaggerUI 增强 - [JustAuth](https://github.com/justauth/JustAuth):史上最全的整合第三方登录的开源库。 - [码云登录](https://gitee.com/api/v5/oauth_doc#/):使用码云第三方登录 - [QQ 互联](https://wiki.connect.qq.com/):QQapi 接入 #### 前端 - [Vue](https://cn.vuejs.org/v2/guide/):前端框架 - [Vue Router](https://router.vuejs.org/zh/installation.html):路由 - [Vuex](https://vuex.vuejs.org/zh/):状态管理 - [BootstrapVue](https://bootstrap-vue.js.org/docs/):博客 UI - [editor.md](http://editor.md.ipandao.com/):Markdown 编辑器 (以弃用) - [Axios](http://www.axios-js.com/):向后台发送请求 - [mavonEditor](https://github.com/hinesboy/mavonEditor):一款基于 Vue 的 markDown 编辑器 - [vue-echarts](https://github.com/ecomfe/vue-echarts/blob/master/README.zh_CN.md):echarts 整合 Vue - [vue-showdown](https://github.com/meteorlxy/vue-showdown):前端 markdown 转 html - [showdown-highlight](https://github.com/Bloggify/showdown-highlight):代码高亮插件,配合 vue-showdown 使用 - [live2d-widget](https://github.com/stevenjoezhang/live2d-widget):Live2D 插件 #### 工具 - 使用 Git 作为版本控制工具,代码托管在码云上 - 前端项目部署在 Ngnix 服务器上 > 项目地址:用户:http://www.codingli.xyz/ 、管理员: http://www.codingli.xyz/admin ### 下面功能正在开发中 1. 文章自动保存功能 2. 评论点赞功能支持