2018至2023我的開源項目分享

語言: CN / TW / HK

本文主要針對博主2018畢業至2023參與軟件開發4年多以來自建的三個開源項目進行介紹與分享,希望對看到本文的新入行的初中級開發者或者未畢業想入行的學生們能夠起到幫助。下面是項目介紹


一、newbee-mall-pro

newbee-mall-pro 是博主在2019年想要自建PC商城項目時,在 newbee-mall 項目的基礎上使用 mybatis-plus 作為 orm 層框架,經過改造升級而來,維護至今。項目也由最初的 Spring Boot2.0 版本升級到 Spring Boot3.0 版本,一路走來給加了不少新功能,算是博主對於商城項目的完整實踐,對於新技術也都是運用到這個項目來先行試水。博主開源至今 star 數量最多項目就是這個😂

1.1 功能特點

  1. RedisSearch:支持中文分詞搜索,支持商品名稱、簡介、標籤作為搜索項,以及新品、價格排序, 詳情可見:更新日誌
  2. 秒殺專區:支持功能完備,生產可用的高級秒殺功能,詳情可見:更新日誌
  3. 優惠券專區:支持優惠券後台配置、用户註冊贈券、下單頁面優惠券使用等功能
  4. 商城首頁使用滑塊驗證碼登錄 詳情可見:更新日誌
  5. 支付時添加了支付寶沙箱支付
  6. 集成Pace頁面,添加網頁進度條
  7. 添加Spring事件監聽機制,解耦下單流程
  8. 集成spring-session-redis,支持分佈式部署
  9. 本項目秉持原作者簡單易用的原則,代碼書寫清晰,註釋完整,便於新人理解,快速上手
  10. 多數據源配置在Springboot2.7分支,通過jta和seata支持分佈式事務
  11. 項目源碼:https://github.com/wayn111/newbee-mall-pro
  12. 在線地址:http://121.4.124.33/newbeemall

1.2 項目評價

通過本項目,除了能學到商城會員、首頁配置、商品、搜索、下單、購物車等基本模塊功能設計後,還能學到更高級的秒殺、優惠券專區、商城搜索中文分詞、滑塊驗證碼等,總的來説該項目麻雀雖小,但是五臟俱全,認真看完你一定有所收穫。


二、crowd-admin

crowd-admin 是博主在2018年剛畢業那會,剛參加工作時對開發的後台oa、進銷存等管理系統的工作進行復盤後,想要自己開發一個包含rbac權限管理、消息推送功能的後台管理系統。剛開始工作時,博主公司項目框架還是SSM + Shiro + JSP,於是 crowd-admin 這個項目剛建立也是基於 SSM + Shiro + JSP。到2023年 Spring Boot3.0 都發布了,博主也是終於在去年將老的 Spring4.0 版本升級到了 Spring Boot2.7,原本想一鼓作氣升級到 Spring Boot3.0,但是 Shiro 一直沒有發佈 Spring Boot3.0 版本,所以博主也是升不上去了😂

2.1 功能特點

  1. 前後端支持stomp高級協議,完善的websocket配置,支持消息推送、自定義用户認證、連接週期監聽等
  2. 支持系統參數配置,支持Spring的@Cacheable註解
  3. 項目按功能模塊化拆分,自定義全局統一異常輸出,代碼清晰合理
  4. 集成elfinder模塊,包含完整的文件管理操作,包含文件上傳、刪除、壓縮、移動、預覽等諸多操作
  5. 支持後台消息/郵件推送、數據字典、系統參數配置、各模塊操作日記記錄
  6. 支持系統服務監控、在線用户監控、數據源監控等操作
  7. 支持redis/ehcache切換使用
  8. 支持ip2region本地化
  9. 支持多數據源操作
  10. 前端使用H+模板,樣式美觀,支持ajax下載文件,js代碼簡潔,清晰,避免過度封裝
  11. 項目源碼:https://github.com/wayn111/crowd-admin
  12. 在線地址:http://121.4.124.33/crowd/

2.2 項目評價

crowd-admin 是一個後台權限管理系統腳手架,集成了rbac權限管理、消息推送、郵件發送、任務調度、代碼生成等常用功能,系統內各個業務按照模塊劃分,設計優良。是一個 Java 新人易於上手,學習之後能夠掌握企業後台開發所需常用技能,快速融入實際企業開發的指導項目


三、waynboot-mall

waynboot-mall 時博主在2020開發而來,那時候網上很多的H5商城項目都是半開源版本,要麼沒有H5前端代碼,要麼需要加羣諮詢,屬實噁心。於是博主決定自己開發一套完整的移動端H5商城,包含一個管理後台、一個前台H5商城、一個後台api接口、一個商城api接口。

3.1 功能特點

  1. 商城接口代碼清晰、註釋完善、模塊拆分合理
  2. 使用Spring-Security進行訪問權限控制
  3. 使用jwt進行接口授權驗證
  4. ORM層使用Mybatis Plus提升開發效率
  5. 添加全局異常處理器,統一異常處理
  6. 使用springboot admin進行服務監控
  7. 集成七牛雲存儲配置,上傳文件至七牛
  8. 集成常用郵箱配置,方便發送郵件
  9. 添加策略模式使用示例,優化首頁金剛區跳轉邏輯
  10. 拆分出通用的數據訪問模塊,統一redis & elastic配置與訪問
  11. 使用elasticsearch-rest-high-level-client客户端對elasticsearch進行操作
  12. 支持商品數據同步elasticsearch操作以及elasticsearch商品搜索
  13. RabbitMQ生產者發送消息採用異步confirm模式,消費者消費消息時需手動確認
  14. 下單處理過程引入rabbitMQ,異步生成訂單記錄,提高系統下單處理能力
  15. 在線地址:http://121.4.124.33/mall

3.2 項目評價

waynboot-mall 是一套全部開源的微商城項目,包含一個運營後台、H5商城和後台接口。 實現了一個商城所需的首頁展示、商品分類、商品詳情、sku詳情、商品搜索、加入購物車、結算下單、訂單狀態流轉、商品評論等一系列功能。 技術上基於最新得Springboot3.0、jdk17,整合了Redis、RabbitMQ、ElasticSearch等常用中間件, 貼近生產環境實際經驗開發而來不斷完善、優化、改進中。作為博主的開源項目集大成者,看完這個項目一定能受益匪淺!