Blog系统后端,一个简单的博客系统后端。有文章管理,单聊功能,群聊功能以及评论功能
Blog后端系统
Blog后端项目文档 »
查看Demo
·
报告Bug
·
提出新特性
本篇README.md面向开发者
需要一定的硬件配置以及编程基础
- JAVA JDK8
- IDEA
- Maven
- Nginx(主要配置到nacos集群上其他要搭建集群同理)
- Docker(可选择搭建在本地)
虚拟机环境Centos7(Docker:nacos、redis、mysql、elasticsearch)以及Centos8(RabbitMQ)
- 搭建nacos
- 搭建redis
- 搭建mysql
- 搭建elasticsearch
- 搭建RabbitMQ
Blog
├── blog-article
├── blog-chat-handler
├── blog-chat
├── blog-common
├── blog-identify
├── blog-oss
├── blog-search
├── sql
├── yaml
├── README.md
└── pom.xml
- blog-article文章相关功能
- blog-chat-handler使用Redis处理聊天消息
- blog-chat搭建Netty服务器以及RabbitMQ消息解耦
- blog-common各种实体类和工具
- blog-identify集成SpringSecurity和SpringCloudGateWay的鉴权和网关功能(SpringWebflux)
- blog-oss阿里云OSS实现图片上传
- blog-search通过Elasticsearch实现文章的扩展功能
- sql包含项目的所有表结构
- yaml包含nacos配置中心的所有yaml配置文件
项目主要使用SpringCloud微服务架构,每个微服务使用MVC架构
- SpringBoot 2.6.3
- SpringCloud 2021.0.1
- SpringCloudAlibaba 2021.0.1.0 具体可见:版本对应
- MySQL 8.0.30
- Redis 7.0.0
- RabbitMQ 3.12.1
- Elasticsearch 7.15.2
- MyBatis-Plus 3.4.0
当然只有我一个人咯😭😭😭
贡献使开源社区成为一个学习、激励和创造的绝佳场所。你所作的任何贡献都是非常感谢的。
该项目使用Git进行版本管理。您可以在repository参看当前可用版本。
✉️632832232@qq.com 🐧632832232
- Netty服务器搭建
- 数据库表设计
- 本项目中使用到的各种开源框架的开发者们
- 本项目中参考开源社区的各位前辈的解决方案以及代码实现
- 在鉴权方面(自己的东西不能别人删除增加修改)有更好的 实现方法,例如AOP以及全局过滤器。但本项目由于个人原 因(期末),使用JWT中的封装用户名以及请求。参数中的 用户名是 否相等来做判断(增删改等敏感操作)。
- 群聊表的设计是有缺陷的(设计缺陷),没有创建者。所以 申请加入群聊和退出群聊是无法实现的。但是Redis中针对 群聊消息的已读和未读维护性(用户的加入和离开)是很高 的,可以修改表结构和代码来实现。
- 由于时间原因评论没有删除功能和每个文章每人评论条数的 限制,但实现是很简单的。
- BlogArticles类设计可考虑装饰者模式
- 用户在线状态未实现,但实现原理简单,可通过Netty中的 channel的退出和建立来控制用户(好友)的显示状态
- 单聊和群聊未支持图片发送










