Skip to content
/ HMS Public

一个基于 React + FastAPI 的现代化在线作业管理系统,支持学生作业提交、教师批改、成绩管理等功能。

Notifications You must be signed in to change notification settings

yyfl2zju/HMS

Repository files navigation

作业管理系统

一个基于 React + FastAPI 的现代化在线作业管理系统,支持学生作业提交、教师批改、成绩管理等功能。

项目特性

核心功能

  • 👨‍🎓 学生端

    • 查看课程和作业列表
    • 在线答题(单选、多选、简答、编程题)
    • 附件上传(每题独立附件,支持多文件)
    • 作业提交与修改(截止前可多次提交)
    • 成绩查询与详情查看
  • 👨‍🏫 教师端

    • 作业创建与管理(支持题目权重配置)
    • 查看学生提交情况
    • 在线批改与评分(权重自动计算,满分100)
    • 班级学生管理
    • 成绩统计分析
  • 👨‍💼 管理员端

    • 课程管理(创建、编辑、删除)
    • 学生管理(批量导入、编辑)
    • 教师管理
    • 系统配置

技术亮点

  • 权重评分系统:题目分数自动加权,最终成绩标准化为100分
  • 📎 智能附件管理:每个题目独立上传多个附件,查看时分题目展示
  • 🔄 灵活提交机制:截止前可多次修改提交,自动标记迟交状态
  • 🎨 现代化UI:基于 Shadcn UI,响应式设计,深色模式支持
  • 🚀 高性能:React Query 数据缓存,FastAPI 异步处理

技术栈

前端

  • 框架: React 18 + TypeScript + Vite
  • 路由: React Router v6
  • 状态管理: TanStack Query (React Query) v5
  • UI组件: Shadcn UI + Tailwind CSS
  • 图标: Lucide React
  • 通知: Sonner

后端

  • 框架: FastAPI (Python 3.9+)
  • 数据库: MySQL 8.0
  • ORM: PyMySQL (原生SQL)
  • 认证: JWT Token
  • 文件上传: FastAPI UploadFile + 本地存储

快速开始

环境要求

  • Node.js 18+ 和 npm/pnpm
  • Python 3.9+
  • MySQL 8.0+

1. 数据库初始化

# 导入数据库脚本
mysql -u root -p < hms_db_2025-12-03_225202.sql

2. 后端启动

cd backend

# 安装依赖
pip install -r requirements.txt

# 配置环境变量(复制.env.example并修改)
cp .env.example .env

# 启动服务
python main.py

后端将在 http://localhost:8080 启动

API文档: http://localhost:8080/docs

3. 前端启动

cd assignment-hub-main

# 安装依赖
npm install

# 启动开发服务器
npm run dev

前端将在 http://localhost:5173 启动


⭐ 如果这个项目对你有帮助,欢迎 Star!

About

一个基于 React + FastAPI 的现代化在线作业管理系统,支持学生作业提交、教师批改、成绩管理等功能。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published