基于SpringBoot + Vue的个人博客
博客介绍
基于Springboot + Vue 开发的前后端分离博客
在线地址
项目链接: www.ttkwsd.top
后台链接: admin.ttkwsd.top
Github地址: https://github.com/ICAN1999/blog
Gitee地址: https://gitee.com/wu_shengdong/blog
如果您觉得我写得不错的话,就给我个star吧,您的star就是对我的最大的鼓励。
目录结构
前端项目位于blog-vue下,blog为前台,system为后台。
后端项目位于blog-springboot下。
SQL文件位于根目录下的blog.sql。
ElasticSearch的mapper映射位于根目录下的mapper.json。
可直接导入该项目于本地,修改后端配置文件中的数据库等连接信息,项目中使用到的关于阿里云、腾讯云功能和第三方授权登录等需要自行开通。
当你克隆项目到本地后使用邮箱注册后修改为admin角色。
blog-springboot
├── annotation -- 自定义注解
├── aspect -- aop模块
├── config -- 配置模块
├── constant -- 常量模块
├── controller -- 控制器模块
├── entity -- 实体类模块
├── enums -- 枚举模块
├── exception -- 自定义异常模块
├── filter -- 过滤器模块(Jwt过滤)
├── handler -- 处理器模块(Security处理、异常处理等)
├── interceptor -- 拦截器模块(Redis拦截器等)
├── listener -- 监听器模块(监听RabbitMQ、Redis)
├── manager -- 异步任务管理器模块
├── mapper -- Mapper文件模块
├── model -- dto、vo模块
├── quartz -- 定时任务模块
├── service -- 服务模块
├── strategy -- 策略模块(用于扩展第三方登录、搜索模式、上传文件模式、点赞模式等策略)
└── utils -- 工具类模块
项目特点
- 前台参考"Hexo"的"Shoka"设计,响应式体验好。
- 后台参考"element-admin"设计,侧边栏,历史标签,面包屑自动生成。
- 采用Markdown编辑器,写法简单。
- 点赞,取消点赞功能。
- 评论支持表情输入回复等,样式参考B站评论区。
- 邮件模板评论回复提醒,页面美观。
- 添加音乐播放器,在线听音乐。
- 前后端分离部署,适应当前潮流。
- 接入第三方登录,减少注册成本。
- 支持发布说说,随时分享趣事。
- 含有友链功能,结交更多朋友。
- 留言采用弹幕墙,更加炫酷。
- 支持代码高亮和复制,图片预览,深色模式等功能,提升用户体验。
- 搜索文章支持高亮分词,拼音搜索,响应速度快。
- 新增文章目录、最新评论、最新文章等功能,优化用户体验。
- 新增aop注解实现日志管理。
- 后台管理支持B站图床,博客配置,Excel导出等信息,操作简单。
- 代码支持多种搜索模式(Elasticsearch或MYSQL),支持多种上传模式(OSS、COS、本地),可支持配置。
- 代码遵循阿里巴巴开发规范,利于开发者学习。
技术介绍
前端: vue + vuex + vue-router + axios + vuetify + element-ui + echarts
后端: SpringBoot + Quartz + Thymeleaf + Nginx + Docker + SpringSecurity + Swagger2 + MyBatisPlus + Mysql + Redis + ElasticSearch + RabbitMQ
其他: 接入QQ、微博、Gitee、Github第三方登录
运行环境
服务器: 腾讯云2核4G CentOS7.6
CDN: 阿里云全站加速
对象存储: 阿里云OSS、腾讯云COS
最低配置: 1核2G服务器(关闭ElasticSearch)
开发环境
开发工具 | 说明 |
---|---|
IDEA | Java开发工具IDE |
VSCode | Vue开发工具IDE |
Navicat | MySQL远程连接工具 |
RedisDesktopManager | Redis远程连接工具 |
Xshell | Linux远程连接工具 |
Xftp | Linux文件上传工具 |
开发环境 | 版本 |
---|---|
JDK | 1.8 |
MySQL | 8.0.27 |
Redis | 6.2.6 |
Elasticsearch | 7.12.1 |
RabbitMQ | 3.9.11 |
项目截图
注意事项
- 项目拉下来运行后,可到后台管理页面网站配置处修改博客相关信息.
- 邮箱配置,第三方授权配置需要自己申请。
- ElasticSearch需要安装ik分词器和拼音分词器,用mapper.json来创建索引。
项目总结
自己花了大概三个多月的时间写完这个项目,经历各种Bug以及项目部署,总得来说太不容易了。在这里十分感谢以下项目:
X1192176811 (风丶宇)
hexo-theme-shoka
RuoYi-Vue:
基于SpringBoot + Vue的个人博客相关推荐
- 基于springboot + vue 的个人博客搭建过程(上线)
承接上文: 基于springboot + vue 的个人博客搭建过程(续) 目录 1. 搭建环境 1. 安装docker 2. 拉取并运行 2.1 拉取服务 2.2 部署运行mysql 2.3 部署运 ...
- 基于springboot + vue 的个人博客搭建过程(续)
承接上文:基于springboot + vue 的个人博客搭建过程 目录 1. 评论列表 1.1 接口说明 1.2 controller 1.3 service 1.4 mapper 1.5 实体类 ...
- 推荐一个基于Springboot+Vue的开源博客系统
简介 这是一个基于Springboot2.x,vue2.x的前后端分离的开源博客系统,提供 前端界面+管理界面+后台服务 的整套系统源码.响应式设计,手机.平板.PC,都有良好的视觉效果! 你可以拿它 ...
- 基于SpringBoot + Vue的个人博客系统12——使用vue-admin-template展示文章列表(后台管理)
简介 前面我们实现了博客系统的前台展示页面,还有留言功能没有实现,实现留言功能无非就是在后端增加留言表,对留言进行增删改查.和文章表类似,这里就不在赘述. 既然作为一款动态博客,那么后台管理是必不可少 ...
- java基于springboot+vue的旅游博客旅游经验分享系统
如今社会飞快发展,人们生活节奏不断加快,压力也随之变大.为了释放压力,缓解疲劳,大多数人会选择旅游.但是现在基本上很少有免费网站注重介绍张家界的,大部分都是以"商"为主提供导游.酒 ...
- 基于SpringBoot + Vue的个人博客系统16——文章的修改和删除
简介 删除文章 删除功能比较简单,只需进行如下操作: 调用删除接口删除文章 然后再刷新文章列表 修改文章 在文章列表页面点击修改文章按钮 跳转到写文章页面,同时带上文章 id 作为参数 在写文章界面创 ...
- 基于SpringBoot + Vue的个人博客系统07——文章列表和文章详情
简介 由于本人不是专业的前端,所以写出来的界面可能会稍微有些丑陋,甚至有些地方的写法不是很专业,还请大家见谅 主界面 JS 部分 首先是 js 逻辑部分 我们先在@/http/request.js中定 ...
- 基于springboot搭建的个人博客系统
源码下载地址:blog blog是基于springboot搭建的个人博客,响应式 前端技术:html.css.js.jq.bootstrap 后台技术:springboot.thymeleaf.myb ...
- 基于SpringBoot从零构建博客网站 - 开发设置主页标识和修改个人信息功能
由于守望博客系统中支持由用户自己设置个人主页的URL的后半段,所以必须要用户设置该标识的功能,而且是用户注册登录之后自动弹出的页面,如果用户没有设置该标识,其它的操作是不能够操作的,同时要求主页标识只 ...
最新文章
- 官方资源帖!手把手教你在TensorFlow 2.0中实现CycleGAN,推特上百赞
- 理解JavaScript面向对象的思路
- kfold_机器学习gridsearchcv(网格搜索)和kfold validation(k折验证)
- VTK:图片之ImageContinuousDilate3D
- 2.7 Client Commands and SQL Statements
- mmseg java_MMSeg中文分词算法
- 关于valgrind的安装和内存泄露分析
- JAVA语言异常,Java语言中的异常
- Github:深度学习文本检测识别(OCR)精选资源汇总
- asp.net web开发步骤_如何在Windows上做Python开发?微软出了官方教程
- word把选择答案弄到题目里_一个极限案例弄明白为何“看答案都明白,做题目就是想不起来”...
- 《逻辑说服力》— 综合素质提升书籍
- 黑莓9930/9970/99xx一键刷机包
- stylecloud:一款可以制作个性化词云图的 Python 神器
- 机器人心灵感应:允许人类远程操作和训练机器人手
- python-web开发(一)知识储备准备
- openlayers动态添加自定义div图层 具有筛选功能 和浮窗
- [游戏] 星际争霸2:一个新的传奇?
- 大佬们抖音带货流水都过亿 普通人有什么抖音变现的好方式
- 从网络安装debian到使用中遇到的问题