实现了购物网站基本的用户注册,商品搜索,搜索结果展示,单个商品的详情信息展示,购物车等功能
-
用户注册:用户填写注册相关的表单数据,在用户输入过程中,前端可以用javascript代码对用户输入数据的格式进行检验,并在用户提交到服务器后服务器也会对相关的数据的合法性进行检验,在存储用户账号信息时,服务器会将用户的密码用md5加密然后存储在数据库中,来保证用户账号的安全性
-
用户登录:用户在登录表单填写账号密码信息并提交,服务器先将用户输入的密码用md5加密,再在数据库中查找和用户账号密码匹配的记录
-
用户状态管理:用户登录后服务器会在session中记录用户的id以判断用户当前是否处于登录状态,当用户退出登录后服务器会删除session中的id信息,用户界面会根据用户是否登录展示不同的信息 商品搜索:接收用户输入的关键词,从数据库查找和用户输入相关的商品并展示给用户,服务器会拆分用户输入字符串,根据每个词去搜索相关记录,然后匹配到的单词数量对结果记录排序,从而尽可能让和用户输入最相关的记录显示在最前面 (注意:因为采集的数据有限,商品的品牌信息比较单一,基本都是Iphone手机,建议用和iphone手机相关的关键词进行搜索)
-
商品筛选:用户可以设置商品的属性信息,比如cpu型号,手机型号,网络类型等,服务器会根据用户选择的属性配置对数据库商品进行筛选,并将结果展示给用户
-
购物车:用户在浏览商品信息时可以将当前商品假如购物车,网站会根据当前用户是否登录采取不同的行为,当用户没有登录,以游客身份访问网站时,网站会将游客的购物车商品信息存储在cookie中,当用户是已登录状态,服务器会将用户加入到购物车的商品更新到服务器保存,这样对于游客来说,它可以很好的管理本次购物过程中添加的购物车的商品,对于登录的用户来说,即使用户将来其它时间再次登录依然可以看到购物车中的物品,尽管服务器数据处理逻辑上对未登录和登录用户有所区分,但是对用户来说一次购物体验中的页面展示上是没有差别的。
-
商品购买:用户点击购买商品后会进入订单处理界面,用户填写好地址,付款信息并确认后,服务器会保存订单,并提示用户购买成功
-
网站管理员管理功能:网站管理员可以通过一个特定的网址进入网站的管理界面,在管理界面,管理员可以看到网站所有的订单信息,用户信息,以及其它的管理员信息,管理员可以看到一段时间的订单的图形化信息,了解某段时间内,订单量,各个商品销量等随时间的变化曲线。同时服务器可以利用谷歌地图API来展示订单或者某些商品在对各个地理区域的销售情况。 (管理员账号admin 密码 17951)
-
用户个人信息管理:登录用户可以进入自己的信息管理界面,查看自己购物车信息,自己的订单信息,以及自己的账号密码信息,并可以对这些信息进行编辑
-
数据库设计:网站对业务相关的数据进行了合理的数据库设计,有商品基本信息表,商品属性表,购物车表,订单表,用户表,管理员表等,并且这些数据表之间建立了合理的关系,以减少数据冗余和提高查询效率,比如商品基本信息表和商品属性表存在一对多的关系,购物车表和用户表以及商品基本信息表都存在多对一的关系,一个用户和一个商品都可以对应多条购物车记录
-
数据库系统:为了便于数据管理,网站采用了可以远程访问的Postgresql数据库,可以轻易的将数据库表导出为csv格式文件,也可以将csv文件导入数据库,方便了数据的导入和导出操作,通过pgAdmin可视化管理软件可以轻松的进行数据库的远程操作。
-
Maileer acoount for sending confirmation emails account:[email protected] password:Ct123456
$ bundle install
//In order to successfully migrate DB, install PostgresSQL first
$ rails db:migrate
//import data from CSV to database
$ rake data:importdata
//start
$ rails s