卡卷网
当前位置:卡卷网 / 网站源码 / 正文

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序

作者:卡卷网发布时间:2024-09-10 15:35浏览数量:414次评论数量:0次

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序  第1张


项目简介

Echo 是一套前后端不分离的开源社区系统,基于目前主流 Java Web 技术栈(SpringBoot + MyBatis + MySQL + Redis + Kafka + Elasticsearch + Spring Security + ...),并提供详细的开发文档和配套教程。包含帖子、评论、私信、系统通知、点赞、关注、搜索、用户设置、数据统计等模块。

源码链接:已托管在 Github 和 Gitee:

Gitee:gitee.com/veal98/Echo(Gitee 官方推荐项目)

Github:github.com/Veal98/Echo

作者小牛肉作品

教程地址:文档通过 Docsify + Github/Gitee Pages 生成

https://itmtx.cn/column/12

核心技术栈

后端:

Spring

Spring Boot 2.1.5 RELEASE

Spring MVC

ORM:MyBatis

数据库:MySQL 5.7

分布式缓存:Redis

本地缓存:Caffeine

消息队列:Kafka 2.13-2.7.0

搜索引擎:Elasticsearch 6.4.3

安全:Spring Security

邮件任务:Spring Mail

分布式定时任务:Spring Quartz

日志:SLF4J(日志接口) + Logback(日志实现)

前端:

Thymeleaf

Bootstrap 4.x

Jquery

Ajax

开发环境

操作系统:Windows 10

构建工具:Apache Maven

集成开发工具:Intellij IDEA

应用服务器:Apache Tomcat

接口测试工具:Postman

压力测试工具:Apache JMeter

版本控制工具:Git

Java 版本:8

Echo — 开源社区系统

界面展示

首页:

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序  第2张

登录页:

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序  第3张

密码重置页:

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序  第4张

帖子发布页(支持 MarkDown):

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序  第5张

帖子详情页(MarkDown 渲染):

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序  第6张

帖子详情页:

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序  第7张

个人主页:

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序  第8张

朋友私信页:

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序  第9张

私信详情页:

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序  第10张

系统通知页:

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序  第11张

通知详情页:

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序  第12张

账号设置页:

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序  第13张

数据统计页:

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序  第14张

搜索详情页:

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序  第15张

功能列表

注册

登录 | 登出

动态生成验证码

记住我

账号设置

修改头像

修改密码

过滤敏感词

前缀树

帖子模块

发布帖子(过滤敏感词)

分页显示所有的帖子

支持按照 “发帖时间” 显示

支持按照 “热度排行” 显示(Spring Quartz)

查看帖子详情

权限管理(Spring Security + Thymeleaf Security)

未登录用户无法发帖

“版主” 可以看到帖子的置顶和加精按钮并执行相应操作

“管理员” 可以看到帖子的删除按钮并执行相应操作

“普通用户” 无法看到帖子的置顶、加精、删除按钮,也无法执行相应操作

评论模块

发布对帖子的评论(过滤敏感词)

分页显示评论

发布对评论的回复(过滤敏感词)

权限管理(Spring Security)

未登录用户无法使用评论功能

私信模块

发送私信(过滤敏感词)

私信列表

查询当前用户的会话列表

每个会话只显示一条最新的私信

支持分页显示

私信详情

查询某个会话所包含的所有私信

访问私信详情时,将显示的私信设为已读状态

支持分页显示

权限管理(Spring Security)

未登录用户无法使用私信功能

统一处理 404 / 500 异常

普通请求异常

异步请求异常

统一记录日志

点赞模块

支持对帖子、评论/回复点赞

第 1 次点赞,第 2 次取消点赞

首页统计帖子的点赞数量

详情页统计帖子和评论/回复的点赞数量

详情页显示当前登录用户的点赞状态(赞过了则显示已赞)

统计我的获赞数量

权限管理(Spring Security)

未登录用户无法使用点赞相关功能

关注模块

关注功能

取消关注功能

统计用户的关注数和粉丝数

我的关注列表(查询某个用户关注的人),支持分页

我的粉丝列表(查询某个用户的粉丝),支持分页

权限管理(Spring Security)

未登录用户无法使用关注相关功能

系统通知模块

通知列表

显示评论、点赞、关注三种类型的通知

通知详情

分页显示某一类主题所包含的通知

进入某种类型的系统通知详情,则将该页的所有未读的系统通知状态设置为已读

未读数量

分别显示每种类型的系统通知的未读数量

显示所有系统通知的未读数量

导航栏显示所有消息的未读数量(未读私信 + 未读系统通知)

权限管理(Spring Security)

未登录用户无法使用系统通知功能

搜索模块

网站数据统计(管理员专属)

独立访客 UV

支持单日查询和区间日期查询

日活跃用户 DAU

支持单日查询和区间日期查询

权限管理(Spring Security)

只有管理员可以查看网站数据统计

优化网站性能

处理每次请求时,都要通过拦截器根据登录凭证查询用户信息,访问的频率非常高。因此将已成功登录的用户信息在缓存 Redis 中保存一段时间,查询用户信息的时候优先从缓存中取值;若缓存中没有该用户信息,则将其存入缓存;用户信息变更时清除对应的缓存数据

引入本地缓存 Caffeine,缓存热帖列表和帖子的总数,提升响应速度(可以进一步采用二级缓存架构)

本地运行

各位如果需要将项目部署在本地进行测试,以下环境请提前备好:

Java 8

MySQL 5.7

Redis

Kafka 2.13-2.7.0

Elasticsearch 6.4.3

然后修改配置文件中的信息为你自己的本地环境,直接运行是运行不了的,而且相关私密信息我全部用 xxxxxxx 代替了。

本地运行需要修改的配置文件信息如下:

1)application-develop.properties:

MySQL

Spring Mail(邮箱需要开启 SMTP 服务)

Kafka:consumer.group-id(该字段见 Kafka 安装包中的 consumer.proerties,可自行修改, 修改完毕后需要重启 Kafka)

Elasticsearch:cluster-name(该字段见 Elasticsearch 安装包中的 elasticsearch.yml,可自行修改)

七牛云(需要新建一个七牛云的对象存储空间,用来存放上传的头像图片)

2)logback-spring-develop.xml:

LOG_PATH:日志存放的位置

每次运行需要打开:

MySQL

Redis

Elasticsearch

Kafka

另外,还需要事件建好数据库 greatecommunity,然后依次运行项目 sql 文件夹下的这几个 sql 文件建立数据库表:

(开源程序推荐)Echo - 基于 SpringBoot 开源的小巧美观的论坛社区系统BBS程序  第16张


作者的网站,喜欢的可以去作者网站看看itmtx.cn/question  复制到浏览器打开

暂时不放下载地址了,喜欢的去作者git下载吧

源码链接:已托管在 Github 和 Gitee:

Gitee:gitee.com/veal98/Echo(Gitee 官方推荐项目)

Github:github.com/Veal98/Echo



END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码