mirror of
https://github.com/ZeroCatDev/ClassworksKV.git
synced 2025-07-01 20:09:23 +00:00
ClassworksServer
📚 项目简介
此项目是Classworks的开源后端实现,通过 RESTful API 接口,支持前端应用实现丰富的作业管理体验,包括作业的发布、查询和管理功能。
✨ 主要功能
- 📝 作业发布与管理
- 🔍 按班级和日期查询作业
- ⚙️ 班级配置管理
- 🔄 数据持久化存储
- 🐳 Docker 容器化部署
🔌 API 接口说明
作业管理接口
接口 | 方法 | 描述 | 参数 |
---|---|---|---|
/api/homework |
GET | 获取所有作业 | ?class=班级名&date=日期 (可选) |
/api/homework/:class |
GET | 获取指定班级的所有作业 | :class - 班级名 |
/api/homework |
POST | 创建或更新作业 | Body: {class, date, data} |
/api/homework |
DELETE | 删除作业 | Body: {class, date} |
配置管理接口
接口 | 方法 | 描述 | 参数 |
---|---|---|---|
/api/config |
GET | 获取所有班级配置 | 无 |
/api/config/:class |
GET | 获取指定班级的配置 | :class - 班级名 |
/api/config |
POST | 创建或更新班级配置 | Body: {class, value} |
/api/config/:class |
DELETE | 删除指定班级的配置 | :class - 班级名 |
🚀 快速开始
前置要求
- Node.js (v14+)
- MySQL 数据库
- Docker (可选)
安装与运行
- 克隆仓库
git clone https://github.com/ClassworksDev/ClassworksServer.git
cd ClassworksServer
- 安装依赖
npm install
# 或使用 pnpm
pnpm install
- 配置环境变量
创建 .env
文件并配置以下变量:
DATABASE_URL="mysql://username:password@localhost:3306/classworks"
PORT=3000
- 初始化数据库
npx prisma migrate dev --name init
- 启动服务
npm start
🐳 Docker 部署
使用 Docker Compose
- 创建
docker-compose.yml
文件:
version: '3'
services:
classworks-server:
image: classworksdev/classworks-server:latest
ports:
- "3000:3000"
environment:
- DATABASE_URL=mysql://username:password@db:3306/classworks
depends_on:
- db
db:
image: mysql:8
environment:
- MYSQL_ROOT_PASSWORD=rootpassword
- MYSQL_DATABASE=classworks
- MYSQL_USER=username
- MYSQL_PASSWORD=password
volumes:
- mysql-data:/var/lib/mysql
volumes:
mysql-data:
- 启动服务
docker-compose up -d
手动构建 Docker 镜像
- 构建镜像
docker build -t classworks-server .
- 运行容器
docker run -p 3000:3000 -e DATABASE_URL="mysql://username:password@host:3306/classworks" classworks-server
📄 许可证
本项目采用 [待定] 许可证 - 详情请参阅 LICENSE 文件
📞 联系方式
项目维护者: SunWuyuan
GitHub 仓库: https://github.com/ClassworksDev/ClassworksServer
Languages
JavaScript
92.1%
EJS
7%
Dockerfile
0.7%
CSS
0.2%