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.js
数据库使用MySQL 5.7
,对框架数据处理层——dao
层进行封装,使用继承来模块化Module
等等,很大程度上提升系统易用性与安全性。
特性
- 模块化业务层。(每个
Module
自行管理Router/Dao/Controller
) - 抽象
Middleware
层,每个模块可以更方便的组合自己需要的中间件。 - 统一错误捕获与处理。
- 统一解码
jwt
。 - 封装消息处理,统一管理
API
消息。 - 记录访问。
安全策略:
- 采用
JWT(Json Web Token)
来做接口安全检查,并封装权限效验中间件。 - 封装数据库类,统一处理数据库层面可能发生的安全问题。
- 记录每一次的
API
进/出,可以更具需要处理与分析风险。 - 使用
log4js
记录、管理系统日志。