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

7.4 KiB

[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/,进入【2027届全栈开发实战:大作业提交】WPS表单,按页面提示逐项填写信息、上传视频与配套源码材料。
  3. 表单填报必填项:如实填写本人姓名、对应技术方向、所属学校、完整学号,规范上传合规演示视频,据实填写本次作业收获与开发难点,无特殊疑问正常提交即可。

七、拓展设计方案思考题(必答,无需编码实现)

  1. 额外新建文件:answer.md,专门用来写本题答案。
  2. 设计题目:未来所有的系统都应该可以和AI Agent进行交互和对话。如果需要对接集成到 OpenClaw或者Hermes等三方AI Agent 平台中,请你详细写出完整接入实施方案,只写设计思路与流程,不需要写任何代码实现。
  3. 答题要求:逻辑清晰、步骤完整,所有细节都有考虑到。