最近公司有个开发点餐项目的需求,结合现有技术架构和个人对项目目标的理解,开发了如下系统。
开发目标
分用户端和餐厅端,用户端是点餐人员使用,餐厅端是厨师使用。利用websocket,餐厅端实时接收用户端提交的订单,并作出语音提醒,同时自动刷新页面。餐厅端可以分配房间 ,用户端可以根据分配的房间 提前进入房间等待上菜。
前端采用vue/uniapp
vue系列语法简单,个人喜欢用VUE写前端
用户端功能简介
根据菜品数量实时计算每个菜品的价格,并在下方做总合计;
可以选择用餐人数,用餐时间和填写订单备注;
我的订单页面查看自己的订单;
部分截图:
餐厅端功能介绍
采用了websocket技术,实时接收用户端提交的订单信息,并作出语音提醒;
未完成订单页面汇总所有用户端的提交的订单;
点击未完成订单页面的完成订单按钮可以完成此订单,此订单转移到已完成页面;
菜品管理页面可以添加菜品和修改菜品,支持图片拍照上传。
后端使用 Django REST framework框架
用于构建前后端分离的API接口。
后台部分表截图:
数据库设计
这步是关键,外键主键,多对多关系要理清。好的数据库结构,会使项目事半功倍,条理清晰。
服务器部署
使用nginx + gunicorn,
这里抛弃了uwsgi,因为经过多次尝试,uwsgi无法实现websocket,所以改用了gunicorn。
总结
经过开发,自己进一步熟习了django数据库设计,和1个完整项目的开发上线流程。
所谓大道至简,简单粗暴,效率高才是真理。python的django框架和前端的vue系列都体现了这一点。人生苦短,我用python,我喜欢简单好用的框架语言。我是梦回她乡,下次见。
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树Web应用开发 Django208731 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!