项目一——点餐系统

    技术2022-07-15  71

    项目设计:MVC设计框架 M-model-数据管理 V-view-界面管理 C-controller-业务逻辑管理 浏览器访问一个餐馆页面 顾客:点击查看所有菜单;勾选菜品;进行下单 老板:上传菜品;修改菜品;查看菜品;查看订单;修改订单

    数据管理模块: 菜品数据管理;订单数据管理 数据通过mysql数据库进行数据管理

    数据库表的设计 菜品数据:菜品ID,菜品名称,菜品单价,修改时间 订单数据:订单ID,订单桌号,菜品信息,订单状态

    数据库操作的时候,在业务模块中并不能直接操作数据库,而是通过数据管理模块来进行操作 在数据管理模块实现所有数据库的操作,向外提供 接口功能。

    菜品数据管理:管理员上传菜品/修改菜品/删除菜品 顾客查询单个菜品/查询所有菜品

    业务逻辑模块: 实现浏览器客户端与服务端之间的网络通信,服务器针对客户端的请求进行业务处理

    顾客:访问页面,查看所有菜品/单个菜品信息;然后进行下单—菜品信息请求(单个/所有)/下单请求 老板:访问页面,上传/查看/修改/删除菜品信息;查看/修改/删除订单信息—菜品信息的上传/查看/修改请求/订单信息的查看/修改/删除请求

    网络通信 搭建http服务器;服务器这边根据不同的请求进行不同的业务处理; 使用第三方库cpp-httplib实现http服务器的搭建 服务器搭建成功后,客户端与服务端进行网络通信—设计网络通信接口(客户端发送什么样的请求,服务器给与什么样的响应)

    mysql在代码中的操作,目的就是自己搭建一个mysql客户端完成操作

    菜品信息的请求或者订单信息的请求: 上传-POST/查询–GET/修改-PUT/删除-DELETE

    Restful风格的通信数据格式:正文采用json串组织数据 json–轻量级的数据交换格式 { “name”:“回锅肉”, “price”:6000, } json数据串的组织与解析也通过第三方库jsoncpp实现–节省时间成本 POST/upload_dish HTTP/1.1\r\n Content-Length:正文长度\r\n Content-Type:application/json\r\n { “name”:“红烧肉”, “price”:2300 } 响应 HTTP/1.1 200 OK Content_Lenth:0

    订单业务请求接口 POST /order HTTP/1.1 GET /order HTTP/1.1 GET /order?id = 1 HTTP/1.1 PUT /order HTTP/1.1 DELETE /order?id = 1 HTTP/1.1

    界面视图模块:

    Processed: 0.013, SQL: 10