個人React / Koa 專案上線——健身筆記

張灝哲(Martin)發表於2019-03-02

FitNote 健身筆記

FitNote的誕生是為了更好地記錄在力量訓練中負重的變化情況,也可以說是力量訓練筆記本。

體驗地址:fitnote.inhere.top
體驗賬號:abc / 123456

暫時暫未開放註冊,有需要可以留言給你開通賬號。

開發詳情

前端

專案地址

前端基於React.js 16.0 +並採用material-ui前端UI框架。

目前專案不復雜,並未使用Redux等狀態管理工具。

技術涉及:

  • React V16部分新特性。
  • React-Router 4
  • 封裝Axios作為BaseService,統一處理介面。
  • PWA漸進式程式,可以像原生App一樣新增在裝置應用中,並支援離線使用。(目前還在開發Service Worker,暫時離線功能不支援資料儲存於獲取)

後端

專案地址

後端Koa-Server-Base地址,拎包使用

採用Koa.js資料庫使用MySQL 5.7,對框架資料處理層——dao層進行封裝,使用繼承來模組化Module等等,很大程度上提升系統易用性與安全性。

特性

  • 模組化業務層。(每個Module自行管理Router/Dao/Controller
  • 抽象Middleware層,每個模組可以更方便的組合自己需要的中介軟體。
  • 統一錯誤捕獲與處理。
  • 統一解碼jwt
  • 封裝訊息處理,統一管理API訊息。
  • 記錄訪問。

安全策略:

  • 採用JWT(Json Web Token)來做介面安全檢查,並封裝許可權效驗中介軟體。
  • 封裝資料庫類,統一處理資料庫層面可能發生的安全問題。
  • 記錄每一次的API進/出,可以更具需要處理與分析風險。
  • 使用log4js記錄、管理系統日誌。

專案截圖

image1
image2
image3
image4
image5
image6

相關文章