莫提博客 - 简约优雅的个人博客系统
首先声明,这个项目结合了我目前所掌握的大多数技术,其中包括缓存、消息队列、搜索引擎等,所以不太适合刚刚接触JavaWeb的小伙伴。如果你对这些技术有所了解有想找找实际应用的项目,那么这个项目可能会比较适合你!
前言
好久不见,甚是想念!大家好,我是莫提。距离我上一个视频发布已经过去快40多天了!这一段时间莫提一直在忙着找实习工作那些事,现在坐标四川成都,已经成功找到一个Java实习工作。现在已经实习了三个星期了,基本上适应了新环境和工作内容。所以能调整出一些时间做自己喜欢的事了!
本期视频就给大家好好介绍一下我两个月前写的一个博客项目,在我的简历的项目经验模块我把它放在了首位。
面试的时候很多面试官也对这个项目进行展开,问了好多问题!因为这个项目是真枪实战自己写的,所以面试官问的关于这个项目的问题,在我这里也就不是问题!
附上项目地址,喜欢的话一定要给个Star哦~
https://github.com/373675032/moti-blog
主要功能
文章方面
首先既然是个人博客系统,肯定要对写文章有一个非常友好的支持!不然感觉只好看不实用也是扯淡。不得不说现在使用MarkDown写文章的人是越来越来多!
在写文章方面,我开发的个人博客同样支持MarkDown的语法,使用的是目前一个比较好用的编辑器叫EditMd。
在这个系统里面写的文章,把原文复制一下,就可以在任何支持MarkDown的文章轻松的发表,不需要改任何格式,也不需要重新上传图片。为什么嘞?因为我直接使用了码云当做我这个项目的图床(对外提供图片链接,通过链接就可以访问到这张图片)。这样如果之后再开发一个备份的功能就非常方便了!
为了更加友好的写博客,我自己还新增了从剪切板复制图片到输入框实现图片的粘贴上传。哈哈,我觉这个功能是很多个人开发的博客系统不具备的。
之后我还开发了一些作为博客系统必须具备的功能,比如编辑、存草稿、回收站、文集(文章分类)、标签、文章归档等等。这些功能其实和一般的博客系统都差不多,没啥好说的。
关于文章评论,读者看到后填写基本的信息之后就可以发表评论了。
后台可以对评论进行管理,比如查看、删除、回复这些,回复的时候可以选择是否向用户填写的邮箱发送回复邮件,及时通知留言者。
评论管理
查看与回复
发送邮件内容
在前台主页有一个站内搜索,访客可以在这里根据关键词搜索文章!之后的搜索结果也会高亮显示!这里用到了ElasticSearch搜索引擎,配置了好用的IK分词器之后搜索的结果会更加的准确!
用户方面
首先是登录,设计了两种登录方式,一个是用户名和密码,一个是QQ登录。诶?有的人可能很奇怪了,这怎么能用QQ登录呢?其实这个应该叫做绑定QQ,如果之前数据库里面没有QQ用户的信息,那么第一次登录的时候就将这个QQ的信息写到数据库实现绑定的功能,这应该叫先入为主。
之后用户可以修改个人资料,直接上图吧~
上传完微信二维码和公众号二维码,之后可以在前台主页进行显示。
定时统计
项目中引入了Redis,我们就可以方便进行统计了,比如文章的阅读量,我只是简单的设计了刷新一次页面就算一次阅读。在没有引入Redis之前我是每次刷新,就更新数据库!非常不推荐!现在我们就把今天的阅读量放到Redis中,然后写一个定时任务,把Redis中的数据写到数据库,这绝对算是一种优化吧~
定时任务
同样的原理,我们需要统计访客信息,统计访客的阅读记录与阅读次数(其实就是后台的访问与访客)。我们需要记录访客的IP地址和访问的文章以及阅读次数等等。其实这里我想把访客统计做的更加细致,能根据IP获取到地址的那种,但是找了几个免费的API,淘宝就有一个,能用是能用,但是访问的次数多了就获取不到数据了,哎,后来我就把这个功能删掉了,做成了现在比较简单的版本。
站点装扮 这里就比较简单了,直接上图~
主页部件 这个前台主页我是想做的既美观又实用,额,只能做成这样了,来个效果。
侧边开发了公告、本地天气、站内搜索、热门文章、标签云、文集、文章归档、友情链接、访客统计等。 阅读文章页面时长这样的
技术栈
主要功能上面已经说得差不多了,现在来讲讲这个项目用到了哪些技术。 前端 名称 技术点 基础 Html、Css、JavaScript、Jquery UI框架 BootStrap 文本编辑器 EditMd 前台模板 Olympus 后台模板 Pike Admin 前台模板和后台模板我都已经上传到了我的QQ交流群。喜欢的可以去下载一波~
后端 名称 技术点 开发 SpringBoot、MyBatis 数据库 MySQL 5.7 + Druid 缓存 Redis + EhCache 消息队列 RabbitMq 搜索引擎 ElasticSearch 其他 邮件任务、定时任务、QQ登录、Lombok、Jrebel、码云API