1
0
mirror of https://github.com/ZeroCatDev/ClassworksKV.git synced 2025-07-01 20:09:23 +00:00
SunWuyuan c526478bec
1
2025-03-16 16:21:23 +08:00
1
2025-03-15 17:21:46 +08:00
2024-11-17 16:16:16 +08:00
1
2025-03-02 16:36:01 +08:00
2024-11-17 16:16:16 +08:00
1
2025-03-15 17:21:46 +08:00
1
2024-11-17 17:08:10 +08:00
2024-11-17 16:16:16 +08:00
1
2025-03-16 16:21:23 +08:00
1
2025-02-23 14:55:50 +08:00
1
2025-03-02 16:36:01 +08:00
1
2025-02-23 14:51:02 +08:00
1
2025-03-15 17:26:55 +08:00

ClassworksServer

GitHub Workflow Status Node.js Express.js

📚 项目简介

此项目是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 (可选)

安装与运行

  1. 克隆仓库
git clone https://github.com/ClassworksDev/ClassworksServer.git
cd ClassworksServer
  1. 安装依赖
npm install
# 或使用 pnpm
pnpm install
  1. 配置环境变量

创建 .env 文件并配置以下变量:

DATABASE_URL="mysql://username:password@localhost:3306/classworks"
PORT=3000
  1. 初始化数据库
npx prisma migrate dev --name init
  1. 启动服务
npm start

🐳 Docker 部署

使用 Docker Compose

  1. 创建 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:
  1. 启动服务
docker-compose up -d

手动构建 Docker 镜像

  1. 构建镜像
docker build -t classworks-server .
  1. 运行容器
docker run -p 3000:3000 -e DATABASE_URL="mysql://username:password@host:3306/classworks" classworks-server

📄 许可证

本项目采用 [待定] 许可证 - 详情请参阅 LICENSE 文件

📞 联系方式

项目维护者: SunWuyuan

GitHub 仓库: https://github.com/ClassworksDev/ClassworksServer

Description
作业板后端服务器
Readme AGPL-3.0 568 KiB
Languages
JavaScript 92.1%
EJS 7%
Dockerfile 0.7%
CSS 0.2%