1.0 項目開發流程
2.0 系統架構
整個樂優商城可以分為兩部分:后台管理系統、前台門戶系統。
- 后台系統主要包含以下功能:
- 商品管理,包括商品分類、品牌、商品規格等信息的管理
- 銷售管理,包括訂單統計、訂單退款處理、促銷活動生成等
- 用戶管理,包括用戶控制、凍結、解鎖等
- 權限管理,整個網站的權限控制,采用JWT鑒權方案,對用戶及API進行權限控制
- 統計,各種數據的統計分析展示
- 后台系統會采用前后端分離開發,而且整個后台管理系統會使用Vue.js框架搭建出單頁應用(SPA)。
- 前台門戶面向的是客戶,包含與客戶交互的一切功能。例如:
- 搜索商品
- 加入購物車
- 下單
- 評價商品等等
- 前台系統我們會使用Thymeleaf模板引擎技術來完成頁面開發。出於SEO優化的考慮,我們將不采用單頁應用。
- 搜索商品
- 加入購物車
- 下單
- 評價商品等等
- 前台系統我們會使用Thymeleaf模板引擎技術來完成頁面開發。出於SEO優化的考慮,我們將不采用單頁應用。
無論是前台還是后台系統,都共享相同的微服務集群,包括:
- 商品微服務:商品及商品分類、品牌、庫存等的服務
- 搜索微服務:實現搜索功能
- 訂單微服務:實現訂單相關
- 購物車微服務:實現購物車相關功能
- 用戶中心:用戶的登錄注冊等功能
- Eureka注冊中心
- Zuul網關服務
- Spring Cloud Config配置中心
- ...
- 搜索微服務:實現搜索功能
- 訂單微服務:實現訂單相關
- 購物車微服務:實現購物車相關功能
- 用戶中心:用戶的登錄注冊等功能
- Eureka注冊中心
- Zuul網關服務
- Spring Cloud Config配置中心
- ...
3.0 項目工程搭建
3.1.技術選型
前端技術:
- 基礎的HTML、CSS、JavaScript(基於ES6標准)
- JQuery
- Vue.js 2.0以及基於Vue的框架:Vuetify
- 前端構建工具:WebPack
- 前端安裝包工具:NPM
- Vue腳手架:Vue-cli
- Vue路由:vue-router
- ajax框架:axios
- 基於Vue的富文本框架:quill-editor
- JQuery
- Vue.js 2.0以及基於Vue的框架:Vuetify
- 前端構建工具:WebPack
- 前端安裝包工具:NPM
- Vue腳手架:Vue-cli
- Vue路由:vue-router
- ajax框架:axios
- 基於Vue的富文本框架:quill-editor
后端技術:
- 基礎的SpringMVC、Spring 5.0和MyBatis3
- Spring Boot 2.0.1版本
- Spring Cloud 最新版 Finchley.RC1
- Redis-4.0
- RabbitMQ-3.4
- Elasticsearch-5.6.8
- nginx-1.10.2:
- FastDFS - 5.0.8
- MyCat
- Thymeleaf
- Spring Boot 2.0.1版本
- Spring Cloud 最新版 Finchley.RC1
- Redis-4.0
- RabbitMQ-3.4
- Elasticsearch-5.6.8
- nginx-1.10.2:
- FastDFS - 5.0.8
- MyCat
- Thymeleaf
3.2.開發環境
為了保證開發環境的統一,每個人都按照環境來配置:
- IDE:我們使用Idea 2017.3 版本
- JDK:統一使用JDK1.8
- 項目構建:maven3.3.9以上版本即可
- 版本控制工具:git
- JDK:統一使用JDK1.8
- 項目構建:maven3.3.9以上版本即可
- 版本控制工具:git
3.3.域名
我們在開發的過程中,為了保證以后的生產、測試環境統一。盡量都采用域名來訪問項目。
一級域名:www.leyou.com
二級域名:manage.leyou.com , api.leyou.com
我們可以通過switchhost工具來修改自己的host對應的地址,只要把這些域名指向127.0.0.1,那么跟你用localhost的效果是完全一樣的。
3.4 后台管理前台工程搭建
3.4.1 webpack


vue-cli npm install -g vue-cli
cd vue-cli-demo vue init webpack y 回車 回車 回車 y n n n 回車
npm run dev
手動搭建maven父工程
搭建eureka注冊中心
搭建zuul網關
搭建業務項目,例如商品工程