微服務全棧技術學習開源項目,涵蓋Java及前端主流技術點


1、目的

本項目旨在總結先後端分離經常使用技術點,造成集前端+後端+小程序+移動端一整套的我的技術博客解決方案。技術採用主流先後端分離微服務架構,並涵蓋持續集成及自動化部署的相關解決方案。既然是以學習爲目的,可能並非以作成一個博客系統爲最終目標,可能會基於此基礎之上進行技術的擴充。css

技術方面,後端採用Java技術棧,前端使用工程化的SPA單體應用實現。項目計劃分爲兩個版本分別爲vue+Spring Cloud、react+Dubbo。除了還該經常使用的增刪改查業務以外,也會涉及高併發、限流、支付、爬蟲等主流流行技術點。html

業務方面分爲後臺+前臺場景,後臺管理系統負責對整個網站進行管理,前臺爲展現我的博客內容。除了實現博客的經常使用功能外,也但願加入秒殺、分佈式搜索、區塊鏈等功能。前端

本人才疏學淺,可能有些觀點不是很成熟,考慮的沒有很全面,望你們積極指正。也但願能夠結識更多熱愛技術的朋友,一塊兒加油,一塊兒進步。vue

2、主要技術:

所用到的主要技術點:java


2.1 後端react

數據庫:MySqlwebpack

數據訪問層:Mybatis、Spring Data Jpaios

NoSql:Redis、MongoDBnginx

持續集成:docker、k8sgit

分佈式搜索:ElasticSearch

消息隊列:RabbitMQ、ActiveMQ

版本控制:git

依賴管理:maven

分佈式:Spring Boot、Spring Cloud、Dubbo、Spring Cloud Alibaba

其餘:Quartz、FFmpeg、Spring、maven、SSO、WebMagic、Netty等

2.2 前端

前端框架:Vue、React、Ant Design、Element UI

網絡請求:axios、Fetch

表格圖表:ECharts

數據狀態管理:redux、vuex

路由管理:react-router、vue-router

小程序:mpvue

代碼檢查工具:ESLint

代碼打包工具:webpack

3、主要功能

1.登陸註冊:實現對用戶名、手機號及掃碼的登陸實現,實現單點登錄功能。

2.文章模塊:對文章進行管理

3.分類目錄:對分類目錄進行管理

4.文章標籤模塊

5.做品管理:可添加本身的做品

6.友情連接管理

7.頁面管理

8.評論管理

9.菜單管理

10.用戶管理

11.網站seo設置

12.媒體資源管理:fastdfs

13.網站爬蟲設計:能夠抓取指定的數據到我的博客中

14.課程管理:能夠發佈本身的視頻等課程資源,實現收費及免費功能。包括支付

15.統計模塊:統計網站訪問量、評論量、等信息記錄網站的歷程

16.搜索:分佈式搜索實現對文章的搜索功能。

17.活動與招聘信息

18.吐槽與問答

19.網站數據備份與導入導出

20.數據字典管理

...

4、項目彙總

目前主流的技術架構採用先後端分離技術實現,在項目工程上來說,也應是分離的項目。每一個項目進行單獨開發。下面是本項目中全部的工程目錄。

4.1 版本一:

Java採用Spring Boot + Spring Cloud + Spring Data JPA 技術棧

後端項目地址:https://github.com/iquanzhan/vblog-spring-cloud

前端採用react技術棧

前端項目地址:https://github.com/iquanzhan/vblog-web-react

4.2 版本二:

Java採用Spring Boot + Dubbo + MyBatis 技術棧

後端項目地址:https://github.com/iquanzhan/vblog-dubbo

前端採用vue技術棧

前端項目地址:https://github.com/iquanzhan/vblog-web-vue

使用nginx+docker+k8s進行持續集成與發佈管理。

5、工欲善其事必先利其器

java採用jdk1.8

5.1開發工具

Java開發工具配置及優化

Java端採用IDEA進行開發:下載地址:https://www.jetbrains.com/

使用IDEA時有很多優質的插件,推薦安裝:

  1. Grep console:支持自定義控制檯不一樣級別的日誌顏色

  2. Free Mybatis plugin :根據Mapper類中方法名可直接跳轉到mapper.xml

  3. MyBatis Log Plugin : 默認狀況下MyBatis顯示的腳本不是可執行的,這個插件就能夠直接將Mybatis執行的sql腳本

  4. Alibaba Java Coding Guidelines :阿里巴巴代碼規範檢查插件

  5. Lombok :利用註解的形式,省去get/set等方法

  6. Gsonformat :能夠根據json快速生成java實體

  7. Restfultookit :主要用於調試接口,能夠生成默認的數據,可根據Url快速找到對應的controller

  8. JRebel :熱部署插件

  9. GenerateAllSetter :new POJO類的時候快速生成set方法

若是其餘小夥伴有更好的插件推薦,歡迎提出哦~

前端開發工具配置及其優化

Java端採用VS Code進行開發:下載地址:https://code.visualstudio.com/

爲了便於開發VS Code也有很多優質的插件推薦:

  1. Auto Close Tag:自動添加html的關閉標籤

  2. Auto Rename Tag:修改標籤時,自動修改結束標籤的名字

  3. Beautify :代碼美化格式化工具

  4. Color Info :css中設置顏色時顯示色彩信息

  5. ESLint :前端規範插件,能夠檢查語法錯誤

  6. JavaScript (ES6) code snippets:ES6語法提示

  7. Path Intellisense:輸入路徑後自動補全

  8. vscode-element-helper:element UI庫的代碼提示

  9. npm Intellisense:在導包時對依賴包進行提示

  10. Reactjs code snippets:react代碼提示插件

  11. React Redux ES6 Snippets :Redux代碼片斷工具

  12. React-Native/React/Redux snippets for es6/es7 :react代碼片斷工具

  13. Vetur :Vue多功能集成插件,包括:語法高亮,智能提示,emmet,錯誤提示,格式化,自動補全,debugger。vscode官方欽定Vue插件,Vue開發者必備

  14. Bracket Pair Colorizer :給括號加上不一樣的顏色,便於區分不一樣的區塊,使用者能夠定義不一樣括號類型和不一樣顏色

歡迎更多志同道合的朋友一塊兒交流哦,歡迎star

GitHub:GitHub - iquanzhan/vblog: 微博客是一個旨在學習Java+前端技術的分佈式我的博客系統。除了會有web端、手機端以外還會有小程序端。「連接」

https://github.com/iquanzhan/vblog

相關文章
相關標籤/搜索