Skip to content
xiaochu edited this page Oct 20, 2026 · 16 revisions

在线购物系统(第 5 组)项目 Wiki

《软件工程实践(Ⅰ)》2026-2027-1 学期 | 项目主题:在线购物系统(挑战升级)

组长:胡成溯 | 组员:黄程宇、周到(产品经理)| 开发方式:Scrum,两周一个迭代,共 7 次评审

项目简介

基于统一基线需求的「单商品售卖」在线购物系统:卖家登录后台发布商品,买家提交购买意向,系统按先到先得排队、口令码撤销、进入交易自动冻结、交易结果由卖家标记。本学期在此基线上按迭代逐步升级为多商品、多用户、在线支付的完整系统。

注意:基线原文是「买家不用注册」。第 2 次迭代起改为「浏览不拦截、下单必须登录」(依据挑战需求 A.2.1 与《挑战需求A-澄清问答记录》),原「手填姓名电话」的路径已取消。

当前进度(第 2 次迭代,2026-10-09 ~ 10-22):技术栈由 Python/FastAPI 迁移至 Java 17 + Spring Boot 3 + MyBatis-Plus + Thymeleaf + SQLite,同时按挑战需求 A(A.1 商品管理升级 5 条 + A.2 客户升级 3 条)重排迭代范围。分工按「一人一模块、代码包零交叉」:账号与客户(胡成溯,auth/ buyer/ admin/)、商品中心(黄程宇,product/)、买家门户与交易(周到,portal/),跨模块只走 Service 接口。迭代 1 的 Python 版本保留在 main 分支作为原型参考;迭代 2 的代码在 iter2-java 分支。

需求覆盖情况与逐条任务拆解见《工作任务表 v4.0》;口径以《挑战需求A-澄清问答记录》为准。

文档导航

需求基线

设计与部署

迭代 1 基线版(Python 3.12 + FastAPI,baseline-v1.0)—— 第 1 次成果验收的交付对象

  • 架构设计与数据库表结构 —— 三表 DDL、FastAPI 分层、双状态机、队列递补算法、REST 接口清单
  • 构建过程手册 —— build.py 构建步骤、产物 dist/online-shopping-group5-1.0.0.zip、Docker 镜像构建
  • 部署手册 —— Python 环境、pip install、端口 8000、Docker 部署、评审演示动线
  • 口令码与队列规则说明 —— 口令码生命周期与队列递补设计(8 位 token_hex(4),FR-04 待细化项落地)

迭代 2(Java 17 + Spring Boot 3.3.5,iter2-java 分支)

迭代 2 · 账号与客户(胡成溯)

评审报告

成果验收

  • 阶段性成果验收 —— 成果验收总入口(课程要求的固定首页,各次验收记录都挂在这里,提交给助教的就是这个地址)
  • 第1次成果验收 —— 基线需求验收(五类成果物清单)

快速入口

迭代 2(Java / Spring Boot,默认)

  • 买家门户入口:http://localhost:8080/buyer/register(注册)/ http://localhost:8080/buyer/login(登录)
  • 卖家登录:http://localhost:8080/login(初始账号 admin / admin12345,首登后请改密)
  • 卖家后台:http://localhost:8080/admin
  • 基座自检:http://localhost:8080/admin/diagnostics(实时查看四张表的结构与行数)
  • 启动方式:双击仓库根目录 run.bat,或执行 mvnw.cmd spring-boot:run

迭代 1(Python / FastAPI 原型,保留对照)

  • 买家页面:http://127.0.0.1:8000/product

  • 卖家后台:http://127.0.0.1:8000/admin

  • 仓库源代码:https://github.com/xiaochu-dev/online-shopping-group5

个人汇报

Clone this wiki locally