乐于分享
好东西不私藏

【程序源代码】轻量级全栈开源社区系统

【程序源代码】轻量级全栈开源社区系统

关键字:SpringBoot,Vue3,Nuxt,JWT,OAuth2, 社区论坛,Markdown, 实时通知,机器人,容器部署,MIT 开源

项目名称:轻量级全栈开源社区系统

项目介绍

一套基于 SpringBoot 后端 + Nuxt/Vue3 前端构建的轻量化开源社区论坛系统,对标 Discourse 轻量化实现方案,完全 MIT 开源可商用。系统完整覆盖社区全场景能力,支持多渠道 OAuth 登录、分类标签化文章发布、多层嵌套评论、点赞互动、私信聊天、浏览器实时推送通知,集成 OpenAI 实现 Markdown 内容美化,内置机器人对接模块拓展社区互动玩法。整体采用模块化分层架构,通过环境变量完成全量配置,无需复杂改造即可自定义登录规则、存储方案、消息推送能力,兼容 MySQL 主流关系数据库,支持 Docker 容器一键部署。代码注释完善、分层清晰,适合技术交流社区、兴趣圈子、开源项目交流站快速搭建,同时是 Java+Vue3 全栈开发、论坛业务学习优质实战项目。

项目结构目录

项目主要技术框架

3.1核心底层框架

后端采用 SpringBoot+SpringData JPA 分层架构,JWT 实现无状态登录,原生集成多第三方 OAuth 登录逻辑;独立 WebSocket 服务承载实时私信、评论推送,消息推送支持浏览器 WebPush。前端基于 Nuxt3+Vue3 实现 SSR 服务端渲染,优化 SEO 社区站点需求;整体模块化拆分用户、内容、通知、机器人、实时通信五大核心模块,配置全部抽离至环境变量,支持腾讯 COS 对象存储、OpenAI 接口、Tele 机器人按需接入,Docker 一键打包,单机、集群两种部署方案均可快速落地。

3.2后端技术栈

开发语言:Java17+

核心框架:SpringBoot、SpringData JPA

安全认证:JJWT、OAuth2(GitHub/Google/Discord/Twitter)

实时通信:WebSocket 独立服务

数据库:MySQL8.0+

缓存:Redis

第三方集成:OpenAI、Telegram Bot、腾讯 COS

构建工具:Maven

部署:Docker Compose、Jar 独立运行

    3.3前端技术栈

    基础框架:Nuxt3 + Vue3 + TypeScript

    UI 组件:自定义轻量化社区组件

    渲染模式:SSR 服务端渲染(利于 SEO)

    状态管理:Pin

    网络请求:Axios

    可视化:社区数据统计图表

    交互:Markdown 编辑器、嵌套评论、点赞动效

      3.4开发及生产环境

      开发环境:JDK17、Node18、MySQL、Redis

      生产环境:Linux 服务器、Docker 容器集群

      配套资源:完整部署文档、环境变量配置模板、Nginx 反向代理配置

      3.5 数据库

      核心业务数据表分类:

      1. 用户体系表:用户信息、角色权限、第三方绑定、邀请记录

      2. 内容体系表:帖子分类、标签、草稿、正式文章、Markdown 内容

      3. 互动体系表:评论、回复、点赞、收藏、私信对话

      4. 消息通知表:站内通知、浏览器推送记录、阅读状态

      5. 机器人配置表:Tele 机器人参数、自动回复规则

      支持多条件联合查询,帖子全文检索,完整记录社区用户行为数据。

      项目主要功能

       4.1 平台管理员功能模块

       4.1.1 用户与登录管控

      配置系统登录方式(账号密码 / 多 OAuth),自定义密码强度、邀请注册白名单;管理全部用户账号、角色权限,封禁违规账号,查看用户活跃统计。

       4.1.2 内容分类管理

      新增 / 编辑帖子分类、全局标签,设置分类访问权限;批量管理草稿、已发布帖子,下架违规内容。

       4.1.3 系统参数配置

      通过环境变量配置存储、AI 接口、推送密钥;开启 / 关闭机器人、浏览器推送、积分邀请机制。

       4.1.4 机器人运维

      配置 Telegram 机器人参数,设置自动回复、社区消息同步规则,管理机器人消息推送范围。

       4.1.5 数据统计看板

      查看日活、发帖量、评论量、用户增长多维度社区经营数据。

       4.2 普通用户功能模块

       4.2.1 多渠道登录

      支持账号密码注册登录,一键 GitHub/Google/Discord/Twitter 第三方快捷登录。

       4.22 帖子创作

      选择分类、标签发布 Markdown 帖子,支持本地草稿自动保存,集成 AI 一键美化排版。

       4.23 多层互动

      帖子多层嵌套评论,支持点赞、踩、收藏;关注感兴趣用户,接收对方更新推送。

       4.24 私信与通知

      用户一对一私信聊天,新评论、关注、系统公告实时浏览器推送通知。

       4.25 积分邀请

      生成专属邀请码,邀请好友注册双方获得积分,积分可用于社区权益兑换。

       4.26 个人主页

      展示发布帖子、收藏内容、获赞数据,自定义头像与个人简介。

       4.3 通用功能模块

       4.31 多端实时推送

      WebSocket 实时私信、评论提醒,兼容浏览器 WebPush 离线通知。

       4.32AI 内容美化

      接入 OpenAI 接口,一键格式化、润色 Markdown 帖子内容。

       4.33 第三方机器人

      Telegram 机器人同步社区动态,支持外部渠道查看帖子、接收通知。

       4.34 对象存储

      默认适配腾讯 COS,可替换其他 OSS 存储图片、帖子附件。

       4.35SSR 服务端渲染

      Nuxt 前端 SSR 渲染,优化搜索引擎收录,适合公开社区站点。

       4.36 容器化一键部署

      全套 Docker 脚本,单机一键拉起后端、前端、Redis、数据库整套服务。

      项目安装和部署

       5.1 前置环境准备

      JDK17、Node18、MySQL8、Redis;Docker 环境(容器部署可选)

       5.2 数据库初始化

      1. 创建 openisle 数据库,字符集 utf8mb4;

      2. 执行项目 sql 初始化脚本,生成全部业务数据表。

       5.3 环境变量配置

      复制.env.example 重命名.env,填写 MySQL、Redis、COS、OpenAI、WebPush 密钥等参数。

       5.4 后端打包启动

      ```

      mvn clean package -DskipTests

      java -jar backend/target/openisle.jar

      ```

      后端默认端口 8080

       5.5 前端 Nuxt 部署

      1. 进入 frontend_nuxt 目录执行 pnpm install;

      2. 开发启动:pnpm dev;

      3. 生产打包:pnpm build,输出静态资源。

       5.6Docker 一键部署

      进入 docker 目录执行 docker-compose up -d,自动拉起全套服务;

      这个系统实际效果图片展示

      这个源码适合的学习人群

      该项目代码结构清晰、注释规范、无过度封装、轻量化易上手,极其适合四类人群学习:Java后端初学者、微信小程序开发学习者、计算机专业在校学生、个人开源项目爱好者。

      这个项目源码获取方式

      关注公众号,回复: 社区管理系统