# 作业工坊 前端使用 Next.js,后端使用 Go + SQLite。前端用户无需登录,通过输入用户名管理自己的作业;支持多张图片上传或在线拍照,可选裁剪,直接提交给 LLM 批改并输出 Markdown。 ## 快速启动(生产) 1. 确保 `homework.hao.work` DNS 指向部署服务器。 2. 在根目录配置 `.env`(已提供示例)。 3. 运行: ```bash docker compose up -d --build ``` 4. 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=xxx` - `POST /api/assignments` `multipart/form-data`:`username`、`title`、`images`(可多张,按上传顺序) - `PUT /api/assignments/{id}` `multipart/form-data`:`username`、`title`、`images`(重新上传并重新批改) - `GET /api/assignments/{id}?username=xxx` - `DELETE /api/assignments/{id}?username=xxx` ## 说明 - SQLite 数据库存储在 `backend/data/homework.db`,图片存储在 `backend/data/uploads`。 - LLM 500 错误会自动重试(次数由 `.env` 控制)。