校园二手交易平台
让校内闲置物品在可信身份下更快完成发布、检索、沟通和线下交付。
01 / PROBLEM
一句话
校内交易群信息沉淀差、检索困难,买卖双方也难以判断对方是否属于校园社区。
02 / CONTEXT
背景与目标
课程设计阶段对 80 名学生进行访谈后发现,发布门槛和沟通效率比复杂支付更关键。项目因此聚焦可信身份、结构化商品信息和轻量沟通。
- 让用户在三分钟内完成商品发布。
- 支持关键词、分类、价格与校区组合筛选。
- 建立从发布到下架的完整状态流转和内容治理能力。
03 / ROLE
我的角色
项目负责人 / 全栈开发
- 负责需求访谈、领域模型、迭代排期和最终部署。
- 完成商品、收藏、消息和管理端核心接口。
- 设计移动优先界面并推动可访问性与性能优化。
04 / STACK
技术栈
05 / SYSTEM
架构图 / 数据流
Vue 客户端通过 REST API 访问 Spring Boot 服务;PostgreSQL 保存交易事实,Redis 缓存热门列表和会话,对象存储承接图片资源。
06 / FEATURES
核心功能
结构化发布
通过表单模板、图片压缩和草稿保存降低发布成本。
组合检索
支持分类、价格、校区和关键词多条件筛选。
状态化交易
覆盖在售、预订、完成、下架与申诉状态,避免线下沟通失控。
07 / TRADE-OFFS
难点与解决方案
商品列表筛选随条件增加快速变慢
为高频组合建立复合索引,将热门首页缓存,并用游标分页替代大偏移分页。
图片上传导致移动端发布中断
客户端先压缩与裁切,服务端异步生成缩略图,上传失败时保留草稿并支持重试。
08 / OUTCOME
结果
在课程项目灰度测试中服务 1,200+ 名用户,商品列表 P95 为 340ms,平均发布耗时缩短到 2.6 分钟。
1,200+测试用户
340ms列表 P95 响应10 万条模拟商品数据
2.6min平均发布耗时
78%次周留存课程项目灰度测试
09 / SCREENS
截图或 GIF
10 / LINKS
Demo / 代码仓库
11 / RETROSPECTIVE
复盘
如果重做,我会更早拆分交易履约和社区治理边界,并增加端到端监控;同时应该限制首版范围,把聊天能力延后到核心交易闭环稳定之后。