【课堂管理】基于React+Flask的班级积分管理系统

基于React+Flask的班级积分管理系统

一个基于React + Flask的班级积分管理系统,支持班级管理、学生积分跟踪、兑换物品管理、排行榜展示等功能。

项目地址:https://github.com/atuo-200/classMaster

安装与运行

后端

cd backend
pip install -r requirements.txt
python app.py

前端

cd frontend
npm install
npm start

一键式运行

在安装好后端(pip install -r requirements.txt)及前端所需依赖包(npm install)之后,也可双击项目文件夹里的start.bat运行该项目,班级积分管理页面会自动打开。

使用说明

1.班级管理

  • 创建班级:快速创建新的班级。
  • 批量导入学生名单:点击“下载模板”下载Excel模板文件,填写学生学号、姓名,然后点击“导入学生”上传填写好的学生名单文件,即可完成导入。
  • 删除班级:安全删除班级(为防止误触,需要密钥验证,密钥默认为123456,如需修改可在项目文件夹下的backend\app.py中修改app.config[‘SECRET_KEY’]字段)。
  • 班级列表:查看所有班级及学生数量统计。
    在这里插入图片描述

2.学生管理

  • 学生列表:查看班级学生信息及积分状态
    在这里插入图片描述

  • 单个添加/删除学生:支持手动添加单个学生信息以及手动删除单个学生信息。

  • 加分/扣分:可为每个学生加扣分,可默认加/扣1分,或者根据“加/扣分规则”中设置的规则来进行加/扣分。
    在这里插入图片描述

  • 兑换奖品:可根据学生的兑换币数量为其兑换奖品,需要在“兑换设置”中设置兑奖的项目。
    在这里插入图片描述

3.加/扣分规则管理

为加/扣分添加、编辑、删除规则。

在这里插入图片描述

4.兑换设置

设置兑奖项目:名称、描述以及所需兑换币数量等。

在这里插入图片描述

5.段位管理

设置段位名称、段位代表颜色、所需积分区间等等。以下是简单的段位设置参考:

段位名称 积分区间 段位描述
最强学霸 180~200分 每节课近乎满分,额外挑战全部完成!
荣耀学尊 160~179分 稳定高效完成任务,积极参与所有环节
永恒钻石 140~159分 作业全勤+高质量,纪律优异,主动回答问题
尊贵铂金 110~139分 按时完成任务,遵守纪律,偶尔回答问题(达标中上水平)
荣耀黄金 80~109分 基础任务完成,纪律合格(中等努力即可达到)
秩序白银 50~79分 缺勤部分任务或纪律分,需加强参与
倔强青铜 20~49分 任务漏交较多,课堂参与度低

在这里插入图片描述

6.排行榜

积分排行榜、兑换币排行榜、段位统计数据实时显示。

在这里插入图片描述

7.随机点名

随机从班级中抽取学生。

在这里插入图片描述

开发说明

技术栈

前端:React + TypeScript + Ant Design

后端:Flask + SQLAlchemy + SQLite

文件处理:openpyxl (Excel处理)

数据库数据模型

1. 班级表(Class)
字段名 类型 是否必填 默认值 说明
id Integer - 主键
name String(100) - 班级名称
created_at DateTime 当前时间 创建时间
2.学生表(Student)
字段名 类型 是否必填 默认值 说明
id Integer - 主键
name String(100) - 学生姓名
student_id String(50) - 学号
points Integer 0 当前积分
exchange_coins Integer 0 可兑换的硬币数
class_id Integer - 所属班级ID
created_at DateTime 当前时间 创建时间
3. 兑换物品表(ExchangeItem)
字段名 类型 是否必填 默认值 说明
id
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值