完全开源!一款基于 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/#/

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


相关推荐
v***885630 分钟前
Springboot项目:使用MockMvc测试get和post接口(含单个和多个请求参数场景)
java·spring boot·后端
Cassie燁1 小时前
el-button源码解读1——为什么组件最外层套的是Vue内置组件Component
前端·vue.js
北极糊的狐1 小时前
Vue3 子组件修改父组件传递的对象并同步的方法汇总
前端·javascript·vue.js
javaの历练之路1 小时前
基于 SpringBoot+Vue2 的前后端分离博客管理系统(含 WebSocket+ECharts)
spring boot·websocket·echarts
6***09262 小时前
如何快速搭建简单SpringBoot项目网页
java·spring boot·intellij-idea
z***56562 小时前
springboot整合mybatis-plus(保姆教学) 及搭建项目
spring boot·后端·mybatis
q***98522 小时前
Spring Boot:Java开发的神奇加速器(二)
java·spring boot·后端
小蒜学长2 小时前
基于spring boot的汽车4s店管理系统(代码+数据库+LW)
java·数据库·spring boot·后端·汽车
一 乐3 小时前
餐厅管理智能点餐系统|基于java+ Springboot的餐厅管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端
北极糊的狐3 小时前
父组件向子组件传参时,传递数组和对象类型的参数的方法
前端·javascript·vue.js