A homework submit-and-manage system for a class: requirements, development, testing, and deploy done end-to-end by me. The public demo strips real names, student IDs, school branding, and homework files.
Live demo (demo accounts below)
Why this
Collecting homework via WeChat file drops was painful — many courses, many rounds, plus individual vs group work. I wanted something “as simple as a WeChat roll-call”: no register/login; open the page, pick a name, upload a file.
Core design
- Login-free submit: classmates use a submit code to submit, view, and manage their own work — zero learning curve
- Per-course groups: each course has its own groups; students can join/switch; admins set group caps, lock grouping, or drag-assign
- Individual / group homework: group work shows a check-wall by group; any member can submit for the whole group
- Admin console: publish homework and deadlines, one-click zip download, missing list, proxy upload
- Teacher read-only link: passphrase embedded in a dedicated URL — open and view, no typing
Public demo notes
The demo has no real personal data:
- Students show as “Student 01 … Student 50”
- Course names are generic demo courses
- No school logo, no real homework attachments
Admin: admin1 / admin2, password demo123456
Deploy & ops
- Aliyun Linux, gunicorn + Nginx (path
/homework/)
- Upgrades keep the database and upload dirs; smooth restart
What I learned
Requirements keep changing; real user feedback beats any guess. This project took me through a full “requirements → build → deploy → ops → iterate” loop, and it was the first production server I owned end-to-end.
给班级做的作业提交与管理系统:从需求分析、开发、测试到部署上线全程独立完成。公开演示版已去掉真实姓名、学号、学校标识与作业文件。
在线演示(演示账号见下方)
为什么做这个
班级收作业一直靠微信群传文件,课程多、次数多、还分个人作业和小组作业,学习委员整理起来非常痛苦。我想做一个「像微信接龙一样简单」的收作业工具:不用注册登录,点开选姓名、传文件就完事。
核心设计
- 免登录提交:同学凭提交码即可提交、查看和管理自己的作业,零学习成本
- 按课程分组:每门课独立分组,同学可自助加组/换组,管理员可设组数上限、锁定分组、拖拽指派
- 个人 / 小组两种作业类型:小组作业按组显示打勾墙,任一组员可代表全组提交
- 管理员工作台:发布作业与截止时间、一键打包下载、未交名单、代传
- 教师只读链接:口令嵌在专属链接里,点开即看,无需输入
公开演示说明
演示站不含真实个人信息:
- 学生显示为「同学01 … 同学50」
- 课程名为通用演示课
- 无学校 logo、无真实作业附件
管理员:admin1 / admin2,密码 demo123456
部署与运维
- 阿里云 Linux,gunicorn + Nginx(路径
/homework/)
- 升级时保留数据库与上传目录,平滑重启
我学到了什么
需求会一直变,真实用户的反馈比任何设想都值钱。这个项目让我完整走了一遍「需求 → 开发 → 部署 → 运维 → 迭代」的循环,也是我第一次对一台生产服务器负责。