主要技術
-
後端技術:spring、SpringMVC、Mybatis前端
-
前端技術:JSP、JSTL、jQuery、Ajax、EasyUI、KindEditor(富文本編輯器)、CSS+DIVnginx
-
緩存技術:Redis(緩存服務器)git
-
消息隊列:RabbitMQgithub
-
搜索技術:Solr(搜索)web
-
遠程調用技術:httpclient(調用系統服務)spring
-
數據庫:MySQLsql
-
服務器: Nginx(web服務器)和tomcat數據庫
-
版本控制:gitjson
開發工具和環境
功能模塊
-
後臺管理系統:管理商品、訂單、類目、商品規格屬性、用戶管理以及內容發佈等功能。詳細開發流程。點我
-
前臺系統:用戶能夠在前臺系統中進行註冊、登陸、瀏覽商品、首頁、下單等操做。詳細開發流程。點我
-
單點登陸系統:爲多個系統之間提供用戶登陸憑證以及查詢登陸用戶的信息。詳細開發流程。點我
-
訂單系統:提供下單、查詢訂單、修改訂單狀態、定時處理訂單。詳細開發流程。點我
-
購物車系統:集中管理訂單。詳細開發流程。點我
-
搜索系統:提供商品的搜索功能。詳細開發流程。點我
源碼demo
源碼已上傳至github,連接點這裏。點我
雲商城項目打造的是「社區+電商」的模式,用戶不僅是在社區中有本身的圈子,還能夠將電商加入到社區中,整個電商網站實現的功能很是之多,採用分佈式的架構設計,包括後臺管理、前臺系統、訂單系統、單點登陸系統、搜索系統、會員系統等。B2C現貨交易平臺包括前臺模塊與後臺模塊。前臺主要包括我的信息管理、商品信息查詢、商品信息瀏覽、購物車管理、訂單肯定、在線支付、物流查詢、商品搜索、智能排序等。後臺主要包括:用戶管理、角色管理、權限管理、商品管理、訂單管理、物流信息管理等模塊。各系統都是使用Spring+SpringMVC+Mybatis框架,採用分佈式架構部署,各模塊之間交互採用 接口調用,緩存採用Redis框架,異步消息處理採用Ajax與solr搜索引擎。支付模塊主要調用訂單模塊獲取商品信息,調用支付接口判斷是否阻塞交易,負責訂單信息入庫,獲取支付通道,調用支付接入系統接口,維護更新訂單狀態,支付後各種通知與同步等。
①該項目是公司的產品,咱們公司負責整個網站的運營,屬於B2C平臺;
②系統的用途:
主要是提供B2C的平臺,其中自營商品也有商家入住,相似天貓與淘寶。
③系統架構:
採用分佈式的系統架構,其中前臺系統和單點登陸系統採用了集羣的方式部署,在後臺管理系統中採用了Maven的多模塊化的管理,其中採用了水平切分的方式,將pojo、dao、service、web分層開發,這樣作的好處就是能夠重用性更高。
系統內部接口調用採用Httpclient,而且使用Httpclient的鏈接池技術,接口提供端採用RESTful方式的接口定義;
系統之間的通知機制採用MQ的方式,使用RabbitMQ的實現,使用了RabbitMQ的消息訂閱模式的消息機制;
系統的接口還對JS的跨域作了支持,採用了jsonp的解決方法,在後臺接口中擴展了spirng提供的jackson數據轉化器實現;
④部署方面:
採用了Nginx+tomcat的模式,其中nginx的做用一方面是作反向代理、負載均衡、另外一方面是作圖片等靜態資源的服務器。
一、首先,用戶表:
用戶id、用戶名、密碼、暱稱、郵箱、電話、生日、地址、性別、狀態及激活碼
字段都比較簡單,不必作特別說明
二、商品分類表:
分類id及分類名稱。也很簡單
三、商品表:
商品id、商品名稱、市場價及商城價、圖片路徑、上架時間、是否熱門、簡介、商品狀態及分類id
這裏因爲商品表與分類表有多對一的關係,因此在多方(商品表)中加一個外鍵,用來記錄商品所屬分類信息。
四、訂單表:
訂單id、訂單名稱、訂單總價、訂單狀態、送貨地址、收貨人姓名、收貨人電話、用戶id、支付方式
這裏訂單狀態:1 未付款 、2 未發貨、 3 未簽收、4 已收貨
另外一個支付方式是我本身加的,也沒什麼必要
這裏由於訂單表與用戶表也是一對多的關係,因此加了一個外鍵用戶id來表示這種關係
五、購物項表,因爲訂單表與商品表爲多對多之間的關係,因此建了一箇中間表來描述這種關係
購物項id(能夠不寫)、商品數量、小計、商品id、訂單id
商品數量與小計均爲描述每一購物項的屬性。
六、後期爲了持久化購物車的數據,可能還會創建一個購物車中購物項表,這裏也列一下
用戶id、商品id、商品數量、建立時間、小計
購物車邏輯後面會講到。
以上就是所有的表了。都是一些基本表,沒什麼邏輯可言,重要的是須要清楚這中間各個表中的關係。
好了,以上就是這個項目的一些準備工做。沒什麼特別重要或者難以理解的,只要清楚流程便可。