SYSU-xiaoxin-catering 小欣餐饮点餐系统

The Documents about Group Project of Software Analysis & Design

View the Project on GitHub LeonhardE/Dashboard

架构设计、详细设计(BCE方法)到应用程序框架映射指南

我们实现了一个微信点餐系统,可以为多家餐厅提供服务。其中,我们采用了前后端分离的设计思路进行微信小程序的项目开发,并利用服务器渲染的技术方案来满足餐厅管理人员的显示需求。

前端分别是基于微信小程序的页面设计和Bootstrap/jquey的网页设计;后端则以 Python Flask 服务器为核心,用于提供 RESTful API和管理员操作服务;我们还搭建了 Nginx 服务器作为后端和前端的中间层,通过静态文件服务和 HTTP 代理来满足可扩展,高并发的要求。另外为了更好地提高性能,我们利用mysql-cluster实现了分布式数据库设计。

微信客户端与后台的数据交互依赖 RESTful API 进行对接。这样的设计让微信客户端只关注业务逻辑的实现而不必考虑向后端请求的复杂路由,微信小程序的开发与后台的开发可以同步进行。同时我们考虑到管理员界面相较于微信客户端而言使用频率较少,但页面加载内容较多,与后台的逻辑更为紧密,我们让后台管理页面在服务器上渲染,这样我们在不用担心过高负载的情况下既减少了首次页面加载时间又提高了后台开发人员效率。

逻辑架构图

WechatIMG720

物理架构图:

2 根据以上架构,我们可以把项目划分为三个子项目,Wechat_Client, Browser_Client和App Server。