- 系统设计
整个电商系统是Client/Serve结构,IOS端直接和用户打交道,后端处理用户请求,完成对应的逻辑。
如图所示,IOS端是基于苹果cocoa框架开发,采用Swift和Objective-C混编,后端Vapor服务器作为api接口服务器,开发语言为Swift,是RESTful模式的服务器。IOS和Vapor服务器采用https安全协议通讯,Vapor服务器除了处理请求外,还需要进行MySQL数据库操作。最后对象存储服务器用于存储文件,这此项目中主要存储对象是图片。
- 系统部署设计
在完成基本的系统设计之后,还需要进行进一步部署的设计,以达到在实际环境中使用的需求。
将系统设计进一步细化,整个系统的部署如图所示,首先后端部署在腾讯云上,服务器的操作系统为Ubuntu14.04 64TLS。在此基础上利用腾讯云的域名解析服务,将域名和服务器IP地址绑定,以便在公网的环境下能够通过域名地址访问服务器。
之后是对服务器环境的搭建。首先一个需要Nginx服务器监听 80端口和443端口,并将所有80从端口进入的http请求重定向到443端口,实现所有的请求都是https的。在配置Nginx服务器作为Vapor服务器反向代理,端口号为3030,所有从客户端发来的https://api.steambean.me/bee 的请求都将被分配到这个端口上,实现由Vapor服务器处理IOS客户端程序发来的请求。
同时为了开发是方便查看管理数据库,将MySQL数据库的3366端口和映射到了Nginx服务器。 -
代码管理
代码管理采用github,过程如图所示。