2015-06-02 37 views
-4

首先让我首先说这不是一个如何去做的问题。一般建议 - 理解食品订购系统的构建

我最近从Pizza Hut在线订购了披萨,我注意到他们有令人敬畏的订购系统,这让我想知道如何构建这些类型的系统,实际上我对接收订单的应用更感兴趣,是这只是一个典型的电子邮件客户端,他们检查新的电子邮件(订单),还是每次在数据库中输入新项目时刷新的应用程序?

订购系统的部件是什么?

可能零件......处理订单和金钱交易

  • 的HTML/PHP的形式。
  • 存储用户/客户端发送的信息的数据库。
  • 从数据库或电子邮件客户端获取条目的应用程序。 etc ...

关于如何构造这些系统的任何想法?

我需要练习我的PHP/SQL/Laravel技能,我认为这个系统将是一个很好的现实世界实践。

非常感谢

+0

没有人弯腰开发这样的应用程序... – user1844933

+1

前端可能与处理订购和交付流程的CRM + SCM和ERP解决方案集成。你不想尝试从划痕你的代码 –

+2

有时你可以检查直接构建的东西......你可能知道很多,通过检查页面页脚上的小字母/链接,如:“关于我们”,“职业” ,X制作的设计“,这将使您对作者或技术/服务本身有所了解。如果您真的进入Web开发,您可以右键单击页面并检查代码,例如,使用Firebug插件你可以检查对他们的服务器(网络标签)做出哪些请求,他们使用哪些javascript插件,或者是否全部由他们制作。 – Armfoot

回答

1

您需要的订单一个表,让我们把它称为“TempOrders”:

  1. ID(自动增量)
  2. FoodItem(1 =比萨,2 =芬达,3 =冰淇淋...)
  3. 数量
  4. 表/台(用于分组订单,网上订购也可能是虚表)

功能:创建帐单(关闭订单,选择付款类型,打印帐单)。如果成功,将记录移动到另一个类似的表格,我们称之为“OrdersArchive”。

在班次/日期结束时,TempOrders应为空,并且所有记录都将移至OrdersArchive。

当然,您还需要FoodItems的表格,最好包含食品类型(食品,饮料,香烟等),因为您可能需要报告。

我的建议是在FoodItems表和TempOrders/OrdersArchive中都有一个价格属性,因为当价格变化时,处理它会容易得多(尽管它违反了数据库标准化)。

此外,您可以使用单独的表格作为OrderHeader而不是Table/Desk属性。这样工作,您可以拥有清晰的主从结构(如果您喜欢这种方式)。

我不认为电子邮件是这种系统的好主意,在当今世界每个人都希望在线应用得到即时响应。如果您的可乐或咖啡缺货,该怎么办?您需要立即将该信息发回给客户。

+0

'我不认为电子邮件对于这种系统是个好主意,在今天世界上每个人都希望在线应用程序得到即时响应。“那么,你会说餐厅会有一个独特的界面,他们看到的订单每隔几秒从”TempOrders“db获取订单吗?非常感谢您的建议 –

+1

只是poi这种电子邮件对于这类业务来说相当缓慢。大约10年前,它是可以的,但是今天我们有大量的技术可以在代码量相当的情况下做得更好。请参阅“http://en.wikipedia.org/wiki/Web_API –

+0

明白了,我确实熟悉那些我从未在真实世界中看到过这些类型的系统的技术,我想知道他们是否仍然使用电子邮件作为获取订单的主界面或iPhone/iPad,Android或在线应用程序,非常感谢您的建议, –