­

2019 我的 Github 開源之路!

  • 2020 年 1 月 20 日
  • 筆記

前言

轉眼間2019即將過去,回想這一年,學習了很多也輸出了很多。如果要說我最大的成果的話,我的Github可以概括下。這一年之中累計收穫了3w+Star,總計開源維護了6個項目,下面我就對這些開源項目做個小小的總結。

mall

首先我們來說說mall這個項目,mall是一套電商系統,基於SpringBoot+MyBatis實現,採用Docker容器化部署。這個項目是我去年3月份開始寫的,耗時9個月,到去年12月的時候正式開源。這是我的第一個開源項目,也是一個從零開始的項目,整個項目的需求分析、後台功能的實現、前端頁面實現、移動端原型設計都由我一個人來完成,其中的使用的很多技術和工具都是現學現用,收穫很大。這個項目開啟了我的開源之路,我覺得圍繞這個項目我可以打造很多有價值的東西,畢竟互聯網上的實戰型項目太少了,而文檔齊全的項目更少,於是我便努力把它打造成一個學習型項目,於是便有了接下來的一系列開源項目。

mall-admin-web

mall-admin-web是一個電商後台管理系統的前端項目,基於Vue+Element實現。這個項目是和mall項目同時產生的,畢竟再好的後端項目,沒有前端展現,大家也不知道它是個啥。雖然我是個後端開發,但在最近幾年大前端的浪潮下,但學點前端技術總沒有壞處,通過一步步實現這個項目,我也牢牢地掌握了它們。

mall-learning

之前提過我想把mall項目打造成一個學習型項目,讓更多的人來學習,於是便有了mall-learning這個實戰型學習教程。mall-learning圍繞着mall項目,對其架構、業務、技術要點三方面進行解析。這個項目從今年5月份開始,至今還在完善,我會把平時學習到的技術都融入到裏面去。其實這個項目寫到現在,它已經不僅僅是mall專屬的學習教程了,把它稱之為一個通用的項目實戰教程也不為過,因為裏面涉及的很多技術都可以放到其他項目裏面去使用。

我們可以看下mall項目在剛發佈之初的到底有哪些文檔:

再看下mall-learning中目前所有的文檔:

可以說基本上mall項目整個後端技術棧的文檔都在裏面了,這些文檔不僅在學習時有用,在做項目的時候也非常有用,有些時候某些技術忘了怎麼使用了,我也會來翻看這些文檔,畢竟好記性不如爛筆頭啊。

通過mall-learning項目文檔的完善,我的技術棧也在逐漸提升,基本打造了以下的技術棧。

mall-tiny

一個項目會越做越複雜,複雜之後又會進行簡化,提取出來一個骨架以便於新項目的使用,mall-tiny就是這麼一個骨架項目。mall-tiny是從mall項目中抽取出來的項目骨架,保留了mall項目的整個技術棧,對業務邏輯進行了精簡,只保留了權限及商品核心表,方便開發使用,可以自由定製業務邏輯。如果大家有從零開始的項目搭建需求,可以參考下這個項目。

springcloud-learning

隨着微服務架構的越來越流行,我們也得學習些微服務的技術,springcloud-learning便是我寫的一套Spring Cloud 教程。這套教程我從今年9月份開始寫,寫到了今年11月份,耗時兩個多月。雖然以前看過一些Spring Cloud相關的資料,但是還是寫下來才能牢牢掌握。springcloud-learning涵蓋大部分Spring Cloud核心組件使用,包括Spring Cloud Alibaba及分佈式事務Seata,同時為之後mall項目的微服務架構改造做了技術儲備。

以下是springcloud-learning中所涵蓋的內容:

mall-swarm

學習了很多Spring Cloud 的各種核心知識,是時候來一波實戰了,於是我在mall項目的基礎上進行了改造,在原來電商業務的基礎集成了註冊中心、配置中心、監控中心、網關等系統功能,mall-swarm項目就此誕生。

來一張我畫了兩個小時的項目架構圖:

總結

總的來說,今年我的收穫比去年還大,這兩年的收穫已經超過了前五年的程序員生涯。為啥要在Github上面寫開源項目呢,其實我的心中一直有這樣一個想法:作為一個從事互聯網工作的人,我們總得在互聯網上留下點什麼吧!

Github地址

最後附上我的Github地址:https://github.com/macrozheng