X1192176811 / blog
- среда, 27 июля 2022 г. в 00:33:41
基于SpringBoot + Vue 开发的前后端分离博客,采用SpringSecurity进行权限管理,ElasticSearch全文搜索,支持QQ、微博第三方登录、在线聊天、发布说说等功能。
基于Springboot + Vue 开发的前后端分离博客
在线地址 | 目录结构 | 项目特点 | 技术介绍 | 运行环境 | 开发环境 | 项目截图 | 快速开始 | 注意事项 | 项目总结 | 交流群
项目链接: www.talkxj.com
后台链接: admin.talkxj.com
测试账号:test@qq.com,密码:1234567,可登入后台查看。
Github地址: https://github.com/X1192176811/blog
Gitee地址: https://gitee.com/feng_meiyu/blog
在线接口文档地址: https://www.talkxj.com/api/doc.html
您的star是我坚持的动力,感谢大家的支持,欢迎提交pr共同改进项目。
前端项目位于blog-vue下,blog为前台,admin为后台。
后端项目位于blog-springboot下。
SQL文件位于根目录下的blog-mysql8.sql,需要MYSQL8以上版本。
可直接导入该项目于本地,修改后端配置文件中的数据库等连接信息,项目中使用到的关于阿里云功能和第三方授权登录等需要自行开通。
当你克隆项目到本地后可使用邮箱账号:admin@qq.com,密码:1234567 进行登录,也可自行注册账号并将其修改为admin角色。
本地访问接口文档地址:http://127.0.0.1:8080/doc.html
ps:请先运行后端项目,再启动前端项目,前端项目配置由后端动态加载。
blog-springboot
├── annotation -- 自定义注解
├── aspect -- aop模块
├── config -- 配置模块
├── constant -- 常量模块
├── consumer -- MQ消费者模块
├── controller -- 控制器模块
├── dao -- 框架核心模块
├── dto -- dto模块
├── enums -- 枚举模块
├── exception -- 自定义异常模块
├── handler -- 处理器模块(扩展Security过滤器,自定义Security提示信息等)
├── service -- 服务模块
├── strategy -- 策略模块(用于扩展第三方登录,搜索模式,上传文件模式等策略)
├── util -- 工具类模块
└── vo -- vo模块
前端: vue + vuex + vue-router + axios + vuetify + element + echarts
后端: SpringBoot + nginx + docker + SpringSecurity + Swagger2 + MyBatisPlus + Mysql + Redis + elasticsearch + RabbitMQ + MaxWell + Websocket
其他: 接入QQ,微博第三方登录,接入腾讯云人机验证、websocket
服务器: 腾讯云2核4G CentOS7.6
CDN: 阿里云全站加速
对象存储: 阿里云OSS
这套搭配响应速度非常快,可以做到响应100ms以下。
最低配置: 1核2G服务器(关闭ElasticSearch)
开发工具 | 说明 |
---|---|
IDEA | Java开发工具IDE |
VSCode | Vue开发工具IDE |
Navicat | MySQL远程连接工具 |
Another Redis Desktop Manager | Redis远程连接工具 |
X-shell | Linux远程连接工具 |
Xftp | Linux文件上传工具 |
开发环境 | 版本 |
---|---|
JDK | 1.8 |
MySQL | 8.0.20 |
Redis | 6.0.5 |
Elasticsearch | 7.9.2 |
RabbitMQ | 3.8.5 |
详见文章Docker安装运行环境
详见文章项目配置教程
详见文章项目部署教程
博客作为新手入门项目是十分不错的,项目所用的技术栈覆盖的也比较广,适合初学者学习。主要难点在于权限管理、第三方登录、websocket这块。做的不好的地方请大家见谅,有问题的或者有好的建议可以私聊联系我。