This repository has been archived on 2026-05-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
all-in-kingsoft/FinalHomework/大作业项目要求.md
T

86 lines
7.4 KiB
Markdown
Raw Normal View History

2026-05-09 13:26:15 +08:00
>[Warning] 此文件为只读,**禁止** AI 工具修改此文件
## 一、作业考核核心目标
1. 掌握 gRPC 两层服务架构调用,只拆分 Web 服务、Logic 业务服务,架构轻量化易上手。
2. 熟练使用 Gin 开发标准接口,~~实现 JWT 双角色登录~~、权限精准隔离管控。
3. 完成私有 OSS 全流程对接,使用签名 URL 安全完成简历上传、下载,保障文件访问安全。
4. 基于 Eino 框架实现前端 AI 对话,联动查询 MySQL 真实业务数据,全程不做向量、不做 RAG、不做简历智能匹配。
5. 本次不考察docker,前端技术栈随意。
6. key相关不提交(真实业务中是不需要提交的),提交了也不扣分,做好保护即可。
## 二、前后端开发硬性要求
### 1. 两套独立前端页面工程
1. HR 管理端前端:专属独立路由,包含岗位全量管理、候选人台账查看、AI 智能对话问答窗口。注意:有多个HR账号,随意注册HR或者候选人。一个用户只有一种角色。
2. 候选人用户端前端:专属独立路由,包含岗位浏览、账号注册登录、个人资料编辑、简历OSS上传、岗位一键投递。
3. 前端仅负责页面渲染、交互操作、接口请求,所有权限校验、文件处理、AI 逻辑、业务数据读写全部封装在后端,前端禁止写核心业务逻辑。
### 2. HR 管理端核心功能细节
1. 独立账号密码登录,后端统一签发、校验 JWT 令牌,无令牌禁止访问后台功能。
2. 自主新增、编辑、下架个人发布的招聘岗位,仅能管理本人创建岗位,无权操作他人岗位。
3. 分页查看所有岗位对应的投递候选人、结构化个人档案、OSS 云端简历记录。
4. 前端内置常驻 AI 对话窗口,支持自然语言问答,可查询投递总人数、单岗位投递统计、符合条件候选人筛选、岗位热度数据等MySQL后台真实数据。
5. AI 对话自动留存聊天记录入库,页面刷新后自动加载历史对话上下文,不丢失交互记录。
### 3. 候选人用户端功能
1. 游客免登录权限:无需注册、无需登录,即可直接浏览全平台公开岗位列表,无任何权限门槛。
2. 投递强制校验规则:仅注册并成功登录后,才会展示岗位投递按钮;未完善结构化个人资料、未上传合规简历,直接拦截投递请求,弹窗提示补齐资料。
3. 结构化个人档案:必填填写姓名、联系电话、最高学历、毕业院校、工作/项目经历、核心技能标签,所有信息实时存入MySQL,支持用户随时前端编辑、后端同步更新。可选功能:简历解析自动填充相关字段。
4. 简历文件格式强限制:仅支持 PDF、DOC、DOCX 三种标准办公格式,后端严格校验文件后缀与文件头,拦截图片、压缩包、TXT 等非法格式。简历此次只考察OSS上传,不与AI交互。
5. 合规简历直传私有OSS,生成签名访问链路,本地不缓存、不留存任何简历源文件。
## 三、技术架构硬性要求
1. Web 服务(Gin 网关层):仅负责接收前端 HTTP 请求、全局跨域处理、JWT 统一鉴权、请求参数合法性校验,不编写任何核心业务代码,所有能力全部通过 gRPC 远程调用 Logic 服务。
2. Logic 核心业务服务:集中承载全量后端逻辑,包含用户权限管控、岗位业务处理、私有OSS签名调度、MySQL全量数据读写、Eino AI对话封装,独立部署运行。
3. 通信强制规范:Web 服务与 Logic 服务之间,只允许 gRPC 远程跨服务调用,禁止同工程本地函数直连调用,守住微服务分层考点。
4. 数据存储:采用MySQL数据库、岗位数据、候选人结构化档案、岗位投递关联数据、AI对话历史记录。
5. 文件存储:所有合规简历文件仅归档至私有OSS Bucket,严禁本地文件夹临时存储兜底。
## 四、私有 OSS 硬性落地规范
1. 学生自主完成OSS平台注册,手动创建专属私有Bucket,彻底关闭匿名访问、公开读权限,保障简历隐私安全。
2. OSS密钥、访问域名、Bucket名称等敏感配置,统一写入独立配置文件,禁止硬编码写入业务代码提交仓库。
## 五、Eino 框架使用规范+AI对话增强细节
1. 轻量化使用:仅调用Eino基础Chat对话组件。
2. AI业务问答固定流程:HR输入自然语言提问 → 后端解析意图查询MySQL真实业务数据 → 拼接标准业务上下文+用户问题 → 调用Eino推送大模型 → 返回规范自然语言统计回答。
3. 对话持久化增强:每一条HR提问、AI回复自动成对存入MySQL对话历史表,绑定HR管理员账号ID。
4. 前端会话联动:HR重新进入AI对话页面,自动从MySQL加载过往全部聊天上下文,延续历史问答交互。
5. 底线要求:必须完整引用Eino框架依赖编程,禁止裸写HTTP接口直连大模型完成AI功能糊弄验收。
## 六、标准化目录结构
所有代码放到:git根目录/final_homework/ (注意没有homework这一层)
1. 📁 hr-frontend 文件夹:存放完整HR管理端前端全部源码
2. 📁 user-frontend 文件夹:存放候选人用户端前端全部源码
3. 📁 web-gin-service 文件夹:完整Gin Web网关服务工程代码
4. 📁 logic-grpc-service 文件夹:完整Logic核心业务gRPC服务代码
5. 📄 api.md:项目接口说明文档,统一规范所有前后端对接接口
6. 📄 db.md:数据库设计文档,包含所有数据表结构、字段说明、关联关系
7. 📄 README.md:项目完整启动部署文档,写明环境配置、服务启动顺序、OSS密钥配置方式,项目亮点等
## 六、作业提交与视频录制规范要求
### 1. 视频硬性录制要求
1. 视频:禁止额外剪辑拼接、后期特效包装,保证原生实操画面真实有效。
2. 视频必录核心内容:完整演示系统全链路核心实操功能;口述讲解本次作业两大核心技术点:两层gRPC服务调用逻辑、私有OSS签名URL安全上传下载;可自愿补充Eino基础对话实操要点、个人开发优化思路,无额外无关冗余内容。
3. 全程实操配合:后台服务启动、前端页面操作、接口联调等全流程,同步搭配实时语音讲解,禁止无声黑屏静默录制。
### 2. 统一提交格式与提交入口
1. 视频文件命名强制规范:严格按照格式命名,姓名_学号_全栈大作业.mp4,禁止私自修改命名格式、随意缩写信息。
2. 固定提交地址:统一线上填报提交,提交入口:[https://f.kdocs.cn/g/Qvi7GT0p/](https://f.kdocs.cn/g/Qvi7GT0p/),进入【2027届全栈开发实战:大作业提交】WPS表单,按页面提示逐项填写信息、上传视频与配套源码材料。
3. 表单填报必填项:如实填写本人姓名、对应技术方向、所属学校、完整学号,规范上传合规演示视频,据实填写本次作业收获与开发难点,无特殊疑问正常提交即可。
## 七、拓展设计方案思考题(必答,无需编码实现)
1. 额外新建文件:**answer.md**,专门用来写本题答案。
2. 设计题目:未来所有的系统都应该可以和AI Agent进行交互和对话。如果需要对接集成到 OpenClaw或者Hermes等三方AI Agent 平台中,请你详细写出完整接入实施方案,只写设计思路与流程,不需要写任何代码实现。
3. 答题要求:逻辑清晰、步骤完整,所有细节都有考虑到。