二手 3C 零售(笔记本回收与转售)场景。回收验机后按成色分级入库(A 准新 / B 轻微使用痕迹 / C 明显痕迹 / D 有瑕疵),同一型号的多台机器配置与成色各不相同,客户咨询时需要针对具体机器报价,成交后扣减对应库存。
原业务用 Excel 手工记账,导致三类问题:同型号不同成色报价错报、库存数与实物对不上、成本价放在共享表格里对员工和客户都可见,利润空间外泄。立项目的就是把商品、库存、报价、权限收敛到一条可追溯的流程里。客户多为个人买家,习惯微信沟通,因此报价需要做成扫码即看、手机直接打开的链接,避免让客户装 APP 或注册登录。
系统包含五个模块:
1. 经营看板:在售 SKU、库存台数、库存货值、库存成本、预计毛利,以及成色分布与低库存预警;
2. 商品管理:商品增删改查,按品牌型号搜索,按成色与状态筛选,支持分页;
3. 库存出入库:记录变动数量与原因,与库存流水同事务写入,超卖和负库存直接拦截;
4. 库存流水与操作审计:出入库全程可追溯;登录、增删改商品、生成分享链接等关键动作全部留痕,登录失败也落库;
5. 客户报价页:一键生成带签名与有效期的链接和二维码,客户手机扫码查看配置、成色、售价与现货状态,可复制报价信息转发。
界面按角色动态渲染:管理员可见成本与毛利,员工看不到成本列,客户仅可浏览商品。
(约 300 字)
## 3. 项目实现 独立完成需求梳理、数据模型设计、后端接口、管理后台页面与部署方案。
技术栈:Python / FastAPI / SQLAlchemy 2.0 / Pydantic v2 / JWT / Vue 3 / SQLite(可切 MySQL)/ pytest / Docker + Caddy。
实现要点与难点:
系统包含五个模块:
1. 经营看板:在售 SKU、库存台数、库存货值、库存成本、预计毛利,以及成色分布与低库存预警;
2. 商品管理:商品增删改查,按品牌型号搜索,按成色与状态筛选,支持分页;
3. 库存出入库:记录变动数量与原因,与库存流水同事务写入,超卖和负库存直接拦截;
4. 库存流水与操作审计:出入库全程可追溯;登录、增删改商品、生成分享链接等关键动作全部留痕,登录失败也落库;
5. 客户报价页:一键生成带签名与有效期的链接和二维码,客户手机扫码查看配置、成色、售价与现货状态,可复制报价信息转发。
界面按角色动态渲染:管理员可见成本与毛利,员工看不到成本列,客户仅可浏览商品。
独立完成需求梳理、数据模型设计、后端接口、管理后台页面与部署方案。
技术栈:Python / FastAPI / SQLAlchemy 2.0 / Pydantic v2 / JWT / Vue 3 / SQLite(可切 MySQL)/ pytest / Docker + Caddy。
实现要点与难点:
1. 字段级权限不靠前端隐藏,而在序列化层按角色裁剪,成本价、毛利、精确库存在接口出口处即被移除,改前端也绕不过去;
2. 出入库变更与流水记录放在同一事务,库存不足直接拒绝,避免并发超卖;
3. 登录按 IP 做滑动窗口限流,失败同样写审计日志,便于排查暴力尝试;
4. 客户报价链接用 HMAC-SHA256 对「商品 ID + 过期时间」签名,无状态、7 天失效,篡改 ID 即校验失败,无法遍历商品;
5. 后台是 Vue 3 单页应用但由后端静态托管,不需要 Node 构建,配合 Docker Compose 一键部署。
交付时编写 19 条接口测试,覆盖越权、字段脱敏、超卖、伪造令牌等边界,全部通过。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论