我的想法很簡單,就是做一個大家都能運行的商城項目,而不是缺胳膊少腿的項目,不求有多么完善,也不求有多少技術棧,我目前的想法就是大家都可以運行它、使用它,至於完善它嘛,給我點時間哈。
本項目開源地址:
newbee-mall 在 GitHub 和國內的碼雲都創建了代碼倉庫,如果有人訪問 GitHub 比較慢的話,建議在 Gitee 上查看該項目,兩個倉庫會保持同步更新。
- newbee-mall in GitHub : https://github.com/newbee-ltd/newbee-mall
- newbee-mall in Gitee : https://gitee.com/newbee-ltd/newbee-mall
新蜂商城基本介紹
「合抱之木,生於毫末,百丈之台,起於壘土」記錄我的 2019
之前的一些文章里都有提到過這個開源的線上商城項目,但是一直沒有單獨整理一篇文章來介紹它,今天就來談談這個項目。
newbee-mall 項目是一套電商系統,包括 newbee-mall 商城系統及 newbee-mall-admin 商城后台管理系統,基於 Spring Boot 2.X 及相關技術棧開發。 前台商城系統包含首頁門戶、商品分類、新品上線、首頁輪播、商品推薦、商品搜索、商品展示、購物車、訂單結算、訂單流程、個人訂單管理、會員中心、幫助中心等模塊。 后台管理系統包含數據面板、輪播圖管理、商品管理、訂單管理、會員管理、分類管理、設置等模塊。
- newbee-mall 對新手開發者十分友好,無需復雜的操作步驟,基礎配置做完之后很快就可以啟動這個完整的商城項目;
- newbee-mall 也是一個企業級別的 Spring Boot 大型項目,對於各個階段的 Java 開發者都是極佳的選擇;
- 你可以把它作為 Spring Boot 技術棧的綜合實踐項目,newbee-mall 足夠符合要求,且代碼開源、功能完備、流程完整、頁面交互美觀;
- 技術棧新穎且知識點豐富,學習后可以提升大家對於知識的理解和掌握,可以進一步提升你的市場競爭力;
- 對於部分求職中的 Java 開發者,你也可以將該項目放入求職簡歷中以豐富你的工作履歷;
- newbee-mall 還有一些不完善的地方,鄙人才疏學淺,望見諒;
項目預覽
至於技術棧的選擇,主要是 Spring Boot,其它的就是 MyBatis / Thymeleaf 之類的,還有前端的一些內容,比如 AdminLTE / jQuery 等,之后我會繼續進行更新迭代,而頁面觀感和交互體驗,我不再多言,大家自行體驗和評價,預覽圖如下:
商城頁面預覽
后台管理頁面
-
登錄頁
-
輪播圖管理
-
新品上線

-
分類管理
-
商品管理
-
商品編輯
-
訂單管理
一個牛逼的項目
這個項目的名稱是 newbee-mall,也有朋友會在群里叫他“牛逼商城”,因為它的諧音就是“niu bi”。
newbee 呢,其實是新兵、菜鳥的意思,因為我覺得優秀的開源項目不計其數,我雖然也做了一些,不過與優秀二字實在搭不上邊,我還是對自己有認識的,也就是個菜鳥而已,而且這個商城項目畢竟也是第一個版本,問題還是有的,所以它就是一個菜鳥,與牛逼真的搭不上邊,大家喜歡就好,能學到東西那更好。
僅僅開源這么一段時間,卻已經得到了不少的關注度,我也是誠惶誠恐,當然,大家有任何問題也都可以在交流群里與群里的朋友們一起交流,目前已經解決了很多很多很多很多大家提出的關於新蜂商城這個項目的問題。
為什么寫這個項目
在 GitHub 上寫一些開源項目,這件事情我做了三年了:
從 2017 年的第一個 ssm-demo 開源項目,到今天的 newbee-mall 項目,我也沒想到能夠一直堅持了下來。
至於為什么會寫這個商城項目呢?大家通過我過往做的項目應該有一點清楚,一開始是做基礎的 demo,后面是做一些小項目,之后也寫過開源博客項目,由小項目到大項目,這是一個循序漸進的過程罷了,在三年時間里慢慢過渡,從無到有、由小至大,最終有了這樣一些列的項目,至於為什么會選擇走商城方向,主要是在幾個交流群里和大家溝通過,貌似大家對商城類的項目更為感興趣,所以就決定開發了它。
網上有很多商城項目,但是在使用過程中會有不少的小問題導致無法很順暢的進行學習和使用,根據十三的實際使用情況來看,主要有以下幾點問題:
-
一,項目不完整,要么是缺少前端頁面、要么是缺少依賴或者缺少數據庫 SQL 文件,即使 issue 列表中已經出現了很多求文件的訴求依然沒有將完整的文檔提供出來。
-
二,用到了特別多的技術棧,SpringCloud / Dubbo / Redis / Elastic Search / Docker 等等,導致想要運行一個商城項目需要把所有的插件都要安裝配置一遍,對於新手或者只想要一個商城項目的開發者來說是一個極大的挑戰,這里甚至可以使用望而卻步來形容。
-
三,技術老舊,頁面不美觀,交互體驗差,更新迭代慢,這也是部分開源商城項目存在的一些小缺點,不過算不得是大問題。
以上都是實際體驗后整理出的內容,基於此,十三自己開發出了當前的 newbee-mall 新蜂商城,我的想法很簡單,就是做一個大家都能運行的商城項目,而不是缺胳膊少腿的項目,不求有多么完善,也不求有多少技術棧,我目前的想法就是大家都可以運行它,使用它,至於完善它嘛,大家給我點時間哈。
由於時間短暫,開發倉促,項目中肯定還會有一些不完善的地方,但是十三將其開源出來,今后也會不斷的完善該商城項目。
未來規划
如下圖所示,該項目是 2019 年 9 月底建的倉庫,10 月初把第一個版本的所有代碼都放到了倉庫里,到今天為止差不多是 3 個月的時間,star 數量漲的挺快也是很出乎我的意料,在這里也感謝大家的支持。
首先,該項目所有的源碼都會開源出來,包括前端代碼,樣式文件,后端java代碼,數據庫文件,全部都會放在開源倉庫中。
第二,當前開源的商城項目並不會使用太多的技術棧,使用和部署起來都非常簡單,只需要基礎的java運行環境和數據庫,很快就可以啟動這個大型商城項目,目的就是讓大家方便,如果你需要一個可以實踐的商城項目,這絕對會是你最佳的選擇,對於各個階段的java開發者都非常友好。
第三,目前的技術棧對所有人都非常友好,但是這不代表該商城項目不會進行優化,之后我也會在此項目的基礎上再次進行優化迭代,加入緩存、搜索引擎、微服務、集群、高並發等等內容,滿足更多開發者的需求,但是不會是當前項目,當前項目是一個基石,我會在這個基石項目上慢慢的添加內容。
下一步的目標暫時還沒確定,不過也在群里和很多朋友都商量過,主要就是修改一些 bug、增加一些功能,更多人是想讓我把它做成前后端分離形式的項目。
最近由於工作上的一些事情,沒有時間做這些事情,所以年后會抽時間把這個 VUE 版本的商城項目開發掉,做成前后端分離形式的項目,同時也增加一些大家都希望看到的一些功能模塊和技術棧,包括前端項目和后端接口,都會一並開源。
這是計划而已,如果這個項目大家都喜歡,我也可以在這個項目的 Star 數過 2000 的時候就着手開發,不過這是個很難達成的目標,哈哈哈。
小總結
這個項目其實 2018 年就在計划開發,但是一直沒想好怎么做,也一直沒時間去做,所以一直拖到 2019 年的下半年。自從在網上寫博客、在 GitHub 上開源了幾個不值一提的小項目之后,很多朋友都會選擇與我溝通,或者問我一些問題,這其中有相當一部分還是學生或者 1-3 年經驗的朋友,通過與他們的溝通呢,我在寫項目和想問題的時候也有所改變,目前做的幾個項目都更注重一些基礎的東西:別太麻煩、運行順利、別缺代碼。
回到項目本身,通過上面說的幾點呢,相信大家也能夠看出來,我就是想寫一個能夠讓大部分人,即使是初學者或者在校大學生,都能夠運行起來的開源商城項目。
於是,新蜂商城就開源了。
除注明轉載/出處外,皆為作者原創,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,否則保留追究法律責任的權利。
感謝大家的觀看,我是十三,文章首發於我的公眾號“程序員的小故事”。