Document GitLink scheduled pipeline
基于 Django 4.x + Vue 3 的前后端分离在线点单与订单管理平台,面向校园、小型餐饮门店和课程实践团队。项目不只提供顾客下单和商家履约,还把用户反馈、Issue 管理、自动化测试、CI/CD 和开源复用文档串成一个可持续迭代的样板工程。
详细价值分析见 docs/product-value.md。
docs/product-value.md
以下截图待补充,可替换为实际运行截图。
docs/screenshots/01_login.png
docs/screenshots/02_menu.png
docs/screenshots/03_cart.png
docs/screenshots/04_order.png
docs/screenshots/05_merchant_dashboard.png
本项目已按 2026 开源软件课程实践评分标准补充工程化材料:
docs/project-rubric-checklist.md
docs/sdd-harness.md
docs/ai-engineering-log.md
docs/community-operation.md
docs/team-collaboration.md
docs/defense-outline.md
docs/live-demo.md
docs/ci-cd.md
docs/pipeline-evaluation.md
docs/license-rationale.md
CHANGELOG.md
order_system/ ├── backend/ # Django 后端 │ ├── config/ # Django 配置(settings, urls, wsgi) │ │ ├── settings.py # 数据库、CORS、DRF、静态文件 │ │ └── urls.py # 根路由 + 静态文件映射 │ ├── orders/ # 核心应用 │ │ ├── models.py # 8 个数据模型 │ │ ├── serializers.py # DRF 序列化器 │ │ ├── views.py # 顾客端、商家端和反馈 API │ │ ├── urls.py # API 路由 │ │ ├── utils.py # 工具函数 │ │ └── management/commands/seed_data.py # 种子数据 │ ├── media/uploads/ # 菜品图片上传目录(gitignore) │ ├── static/ # 前端构建产物(gitignore) │ ├── manage.py │ ├── requirements.txt │ └── .env # 环境变量(不提交,见 .env.example) ├── frontend/ # Vue 3 前端 │ ├── src/ │ │ ├── api/index.js # Axios 实例 + 拦截器 + 所有 API │ │ ├── stores/ # Pinia stores (user/menu/cart/merchant) │ │ ├── components/ # 8 个组件 │ │ ├── views/ # 用户端 + 商家端页面 │ │ ├── App.vue # 用户端根组件 │ │ ├── MerchantApp.vue # 商家端根组件 │ │ ├── main.js # 用户端入口 │ │ └── merchant.js # 商家端入口 │ ├── index.html # 用户端 HTML 模板 │ ├── merchant.html # 商家端 HTML 模板 │ ├── vite.config.js # Vite 多入口配置 │ └── package.json ├── data/ # 示例数据 (JSON) ├── docs/ # 文档 │ ├── product-value.md │ ├── sdd-harness.md │ ├── live-demo.md │ └── license-rationale.md ├── scripts/ # Harness、代码审查和 Demo 脚本 ├── .gitignore ├── .env.example # 环境变量示例 ├── LICENSE # MIT 开源协议 └── README.md # 本文件
cd backend # 1. 创建虚拟环境(推荐) python -m venv venv # Windows venv\Scripts\activate # Linux/macOS source venv/bin/activate # 2. 配置环境变量(可选,使用默认值可跳过) cp .env.example .env # 编辑 .env,修改 SECRET_KEY 等配置 # 3. 安装依赖 pip install -r requirements.txt # 4. 数据库迁移 python manage.py migrate # 5. 初始化种子数据(测试账号 + 菜品) python manage.py seed_data # 6. 启动开发服务器 python manage.py runserver 0.0.0.0:8080 --noreload
cd frontend # 1. 安装依赖 npm install # 2. 启动开发服务器(Vite dev server 代理 API 到 :8080) npm run dev
cd frontend npm run build # 构建产物输出到 backend/static/,由 Django 直接服务
构建后访问 http://127.0.0.1:8080/customer/ 和 /merchant/。
http://127.0.0.1:8080/customer/
/merchant/
python scripts/run_harness.py
该脚本会依次运行 Django 系统检查、迁移漂移检查、后端测试和前端生产构建。答辩前、提交 PR 前和 CI/CD 都应以它作为质量门槛。
完整演示路线见 docs/live-demo.md。推荐流程:
demo / demo123
merchant1 / 123456
Windows 可使用一键演示脚本:
powershell -ExecutionPolicy Bypass -File scripts\start_demo.ps1
http://127.0.0.1:8080/merchant/
运行 python manage.py seed_data 后自动创建。
python manage.py seed_data
demo
demo123
merchant1
123456
所有接口遵循统一响应格式 {code: int, message: string, data: any}。
{code: int, message: string, data: any}
/api/user/register
/api/user/login
/api/user/profile
/api/user/recharge
/api/menu
/api/menu/categories
/api/cart
/api/cart/add
/api/cart/update
/api/cart/remove
/api/cart/clear
/api/order
/api/order/submit
/api/order/:id/cancel
/api/store/list
/api/feedback
/api/merchant/login
/api/merchant/orders
/api/merchant/feedback
/api/merchant/feedback/:id/status
/api/merchant/order/:id/accept
/api/merchant/order/:id/ready
/api/merchant/order/:id/complete
/api/merchant/menu
/api/merchant/menu/:id
/api/merchant/menu/:id/image
更多接口、验收和测试映射见 docs/sdd-harness.md。
8 张核心表:
X-User-Id
X-Merchant-Id
@transaction.atomic
select_for_update()
YYYYMMDDNNN
YYYYMMDD-NNN
backend/media/uploads/uploads/
vite.config.js
backend/config/urls.py
本项目最初从轻量点单原型演进而来,当前主线已重构为 Django + Vue 3 全栈架构,并补齐 SDD/Harness、CI/CD、自动代码审查、License 说明和开源协作模板。详细工程实践见 docs/sdd-harness.md 和 docs/ai-engineering-log.md。
欢迎提交 Issue 和 Pull Request!完整说明见 CONTRIBUTING.md。
git checkout -b feature/xxx
git commit -m 'Add xxx'
git push origin feature/xxx
Issue 模板位于 .github/ISSUE_TEMPLATE/,PR 模板位于 .github/PULL_REQUEST_TEMPLATE.md。
.github/ISSUE_TEMPLATE/
.github/PULL_REQUEST_TEMPLATE.md
本项目采用 MIT 许可证。选择 MIT 的原因是降低课程项目、校园试点和二次开发的复用门槛;使用者可以复制、修改、分发和商业使用,但必须保留版权声明和许可证文本。详细边界见 docs/license-rationale.md。
最后更新:2026-06-24
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
智慧点单系统 (Smart Order System)
基于 Django 4.x + Vue 3 的前后端分离在线点单与订单管理平台,面向校园、小型餐饮门店和课程实践团队。项目不只提供顾客下单和商家履约,还把用户反馈、Issue 管理、自动化测试、CI/CD 和开源复用文档串成一个可持续迭代的样板工程。
项目价值
详细价值分析见
docs/product-value.md。功能特性
项目截图
docs/screenshots/01_login.pngdocs/screenshots/02_menu.pngdocs/screenshots/03_cart.pngdocs/screenshots/04_order.pngdocs/screenshots/05_merchant_dashboard.png课程实践交付物
本项目已按 2026 开源软件课程实践评分标准补充工程化材料:
docs/project-rubric-checklist.mddocs/product-value.mddocs/sdd-harness.mddocs/ai-engineering-log.mddocs/community-operation.mddocs/team-collaboration.mddocs/defense-outline.mddocs/live-demo.mddocs/ci-cd.mddocs/pipeline-evaluation.mddocs/license-rationale.mdCHANGELOG.md技术栈
项目结构
快速开始
前置条件
后端安装
前端开发
前端生产构建
构建后访问
http://127.0.0.1:8080/customer/和/merchant/。一键 Harness 验证
该脚本会依次运行 Django 系统检查、迁移漂移检查、后端测试和前端生产构建。答辩前、提交 PR 前和 CI/CD 都应以它作为质量门槛。
Live Demo
完整演示路线见
docs/live-demo.md。推荐流程:demo / demo123。merchant1 / 123456,接单、制作完成、确认取走。python scripts/run_harness.py、CI/CD 和 License 说明。Windows 可使用一键演示脚本:
访问地址
http://127.0.0.1:8080/customer/http://127.0.0.1:8080/merchant/测试账号
demodemo123merchant1123456API 概览
所有接口遵循统一响应格式
{code: int, message: string, data: any}。/api/user/register/api/user/login/api/user/profile/api/user/recharge/api/menu/api/menu/categories/api/cart/api/cart/add/api/cart/update/api/cart/remove/api/cart/clear/api/order/api/order/submit/api/order/:id/cancel/api/store/list/api/feedback/api/merchant/login/api/merchant/orders/api/merchant/feedback/api/merchant/feedback/:id/status/api/merchant/order/:id/accept/api/merchant/order/:id/ready/api/merchant/order/:id/complete/api/merchant/menu/api/merchant/menu/:id/api/merchant/menu/:id/image更多接口、验收和测试映射见
docs/sdd-harness.md。数据模型
8 张核心表:
架构说明
X-User-Id/X-Merchant-Idheader@transaction.atomic+select_for_update()行级锁防止超卖YYYYMMDDNNN(日期 + 3 位序号)YYYYMMDD-NNN已知问题
backend/media/uploads/uploads/目录下存在历史双层嵌套的上传文件(已修复,旧文件未清理)。新上传的图片路径正常。vite.config.js后需同步更新backend/config/urls.py中的静态文件路由。开发历程
本项目最初从轻量点单原型演进而来,当前主线已重构为 Django + Vue 3 全栈架构,并补齐 SDD/Harness、CI/CD、自动代码审查、License 说明和开源协作模板。详细工程实践见
docs/sdd-harness.md和docs/ai-engineering-log.md。贡献指南
欢迎提交 Issue 和 Pull Request!完整说明见 CONTRIBUTING.md。
git checkout -b feature/xxx)。python scripts/run_harness.py。git commit -m 'Add xxx')。git push origin feature/xxx)。Issue 模板位于
.github/ISSUE_TEMPLATE/,PR 模板位于.github/PULL_REQUEST_TEMPLATE.md。许可证
本项目采用 MIT 许可证。选择 MIT 的原因是降低课程项目、校园试点和二次开发的复用门槛;使用者可以复制、修改、分发和商业使用,但必须保留版权声明和许可证文本。详细边界见
docs/license-rationale.md。最后更新:2026-06-24