Skip to content

Repository files navigation

Blog

Blog系统后端,一个简单的博客系统后端。有文章管理,单聊功能,群聊功能以及评论功能

Contributors Forks Stargazers Issues


Logo

Blog

Blog后端系统
Blog后端项目文档 »

查看Demo · 报告Bug · 提出新特性

本篇README.md面向开发者



目录



上手指南

需要一定的硬件配置以及编程基础
开发前的环境配置
  1. JAVA JDK8
  2. IDEA
  3. Maven
  4. Nginx(主要配置到nacos集群上其他要搭建集群同理)
  5. Docker(可选择搭建在本地)
搭建步骤

虚拟机环境Centos7(Docker:nacos、redis、mysql、elasticsearch)以及Centos8(RabbitMQ)

  1. 搭建nacos
  2. 搭建redis
  3. 搭建mysql
  4. 搭建elasticsearch
  5. 搭建RabbitMQ



文件目录说明

Blog
├── blog-article
├── blog-chat-handler
├── blog-chat
├── blog-common
├── blog-identify
├── blog-oss
├── blog-search
├── sql
├── yaml
├── README.md
└── pom.xml
  1. blog-article文章相关功能
  2. blog-chat-handler使用Redis处理聊天消息
  3. blog-chat搭建Netty服务器以及RabbitMQ消息解耦
  4. blog-common各种实体类和工具
  5. blog-identify集成SpringSecurity和SpringCloudGateWay的鉴权和网关功能(SpringWebflux)
  6. blog-oss阿里云OSS实现图片上传
  7. blog-search通过Elasticsearch实现文章的扩展功能
  8. sql包含项目的所有表结构
  9. 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



项目参考以及鸣谢



项目已知问题

  1. 在鉴权方面(自己的东西不能别人删除增加修改)有更好的 实现方法,例如AOP以及全局过滤器。但本项目由于个人原 因(期末),使用JWT中的封装用户名以及请求。参数中的 用户名是 否相等来做判断(增删改等敏感操作)。
  2. 群聊表的设计是有缺陷的(设计缺陷),没有创建者。所以 申请加入群聊和退出群聊是无法实现的。但是Redis中针对 群聊消息的已读和未读维护性(用户的加入和离开)是很高 的,可以修改表结构和代码来实现。
  3. 由于时间原因评论没有删除功能和每个文章每人评论条数的 限制,但实现是很简单的。
  4. BlogArticles类设计可考虑装饰者模式
  5. 用户在线状态未实现,但实现原理简单,可通过Netty中的 channel的退出和建立来控制用户(好友)的显示状态
  6. 单聊和群聊未支持图片发送



Blog-Vue3前端项目

Blog-Vue3



项目展示

About

这是一个基于SpringBoot和Vue3的博客聊天系统

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages