文件
homework/README.md
2026-02-01 13:38:57 +08:00

1.4 KiB
原始文件 Blame 文件历史

作业工坊

前端使用 Next.js,后端使用 Go + SQLite。前端用户无需登录,通过输入用户名管理自己的作业;支持多张图片上传或在线拍照,可选裁剪,直接提交给 LLM 批改并输出 Markdown。

快速启动(生产)

  1. 确保 homework.hao.work DNS 指向部署服务器。
  2. 在根目录配置 .env(已提供示例)。
  3. 运行:
docker compose up -d --build
  1. 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/)。

访问:

主要接口

  • GET /api/assignments?username=xxx
  • POST /api/assignments multipart/form-datausernametitleimages(可多张,按上传顺序)
  • PUT /api/assignments/{id} multipart/form-datausernametitleimages(重新上传并重新批改)
  • GET /api/assignments/{id}?username=xxx
  • GET /api/assignments/{id}/corrected?username=xxx&index=0
  • DELETE /api/assignments/{id}?username=xxx

说明

  • SQLite 数据库存储在 backend/data/homework.db,图片存储在 backend/data/uploads
  • LLM 500 错误会自动重试(次数由 .env 控制)。