完全开源!一款基于 SpringBoot + Vue 构建的社区平台!

大家好,我是 Java陈序员

在如今互联网时代,拥有一个个人专属的社区平台,用于技术交流或者兴趣分享圈子,是一件很酷的事~

今天,给大家介绍一款基于 SpringBoot + Vue 构建的社区平台,帮助你快速构建个人社区平台!

项目介绍

OpenIsle ------ 一个使用 SpringBoot 和 Vue3 构建的全栈开源社区平台,提供用户注册、登录、贴文发布、评论交互等完整功能,可用于项目社区或直接打造自主社区站点。

功能特色

  • 灵活的登录体系:支持 JWT 认证及 Google、GitHub、Discord 等多平台 OAuth 登录,可通过环境变量可调整密码强度、登录方式、保护码等多种配置,兼顾安全性与便捷性
  • 丰富的内容管理:支持分类、标签的贴文管理以及草稿保存功能;支持嵌套评论、指定贴文或评论的点赞/抖弹系统;集成 OpenAI 提供的 Markdown 格式化功能
  • 社区互动机制:支持用户关注、私信功能和实时通知系统(含浏览器推送),还具备用户成就与勋章体系
  • 实用功能集成:支持全局搜索功能;支持图片上传,默认使用腾讯云 COS 扩展;支持自定义头像

技术栈

  • 后端:SpringBoot + JPA
  • 前端:Vue3 + Nuxt

功能体验

  • 登录
  • 首页
  • 帖子
  • 评论区
  • 发帖
  • 个人主页

本地开发

前置工作

1、先克隆或下载项目源码

bash 复制代码
git clone https://github.com/nagisa77/OpenIsle.git

2、环境依赖

  • 后端开发环境:JDK 17+、MySQL8
  • 前端开发环境:Node.JS 20+

启动后端服务

1、在 IDEA 中导入 backend/ 文件夹

2、在 MySQL 中创建数据库 openisle

sql 复制代码
CREATE DATABASE `openisle` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

3、修改配置文件 backend/src/main/resources/application.properties 中的数据库连接配置信息

properties 复制代码
spring.datasource.url=${MYSQL_URL:jdbc:mysql://localhost:3306/openisle}
spring.datasource.username=${MYSQL_USER:root}
spring.datasource.password=${MYSQL_PASSWORD:password}
spring.jpa.hibernate.ddl-auto=update

4、运行主启动类 com.openisle.OpenIsleApplication 启动服务

启动前端服务

1、进入前端工程文件夹

bash 复制代码
cd frontend_nuxt/

2、配置环境变量,拷贝配置文件重命名为 .env, 并修改参数 NUXT_PUBLIC_API_BASE_URLNUXT_PUBLIC_API_BASE_URL=http://localhost:8080

bash 复制代码
cp .env.example .env

3、安装依赖

bash 复制代码
npm install

4、运行服务

bash 复制代码
npm run dev

5、浏览器访问

bash 复制代码
http://localhost:3000/

如果你想搭建一个技术交流社区或者是兴趣爱好圈子,OpenIsle 都能满足需求。你可以根据自身需求,对其进行定制化开发,打造一个独一无二的社区空间~

bash 复制代码
项目地址:https://github.com/nagisa77/OpenIsle

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

复制代码
https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

复制代码
https://chencoding.top:8090/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!


相关推荐
布局呆星7 小时前
SpringBoot 基础入门
java·spring boot·spring
不懂的浪漫7 小时前
mqtt-plus 架构解析(六):多 Broker 管理,如何让一个应用同时连接多个 MQTT 服务
spring boot·分布式·物联网·mqtt·架构
不懂的浪漫7 小时前
mqtt-plus 架构解析(十):从内部项目到开源框架,mqtt-plus 的抽取过程与决策
spring boot·mqtt·架构·开源
航Hang*7 小时前
VMware vSphere 云平台运维与管理基础——第2章(扩展):VMware ESXi 5.5 安装、配置与运维
运维·服务器·github·系统安全·虚拟化
布局呆星8 小时前
Vue3 | 组件通信学习小结
前端·vue.js
zh_xuan10 小时前
Visual Studio 上传工程到github
ide·git·github·visual studio
CoovallyAIHub11 小时前
视频理解新范式:Agent不再被动看视频,LensWalk让它自己决定看哪里
算法·架构·github
CoovallyAIHub11 小时前
斯坦福丨AirVLA:将地面机械臂模型迁移至无人机实现空中抓取,成功率从23%提升至50%
算法·架构·github
Ruihong11 小时前
你的 Vue 3 reactive(),VuReact 会编译成什么样的 React?
vue.js·面试
Ruihong11 小时前
你的 Vue 3 ref(),VuReact 会编译成什么样的 React?
vue.js·面试