mybig-event
項目簡介
mybig-event 是一個基于 Spring Boot 的事件管理系統,提供用戶管理、文章發布、分類管理、文件上傳等功能,采用現代化的 Java 技術棧構建,支持高效開發和部署。
倉庫鏈接:https://github.com/foorgange/mybig-event/tree/master
技術棧
- 核心框架:Spring Boot 3.1.3
- 數據訪問:MyBatis 3.0.0、PageHelper 1.4.7
- 數據庫:MySQL 8.0.33
- 緩存:Redis
- 認證授權:JWT (java-jwt 4.4.0)
- 文件存儲:阿里云 OSS (aliyun-sdk-oss 3.15.1)
- 數據校驗:Spring Boot Starter Validation
- 工具類:Lombok、MD5 加密
- 構建工具:Maven
- 開發工具:IntelliJ IDEA
- CI/CD:GitHub Actions
功能模塊
1. 用戶管理模塊
- 用戶注冊與登錄(支持 JWT 認證)
- 個人信息查詢與修改
- 頭像上傳(對接阿里云 OSS)
- 密碼修改與安全驗證
2. 文章管理模塊
- 文章發布與編輯
- 文章分類與狀態管理(已發布 / 草稿)
- 文章列表分頁查詢
- 支持按分類和狀態篩選
3. 分類管理模塊
- 分類的增刪改查
- 分類數據校驗
4. 文件上傳模塊
- 基于阿里云 OSS 的文件存儲
- 支持圖片上傳并返回訪問 URL
項目結構
plaintext
mybig-event/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── itheima/
│ │ │ ├── controller/ # 控制器層
│ │ │ ├── service/ # 服務層
│ │ │ ├── mapper/ # 數據訪問層
│ │ │ ├── pojo/ # 實體類
│ │ │ └── utils/ # 工具類
│ │ └── resources/
│ │ ├── application.yml # 全局配置
│ │ └── com/itheima/mapper/ # MyBatis 映射文件
│ └── test/ # 測試代碼
├── .github/workflows/ # GitHub Actions 配置
├── .idea/ # IDEA 項目配置
├── pom.xml # Maven 依賴配置
└── .gitignore # Git 忽略文件配置
快速開始
環境要求
- JDK 17+
- MySQL 8.0+
- Redis 5.0+
- Maven 3.6+
配置步驟
-
克隆倉庫
bashgit clone https://github.com/yourusername/mybig-event.git cd mybig-event
-
修改配置文件
編輯src/main/resources/application.yml
?,配置數據庫和 Redis 連接:
yamlspring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/big_eventusername: 你的數據庫用戶名password: 你的數據庫密碼data:redis:host: localhostport: 6379password: 你的Redis密碼(如無則留空)
-
配置阿里云 OSS
編輯src/main/java/itheima/utils/AliOssUtil.java
?,修改 OSS 配置:
java運行
private static final String ENDPOINT = "你的OSS地域節點"; private static final String ACCESS_KEY_ID = "你的ACCESS_KEY_ID"; private static final String ACCESS_KEY_SECRET = "你的ACCESS_KEY_SECRET"; private static final String BUCKET_NAME = "你的Bucket名稱";
建議生產環境通過環境變量注入密鑰,避免硬編碼
-
創建數據庫
在 MySQL 中創建數據庫big_event
?,并根據實體類創建對應表結構(可通過 MyBatis 逆向工程生成)。 -
構建與運行
bashmvn clean package java -jar target/mybig-event-1.0-SNAPSHOT.jar
服務將在
http://localhost:9090
? 啟動
API 示例
用戶注冊
bash
POST /user/register
Content-Type: application/json{"username": "testuser","password": "testpass123"
}
文章發布
bash
POST /article
Content-Type: application/json
Authorization: Bearer {your-jwt-token}{"title": "測試文章","content": "這是一篇測試文章","coverImg": "https://example.com/img.jpg","state": "已發布","categoryId": 1
}
開發指南
- 代碼規范:遵循阿里巴巴 Java 開發手冊
- 提交規范:使用語義化提交信息(如
feat: 新增文章查詢接口
?) - 測試要求:核心功能需編寫單元測試
- 分支管理:使用
master
? 作為主分支,功能開發使用 feature 分支
自動化構建
項目配置了 GitHub Actions 自動化構建流程,當代碼推送到 master
? 分支或創建 Pull Request 時,將自動執行以下操作:
- 檢查代碼
- 構建項目
- 運行測試
- 生成依賴報告
許可證
本項目采用 MIT 許可證 - 詳見 LICENSE 文件(如未提供則默認保留所有權利)