此作品使用於:面試

專案動機
當初想要學習購物車和金流如何製作實現所以選擇購物網站類型。
由於家裡有養寵物,平時最常逛的就是寵物用品網站,所以當決定要做購物網站時就決定以寵物用品當作主題了
專案介紹
專案技術1. Spring MVC/Vue/Ajax
整體專案採用MVC設計模式
並使用SpringMVC搭建
利用Vue搭起前後端橋樑
使用Ajax向後端控制器發起請求
專案技術2. SpringCloud微服務
分割成微服務各模塊各司其職提高性能、容易維護、便於理解

Eureka註冊中心
Gateway 網關
Product 產品模塊
Order 訂單模塊
Paypal 金流模塊
Search 搜索模塊
Sys 系統模塊
專案技術3. 登入&註冊

1.Vue功能攔截表單提交
2.Ajax異步通訊向對應控制器發請求
3.驗證框架(資料空白、格式錯誤…)
專案技術4. 顯示不同商品&PageHelper分頁

1.同一個網頁模板,根據參數不同顯示不同商品
2.使用PageHelper將多餘商品分頁,一頁僅顯示16項商品
專案技術5. JavaScript 購物清單

1.點”加入購物車”自動彈出購物清單
2.鼠標在購物清單內可進行操作,離開購
物清單,隱藏購物清單
3.計算商品總價
專案技術6. Paypal金流

1.點”Paypal付款”跳轉PayPal
2.付款成功後付款狀態改變
3.流程:
傳訂單數據給PayPal建立訂單
->PayPal捕獲訂單
->擷取approve轉發至PayPal付款
專案技術7. ElasticSearch搜索

由於模糊查詢對於MySQL性能不佳,使用ES優化所有模糊查詢的部分
包括:搜索,特殊產品顯示(狗飼料…)
專案技術8. Ribbon遠端調用

由於分成多個模塊,需要使用到別的模塊數據時使用ribbon調用
專案技術9. Redis Session共享

Gateway網關是使用SpringSecurity實現,用戶信息會存在Session中
因此利用Redis服務器共享Session
專案技術10. SpringBoot聲明式事務

在業務代碼中含有多項mysql增刪改…等操作加上註解@Transaction
避免運行出錯時sql語句只執行一半
專案心得&教學回饋
經過專案的製作,對於SpringMVC中的V和C交互過程、MySQL的操作、Vue、JavaScript也都更加熟悉,也因為是製作購物網站,了解到金流功能大致上是如何實現。
對於這次購物網站的搭建我覺得相當有趣,以前從來沒想過平時自己在逛的這些網站,有一天我可以自己做出來,當然對於初學的我來說過程遇到很多問題,常常一個小問題會卡住一個下午,還好Charlie老師總是會給我一些提示或是網站讓我去參考學習,當那些卡住的問題被解決時感覺真的很好。
Comentarios