Add feedback loop and course deliverables
基于 Django 4.x + Vue 3 的前后端分离在线点单与订单管理平台,面向小型餐饮门店。支持顾客线上下单、余额支付、订单实时追踪,以及商家端的订单处理与菜品管理。
以下截图待补充,可替换为实际运行截图。
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/ci-cd.md
order_system/ ├── backend/ # Django 后端 │ ├── config/ # Django 配置(settings, urls, wsgi) │ │ ├── settings.py # 数据库、CORS、DRF、静态文件 │ │ └── urls.py # 根路由 + 静态文件映射 │ ├── orders/ # 核心应用 │ │ ├── models.py # 7 个数据模型 │ │ ├── serializers.py # DRF 序列化器 │ │ ├── views.py # 23 个 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/ # 文档 │ ├── 编码实现报告.md │ └── screenshots/ ├── .gitignore ├── .env.example # 环境变量示例 ├── LICENSE # MIT 开源协议 └── README.md # 本文件
archive/ 目录包含旧版 C++/cpp-httplib 实现,仅供归档参考。
archive/
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/
http://127.0.0.1:8080/merchant/
运行 python manage.py seed_data 后自动创建。
python manage.py seed_data
demo
123456
merchant1
所有接口遵循统一响应格式 {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/merchant/login
/api/merchant/orders
/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/编码实现报告.md。
docs/编码实现报告.md
7 张核心表:
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
本项目最初为 C++/cpp-httplib 实现的单文件后端 + 原生 HTML 前端。后通过 Vibe Coding(AI 辅助对话式开发)重构为 Django + Vue 3 全栈架构。详细的开发过程、问题修复记录及功能与需求的对应关系,请参阅 docs/编码实现报告.md。
欢迎提交 Issue 和 Pull Request!
git checkout -b feature/xxx
git commit -m 'Add xxx'
git push origin feature/xxx
本项目采用 MIT 许可证。
最后更新:2026-06-22
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
智慧点单系统 (Smart Order System)
基于 Django 4.x + Vue 3 的前后端分离在线点单与订单管理平台,面向小型餐饮门店。支持顾客线上下单、余额支付、订单实时追踪,以及商家端的订单处理与菜品管理。
功能特性
项目截图
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/sdd-harness.mddocs/ai-engineering-log.mddocs/community-operation.mddocs/team-collaboration.mddocs/defense-outline.mddocs/ci-cd.md技术栈
项目结构
快速开始
前置条件
后端安装
前端开发
前端生产构建
构建后访问
http://127.0.0.1:8080/customer/和/merchant/。访问地址
http://127.0.0.1:8080/customer/http://127.0.0.1:8080/merchant/测试账号
demo123456merchant1123456API 概览
所有接口遵循统一响应格式
{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/merchant/login/api/merchant/orders/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/编码实现报告.md。数据模型
7 张核心表:
架构说明
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中的静态文件路由。开发历程
本项目最初为 C++/cpp-httplib 实现的单文件后端 + 原生 HTML 前端。后通过 Vibe Coding(AI 辅助对话式开发)重构为 Django + Vue 3 全栈架构。详细的开发过程、问题修复记录及功能与需求的对应关系,请参阅
docs/编码实现报告.md。贡献指南
欢迎提交 Issue 和 Pull Request!
git checkout -b feature/xxx)git commit -m 'Add xxx')git push origin feature/xxx)许可证
本项目采用 MIT 许可证。
最后更新:2026-06-22