大家好,我是 Java陳序員。
在如今互聯網時代,擁有一個個人專屬的社區平台,用於技術交流或者興趣分享圈子,是一件很酷的事~
今天,給大家介紹一款基於 SpringBoot + Vue 構建的社區平台,幫助你快速構建個人社區平台!
關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。
項目介紹
OpenIsle —— 一個使用 SpringBoot 和 Vue3 構建的全棧開源社區平台,提供用户註冊、登錄、貼文發佈、評論交互等完整功能,可用於項目社區或直接打造自主社區站點。
功能特色:
- 靈活的登錄體系:支持 JWT 認證及 Google、GitHub、Discord 等多平台 OAuth 登錄,可通過環境變量可調整密碼強度、登錄方式、保護碼等多種配置,兼顧安全性與便捷性
- 豐富的內容管理:支持分類、標籤的貼文管理以及草稿保存功能;支持嵌套評論、指定貼文或評論的點贊/抖彈系統;集成 OpenAI 提供的 Markdown 格式化功能
- 社區互動機制:支持用户關注、私信功能和實時通知系統(含瀏覽器推送),還具備用户成就與勳章體系
- 實用功能集成:支持全局搜索功能;支持圖片上傳,默認使用騰訊雲 COS 擴展;支持自定義頭像
技術棧:
- 後端:SpringBoot + JPA
- 前端:Vue3 + Nuxt
功能體驗
- 登錄
- 首頁
- 帖子
- 評論區
- 發帖
- 個人主頁
本地開發
前置工作
1、先克隆或下載項目源碼
git clone https://github.com/nagisa77/OpenIsle.git
2、環境依賴
- 後端開發環境:JDK 17+、MySQL8
- 前端開發環境:Node.JS 20+
啓動後端服務
1、在 IDEA 中導入 backend/ 文件夾
2、在 MySQL 中創建數據庫 openisle
CREATE DATABASE `openisle` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
3、修改配置文件 backend/src/main/resources/application.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、進入前端工程文件夾
cd frontend_nuxt/
2、配置環境變量,拷貝配置文件重命名為 .env, 並修改參數 NUXT_PUBLIC_API_BASE_URL 為 NUXT_PUBLIC_API_BASE_URL=http://localhost:8080
cp .env.example .env
3、安裝依賴
npm install
4、運行服務
npm run dev
5、瀏覽器訪問
http://localhost:3000/
如果你想搭建一個技術交流社區或者是興趣愛好圈子,OpenIsle 都能滿足需求。你可以根據自身需求,對其進行定製化開發,打造一個獨一無二的社區空間~
項目地址:https://github.com/nagisa77/OpenIsle
最後
推薦的開源項目已經收錄到 GitHub 項目,歡迎 Star:
https://github.com/chenyl8848/great-open-source-project
或者訪問網站,進行在線瀏覽:
https://chencoding.top:8090/#/
我創建了一個開源項目交流羣,方便大家在羣裏交流、討論開源項目。
但是任何人在羣裏打任何廣告,都會被 T 掉。
如果你對這個交流羣感興趣或者在使用開源項目中遇到問題,可以通過如下方式進羣:
關注微信公眾號:【Java陳序員】,回覆【開源項目交流羣】進羣,或者通過公眾號下方的菜單添加個人微信,並備註【開源項目交流羣】,通過後拉你進羣。
大家的點贊、收藏和評論都是對作者的支持,如文章對你有幫助還請點贊轉發支持下,謝謝!