一個既能購物又能即時聊天的電商系統。致力於打造網路企業級專案的最佳實務。
電商該有的購物車、訂單、付款、推薦、搜尋、拉新、促活、推播、物流、客服、它都必須有。持續更新ing~
快速體驗網址:抹茶聊天首頁
後端專案倉庫:MallChat
專案影片記錄:Bilibili 地址全程分享專案進度,功能選型的思考,同時徵求迭代建議。
專案學習文件:10w+字,保母級教學路線,環境建構、核心功能、基建輪子、介面壓測、問題記錄、一個不落。可點選抹茶項目文件查看(內含500 人交流大群)
計畫交流群:對抹茶有興趣的,可以加入交流群。你的每一個舉動,都會決定專案未來的方向。無論是提意見做產品經理,或是找bug 當測試人員,或是加入開發小模組成為contributer,都歡迎你的加入。
碼雲倉庫:https://gitee.com/Evansy/MallChatWeb (國內訪問速度更快)
抹茶聊天是一個IM 項目,透過netty 實作和前端的websocket 連結。內含微信掃描登錄,成員列表,上下線動畫,訊息列表,訊息互動,還有很多實用的小輪子列如aop 日誌,分散式鎖註解,頻控註解,ip 解析歸屬地等,持續更新中。 。 。
環境: node 16.18+, 套件管理工具pnpm (安裝完node 執行npm i pnpm -g
即可);
安裝依賴: clone 工程之後,執行pnpm i
npm
安裝報錯, 指令後加參數npm i --ignore-scripts
忽略scripts
相關依賴即可解決
推薦使用pnpm
, 安裝依賴不會有因為網路而失敗的問題
啟動: 按F5
即可自動執行pnpm run dev
並且開啟瀏覽器
部署
部署到本地:執行pnpm build
建置完成後把dist
資料夾放到伺服器,並且設定nginx
即可
自動CI/CD:透過github actions
在程式碼提交到GitHub 之後自動建置並部署到伺服器, 詳細參考可查看deploy.yml
前端專案網址:https://github.com/Evansy/MallChatWeb
專案示範網址:https://mallchat.cn (記得抹茶.cn,下次工作摸魚可直接開)
科技 | 說明 | 官網 |
---|---|---|
Vue3 | 前端流行開發框架 | https://cn.vuejs.org |
Pinia | vue3 官方推薦狀態管理框架 | https://pinia.vuejs.org |
vue-router | Vue 的官方路由 | https://router.vuejs.org |
TypeScript | 讓JS 具備類型聲明 | https://www.typescriptlang.org/ |
Element Plus | 緩緩基於vue3 的元件庫 | https://element-plus.gitee.io |
Alova | 輕量級的請求策略庫,用起來負擔比axios 小 | https://alova.js.org/ |
vite | 極速的前端打包建構工具 | https://cn.vitejs.dev |
pnpm | 速度快、節省磁碟空間的軟體套件管理器 | https://www.pnpm.cn |
見MallChat
在專案目錄下的application.yml
修改自己的啟動環境spring.profiles.active
= test
然後找到同級檔案application-test.properties
,填寫自己的環境配置。星球成員提供一套測試環境配置,可直連
保母級教學路線,環境搭建、核心功能、效能最佳化、埋設上報、問題記錄、專案亮點一個不落。點選項目文檔
更多有趣功能在持續更新。 。 。
貢獻前請先閱讀行為準則和貢獻指南。感謝所有為MallChat 做出貢獻的人!
類別 | 使用者 | 貢獻模組 |
---|---|---|
前端 | 圖片、語音、檔案類型訊息收發 | |
訊息互動操作(撤回、按讚、刪除) | ||
虛擬列表 | ||
後端 | DFA敏感字詞檢測 | |
OpenAI聊天機器人 | ||
Ac自動機敏感詞檢測 | ||
限流編程式 | ||
握手認證 |
微信搜尋阿斌Java 之路追蹤我的原創公眾號,後台回覆「抹茶」即可加入抹茶交流群,一些做過公司萬人群聊,高並發的小伙伴都在裡面討論方案。公眾號也會常更新專案相關的文檔,等你來撩~~