易宝校园二手交易平台产品系统Vibe Coding

我要开发同款
proginn20010489312026年09月24日
5阅读

技术信息

语言技术
PHPJavaHTML5CSSJavaScript
系统类型
Web
行业分类
项目任务教育校园

作品详情

行业场景

本项目面向高校校园闲置物品交易场景。立项原因是:大学生群体教材、数码、生活用品更新换代快,大量闲置物品(考研教材、二手iPad、健身器材等)被直接丢弃或堆置,同时有需求的同学又面临"买新品贵、找渠道难"的问题,信息不透明导致资源浪费。市面上闲鱼等平台缺少校园场景的信任背书与近距离交易便利性。

业务背景上,校园内二手交易需求高频且集中(开学季教材流转、毕业季甩卖),交易双方多为同校师生,天然具备熟人信任与当面验货条件,但一直缺乏一个集中的线上交易场所。本项目定位为校园内 C2C 二手交易平台,通过实名账号、平台担保式订单流程(下单→卖家确认→买家收货)、站内即时沟通降低交易摩擦,让闲置流通更高效可信。项目采用前后端分离架构,覆盖用户、商品、订单、消息、管理后台完整业务闭环,可作为实习项目的代表性作品。

功能介绍

我负责该项目的完整开发与验证:包括需求分析、数据库设计与建表脚本、后端全部接口与业务逻辑、核心机制的实现,以及前端页面开发、前后端联调和端到端验证。

技术栈与架构:后端采用 Spring Boot 2.7 + MyBatis-Plus + MySQL 8,JWT(jjwt)+ 拦截器做无状态鉴权,BCrypt 加密密码;前端采用 Vue 3 + Vite + Element Plus + axios,前后端分离,Vite 开发代理、Nginx 生产反向代理。

实现亮点与难点:
1. 防超卖:下单用条件更新 UPDATE product SET status=3 WHERE id=? AND status=1,数据库行锁原子占单,杜绝并发重复购买;
2. 订单快照:下单时冗余保存商品标题/图片/价格/卖家昵称,商品改价删除不影响历史订单;
3. 鉴权安全:JWT 无状态登录 + 拦截器统一校验 + ThreadLocal 用户上下文 + 管理端角色二次鉴权;
4. 逻辑删除:MyBatis-Plus 全局逻辑删除,误删可恢复;
5. 上传安全:扩展名白名单、UUID 重命名、绝对路径写入,并修复了 Windows 下 transferTo 相对路径失效问题;
6. 消息会话聚合:用 CASE WHEN 分组 SQL 实现"对方+商品"维度会话与未读数统计。

全部接口经端到端验证脚本 38/38 通过。

项目实现

我负责该项目的完整开发与验证:包括需求分析、数据库设计与建表脚本、后端全部接口与业务逻辑、核心机制的实现,以及前端页面开发、前后端联调和端到端验证。

技术栈与架构:后端采用 Spring Boot 2.7 + MyBatis-Plus + MySQL 8,JWT(jjwt)+ 拦截器做无状态鉴权,BCrypt 加密密码;前端采用 Vue 3 + Vite + Element Plus + axios,前后端分离,Vite 开发代理、Nginx 生产反向代理。

实现亮点与难点:
1. 防超卖:下单用条件更新 UPDATE product SET status=3 WHERE id=? AND status=1,数据库行锁原子占单,杜绝并发重复购买;
2. 订单快照:下单时冗余保存商品标题/图片/价格/卖家昵称,商品改价删除不影响历史订单;
3. 鉴权安全:JWT 无状态登录 + 拦截器统一校验 + ThreadLocal 用户上下文 + 管理端角色二次鉴权;
4. 逻辑删除:MyBatis-Plus 全局逻辑删除,误删可恢复;
5. 上传安全:扩展名白名单、UUID 重命名、绝对路径写入,并修复了 Windows 下 transferTo 相对路径失效问题;
6. 消息会话聚合:用 CASE WHEN 分组 SQL 实现"对方+商品"维度会话与未读数统计。

全部接口经端到端验证脚本 38/38 通过。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论