tiplsk リファクタリング案
いつも行き当たりばったりで作り始めて、「あー、こここうすれば良かったかなー。よし、直すか!」みたいになってるのでメモ。(既になってる)
とりあえず、今のところこんなかんじ(2019/03/28)
プロジェクト
1. tiplsk-core
[概要]
非公開(ローカルサーバー内で稼働)
DB操作あり
Liskチェーンアクセスあり
[機能]
・認証
・DB操作
・Liskチェーン操作(入金チェック、出金時トランザクション生成)
・各種コマンドの受付
2. tiplsk-api
[概要]
公開
DB操作なし(DB操作時はtiplsk-corerの機能を実行)
[機能]
・認証:[POST] /api/auth
param:ID、パスワード
return:jwt
・ユーザー情報取得:[GET] /api/user
return:認証したユーザーの情報(ID、所持枚数)
・履歴取得:[GET] /api/history
param:オフセット、取得件数(最大100)
return:認証したユーザーの履歴(日付降順)
・出金:[PUT] /api/withdraw
param:枚数、Liskアドレス
return:トランザクションID
・パスワード変更:[PUT] /api/password
param:パスワード
return:true or false
3. tiplsk
[概要]
非公開(ローカルサーバー内で稼働)
DB操作なし(DB操作時はtiplsk-corerの機能を実行)
Twitterアクセスあり
[機能]
tweetのコマンド受付
tweet取得→応答(tweet or DM)
Twitterフォロワー操作
[仕様変更]
1. webaccess コマンドの追加
・ログインIDとWEB機能のURLをDMで送付
※パスワード未設定の場合の初期パスワードを併記
4. tiplsk-web
[概要]
公開
DB操作なし(DB操作時はtiplsk-corerの機能を実行)
[機能]
・ログイン
※ID、パスワードはtiplskコマンド(webaccess)で取得
・ユーザー情報取得
※tiplsk-apiのユーザー情報取得処理を実行・表示
・履歴取得
※tiplsk-apiの履歴取得処理を実行・表示
・出金
※tiplsk-apiの出金処理を実行
・パスワード変更
※tiplsk-apiのパスワード変更処理を実行
流れ
tiplsk -> tiplsk-core
WEB
tiplsk-web -> tiplsk-api -> tiplsk-core