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

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


相关推荐
小纯洁w3 小时前
vue3.0 使用el-tree节点添加自定义图标造成加载缓慢的多种解决办法
前端·javascript·vue.js
叫我詹躲躲3 小时前
Vue 3 ref 与 reactive 选哪个?
前端·vue.js
程序员Sunday3 小时前
Vite 要收费啦?虚拟 DOM 要取消啦?尤雨溪这次玩了把大的!
前端·vue.js
.柒宇.4 小时前
《云岚到家》第一章个人总结
spring boot·spring·spring cloud
刘一说4 小时前
深入掌握 Spring Boot Web 开发:构建高性能 RESTful API 的最佳实践
前端·spring boot·restful
摇滚侠4 小时前
Spring Boot3零基础教程,Actuator 导入,笔记82
java·spring boot·笔记
JosieBook4 小时前
【SpringBoot】29 核心功能 - 数据访问 - Spring Boot 2 操作 Redis 实践指南:本地安装与阿里云 Redis 对比应用
spring boot·redis·阿里云
l0sgAi5 小时前
PageHelper-Cursor:支持游标分页的 PageHelper 修改版,解决 MyBatis 深分页性能问题
spring boot·mybatis
i_am_a_div_日积月累_5 小时前
vue打包路径敏感解决;vue路径大小写引入检查与修复
前端·javascript·vue.js