第1章 购物车应用
现在我们来创建一个基于web的在线购物车应用,它的名字叫Depot,通过这个应用我们可以了解到Rails以下方面:
n 如何创建简单的维护页面
n 如何连接数据库表
n 如何处理session
n 如何创建表单
n 如何进行单元测试、安全、页面布局
1.1 增量式开发
我们将采用增量式的方法来开发这个应用,我个人也偏好于此。我们先找出一小部分需求,然后实现它,然后再进行下一个“设计-开发”的小循环。
1.2 Depot做些什么
1.2.1 用例(Use Cases)
何为
用例,也就是简单一句话,描述某实体如何使用某系统。
角色划分:
n 买主(buyer)
n 卖主(seller)
买主使用Depot浏览待售的商品,选择自己要购买的货物,然后提供必要的信息以创建订单。
卖主使用Depot维护待售的货品列表,确认等待发货的订单,然后订单标记为“已发货”的状态。
1.2.2 页面流(Page Flow)
买主:
1.浏览一个分类列表
2.在其中选择货品,每次选择一种
3.选中的货品被添加进购物车,每次选择执行完毕之后显示购物车的状况。
4.买主可以回到分类列表继续购物,也可以选择立即付账,购买购物车中的货品.
5.用户买完单后,我们取出客户的联系信息和本次交易的明细,显示一个收据页面。
卖主:
1. 登录以后,卖主会看到一个菜单,用来创建或查看一个货品,还可以针对现有的计单发货。
2. 在查看货品的同时,买主可以选择编辑货品的信息或者把该货品整个删除。
3. 通过“发货”页面来查看所有尚未发货的订单,也可以根据页面显示的订单信息安排发货。
1.2.3 数据(Date)
数据表我们会随着项目的进展而添加和改变的
n
卖主资料
表名:tb_SellerDetails
| |||
序号
|
属性
|
类型
|
说明
|
1
|
loginName
|
Varchar(20)
|
唯一标示
登录用户名
|
2
|
password
|
Varchar(20
|
登录密码
|
n
货物信息
表名:products
| |||
序号
|
属性
|
类型
|
说明
|
1.
|
id
|
Int
Not null auto_incarement
key
|
标识
|
2.
|
title
|
Varchar(100)
Not null
|
货品名称
|
3.
|
description
|
Text
Nut null
|
描述
|
4.
|
image_url
|
Varchar(200)
Not null
|
图片地址
|
5.
|
price
|
decimal(10,2)
null
|
价格
|
n
购物车
表名:tb_Cart
| |||
序号
|
属性
|
类型
|
说明
|
1.
|
|
|
|
2.
|
|
|
|
3.
|
|
|
|
4.
|
|
|
|
n
订单
表名:tb_Order
| |||
序号
|
属性
|
类型
|
说明
|
1.
|
|
|
|
2.
|
|
|
|
3.
|
|
|
|
4.
|
|
|
|
n
订单条目
表名:tb_LineItem
| |||
序号
|
属性
|
类型
|
说明
|
1.
|
Product
|
|
产品
|
2.
|
quantify
|
int
|
数量
|
3.
|
price
|
flot
|
价格
|
4.
|
|
|
|