大家好,我是为宽广程序员兄弟操碎了心的小编,每天举荐一个小工具 / 源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节俭开发效率,实现不加班不熬夜不掉头发,是我的指标!
明天小编举荐一套前后端不拆散的开源社区零碎,基于目前支流 Java Web 技术栈,并提供具体的开发文档和配套教程。蕴含帖子、评论、私信、零碎告诉、点赞、关注、搜寻、用户设置、数据统计等模块。
开源协定
应用 MIT 开源许可协定
链接地址
蕴含具体文档和大量图例, 帮忙读者疾速把握本我的项目,配套敌对教程, 率领读者从零开始实现本我的项目
公众号【Github 导航站】回复关键词【ech】获取 git 地址
技术栈
前端
- Thymeleaf
- Bootstrap 4.x
- Jquery
- Ajax
后端
- 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(日志实现)
性能列表
- 注册
- 登录 | 登出 :动静生成验证码记住我
- 账号设置 :批改头像批改明码
- 过滤敏感词 :前缀树
- 帖子模块 :公布帖子(过滤敏感词)分页显示所有的帖子反对依照“发帖工夫”显示反对依照“热度排行”显示(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,缓存热帖列表和帖子的总数,防止缓存雪崩(这外面还能再加一层二级缓存 Redis)。
局部演示截图
首页
登录页
帖子详情页
个人主页
敌人私信页
私信详情页
零碎告诉页
告诉详情页
账号设置页
数据统计页
搜寻详情页
结尾
本期就分享到这里,我是小编南风吹,专一分享好玩乏味、离奇、实用的开源我的项目及开发者工具、学习资源!心愿能与大家独特学习交换,欢送关注我的公众号 【Github 导航站】。