a0e9cf7e02bc417cdd5c88f0ad5f78319cb7447f
作业工坊
前端使用 Next.js,后端使用 Go + SQLite。前端用户无需登录,通过输入用户名管理自己的作业;支持多张图片上传或在线拍照,可选裁剪,直接提交给 LLM 批改并输出 Markdown。
快速启动(生产)
- 确保
homework.hao.workDNS 指向部署服务器。 - 在根目录配置
.env(已提供示例)。 - 运行:
docker compose up -d --build
- Nginx 反向代理(示例已配置在
/etc/nginx/sites-enabled/homework.hao.work):- 前台代理:
http://127.0.0.1:3000 - 后端代理:
http://127.0.0.1:8080 - HTTPS 证书由 certbot 自动续期(证书路径
/etc/letsencrypt/live/homework.hao.work/)。
- 前台代理:
访问:
- 前台:https://homework.hao.work
- 后台:https://homework.hao.work/backend(默认账号:admin / whoami139)
主要接口
GET /api/assignments?username=xxxPOST /api/assignmentsmultipart/form-data:username、title、images(可多张,按上传顺序)PUT /api/assignments/{id}multipart/form-data:username、title、images(重新上传并重新批改)GET /api/assignments/{id}?username=xxxDELETE /api/assignments/{id}?username=xxx
说明
- SQLite 数据库存储在
backend/data/homework.db,图片存储在backend/data/uploads。 - LLM 500 错误会自动重试(次数由
.env控制)。
描述
语言
Go
53.3%
TypeScript
33.5%
CSS
9%
HTML
2.8%
Dockerfile
1.2%
其它
0.2%