从零搭建自己的社区系统,这个开源项目值得拥有(社区系统开发)

  大家好,我是为广大程序员兄弟操碎了心的小编,每天推荐一个小工具/源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节省开发效率,实现不加班不熬夜不掉头发,是我的目标!

  今天小编推荐一套前后端不分离的开源社区系统,基于目前主流 Java Web 技术栈,并提供详细的开发文档和配套教程。包含帖子、评论、私信、系统通知、点赞、关注、搜索、用户设置、数据统计等模块。

开源协议

  使用 MIT 开源许可协议

链接地址

  包含详细文档和大量图例, 帮助读者快速掌握本项目,配套友好教程, 带领读者从零开始实现本项目

从零搭建自己的社区系统,这个开源项目值得拥有(社区系统开发)

技术栈

前端

  • 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)。

部分演示截图

首页

从零搭建自己的社区系统,这个开源项目值得拥有(社区系统开发)

登录页

从零搭建自己的社区系统,这个开源项目值得拥有(社区系统开发)

帖子详情页

从零搭建自己的社区系统,这个开源项目值得拥有(社区系统开发)

img

个人主页

从零搭建自己的社区系统,这个开源项目值得拥有(社区系统开发)

朋友私信页

从零搭建自己的社区系统,这个开源项目值得拥有(社区系统开发)

私信详情页

从零搭建自己的社区系统,这个开源项目值得拥有(社区系统开发)

系统通知页

从零搭建自己的社区系统,这个开源项目值得拥有(社区系统开发)

通知详情页

从零搭建自己的社区系统,这个开源项目值得拥有(社区系统开发)

账号设置页

从零搭建自己的社区系统,这个开源项目值得拥有(社区系统开发)

img

数据统计页

从零搭建自己的社区系统,这个开源项目值得拥有(社区系统开发)

搜索详情页

从零搭建自己的社区系统,这个开源项目值得拥有(社区系统开发)

结尾

  本期就分享到这里,我是小编南风吹,专注分享好玩有趣、新奇、实用的开源项目及开发者工具、学习资源!希望能与大家共同学习交流。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月19日 下午7:43
下一篇 2024年5月19日 下午7:55

相关推荐

  • 宿州市政务协同办公系统

    宿州市政务协同办公系统 宿州市政务协同办公系统是宿州市政府部门通过信息技术手段实现协同办公的重要工具。该系统的推出,为政府部门之间的沟通和协作提供了更加便利和高效的平台。 在宿州市…

    科研百科 2024年8月27日
    36
  • 西北师范大学成果分类办法

    西北师范大学成果分类办法 西北师范大学是一所拥有悠久历史和深厚文化底蕴的高校,在高等教育领域取得了显著的成就。为了规范高校科研成果的管理和分类,西北师范大学制定了《西北师范大学成果…

    科研百科 2024年10月2日
    17
  • 才知道微信朋友圈,也可以发2分钟长视频,太方便了,方法超简单

    才知道微信朋友圈,也可以发2分钟长视频,太方便了,方法超简单 标题:才知道微信朋友圈,也可以发2分钟长视频,太方便了,方法超简单 近日,我偶然发现了微信朋友圈可以发布2分钟长视频的…

    科研百科 2024年3月28日
    201
  • 山东大学生科研项目立项山东大学生科研项目立项

    山东大学生科研项目立项 山东是中国的一个省份,拥有丰富的自然资源和文化底蕴。近年来,山东大学生科研项目立项不断增多,为大学生提供了更多的研究机会和平台。 山东大学生科研项目立项不仅…

    科研百科 2024年9月8日
    32
  • 芜湖供电公司:“项目经理制”提升党史学习教育质量

    来源:人民网-安徽频道 原创稿 3月30日中午,芜湖供电公司计量室党支部书记卢丽鹏正利用休息时间,在办公室一边细致地研读《中国共产党简史》,一边耐心整理读书笔记,不时就相关问题与其…

    科研百科 2023年1月18日
    295
  • 建设工程招投标及合同管理论文(建设工程招投标及合同管理)

    建设工程招投标及合同管理 随着建筑行业的不断发展,建设工程招投标已成为建筑市场中不可或缺的一部分。在建设工程招投标中,招标方需要确定合适的承包商,并通过公开招标的方式选择最优秀的承…

    科研百科 2024年6月5日
    66
  • 360天擎和火绒

    360天擎和火绒: 提升电脑性能的两个重要工具 近年来,随着科技的不断发展,电脑硬件的性能也在不断提升,但是,电脑系统的稳定性也面临着越来越大的挑战。在这种情况下,360天擎和火绒…

    科研百科 2024年11月12日
    0
  • 系统开发项目管理系统

    系统开发项目管理系统 系统开发项目管理系统是一种用于管理和维护系统开发项目的工具。它可以帮助开发人员更好地组织和管理项目,提高开发效率和质量。本文将介绍系统开发项目管理系统的功能和…

    科研百科 2024年7月14日
    33
  • 项目申报需不需要查新报告(项目申报需不需要查新报告呢)

    如果你是从事科研领域的工作人员,或者在高新科研技术公司上班,那么科技查新对于你来说是非常重要的,因为公司的每一个项目的立项和申报,都离不开科技查新,可以说科技查新是项目的第一步。 …

    科研百科 2024年4月19日
    117
  • 铁路安全管理条例(铁路安全管理条例最新版)

      (2013年8月17日中华人民共和国国务院令第639号公布)   第一章 总  则   第一条 为了加强铁路安全管理,保障铁路运输安全和畅通,保护人身安全和财产安全,制定本条例…

    科研百科 2022年11月28日
    266