Files
RGKT/rg_admin/README.md
2025-10-10 19:44:14 +08:00

3.8 KiB

荣光课堂后端管理系统

项目简介

这是一个基于 Spring Boot 的荣光课堂后端管理系统,用于管理课程数据、游戏数据和用户学习记录。

技术栈

  • Spring Boot 2.6.13
  • Spring Data JPA
  • MySQL 8.0
  • Maven

数据库设计

主要表结构

  1. users - 用户表
  2. courses - 课程表
  3. games - 游戏表
  4. user_access_records - 用户访问记录表
  5. game_records - 游戏记录表

数据库初始化

  1. 创建数据库:
CREATE DATABASE rg_classroom CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. 执行数据库脚本:
mysql -u root -p rg_classroom < database_schema.sql

配置说明

数据库配置

修改 src/main/resources/application.yml 中的数据库连接信息:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/rg_classroom?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
    username: root
    password: 123456

API 接口

用户管理

  • GET /api/users - 获取所有用户
  • GET /api/users/{id} - 根据 ID 获取用户
  • POST /api/users/login - 用户登录
  • POST /api/users - 创建用户
  • PUT /api/users/{id} - 更新用户
  • DELETE /api/users/{id} - 删除用户

课程管理

  • GET /api/courses - 获取所有课程
  • GET /api/courses/{id} - 根据 ID 获取课程
  • GET /api/courses/courseId/{courseId} - 根据课程 ID 获取课程
  • GET /api/courses/category/{categoryId} - 根据分类获取课程
  • GET /api/courses/grade/{gradeLevel}/semester/{semester} - 根据年级学期获取课程
  • POST /api/courses - 创建课程
  • PUT /api/courses/{id} - 更新课程
  • DELETE /api/courses/{id} - 删除课程

游戏管理

  • GET /api/games - 获取所有游戏
  • GET /api/games/{id} - 根据 ID 获取游戏
  • GET /api/games/course/{courseId} - 根据课程 ID 获取游戏
  • GET /api/games/category/{categoryId} - 根据分类获取游戏
  • POST /api/games - 创建游戏
  • PUT /api/games/{id} - 更新游戏
  • DELETE /api/games/{id} - 删除游戏

记录管理

  • POST /api/records/access - 记录用户访问
  • POST /api/records/game - 记录游戏结果
  • GET /api/records/access/user/{userId} - 获取用户访问记录
  • GET /api/records/access/course/{courseId} - 获取课程访问统计
  • GET /api/records/game/user/{userId} - 获取用户游戏记录
  • GET /api/records/game/stats/{gameId} - 获取游戏统计

数据同步

  • GET /api/data/courses - 获取所有课程数据
  • GET /api/data/games - 获取所有游戏数据
  • GET /api/data/complete - 获取完整数据结构
  • GET /api/data/course/{courseId}/complete - 获取课程完整数据

统计分析

  • GET /api/stats/user/{userId} - 获取用户学习统计
  • GET /api/stats/course/{courseId} - 获取课程访问统计
  • GET /api/stats/game/{gameId} - 获取游戏统计
  • GET /api/stats/user/{userId}/game/{gameId} - 获取用户游戏统计

运行项目

  1. 确保 MySQL 数据库已启动
  2. 执行数据库初始化脚本
  3. 修改配置文件中的数据库连接信息
  4. 运行项目:
mvn spring-boot:run

或者打包后运行:

mvn clean package
java -jar target/rg_admin-0.0.1-SNAPSHOT.jar

前端集成

前端可以通过以下方式集成:

  1. 使用 /api/data/complete 接口获取完整的课程和游戏数据
  2. 用户访问课程或游戏时,调用 /api/records/access 记录访问
  3. 游戏结束时,调用 /api/records/game 记录游戏结果
  4. 使用统计接口获取学习数据分析

注意事项

  1. 确保数据库连接配置正确
  2. 首次运行时会自动创建表结构
  3. 建议在生产环境中修改默认的数据库密码
  4. 所有 API 都支持 CORS 跨域访问