1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人開発 Habitica-外部連携 基本設計

Last updated at Posted at 2025-04-05

基本設計を書く目的

システムの目的を満たすための動作や振る舞い、構造を決定記述することです。
基本設計では実装方法についてはあまり触れません。
プログラム(実現手段ではない)については配慮せずデータの入出力/格納を記述する。
外部から見える「動作、振る舞い」を記述する。
ブラックボックス的とも、ソフトウェア、フレームワークに依存しない。

インプットとなる資料

概念設計

成果物

外部連携一覧

# 連携元システム名 連携先システム名 連携対象データ
1 タスク管理ツール BIツール タスクトランザクション
# 接続方式 連携タイミング 連携データ想定量 備考
1 Webサービス 日時処理 50件

入出力

API側

Habitica API リクエスト

URI:https://habitica.com/api/v3/tasks/user

リクエストパラメーター

パラメーター名 種類 備考
x-api-user ヘッダーパラメーター Habiticaの設定→サイトのデータ→ユーザーで値を確認
x-api-key ヘッダーパラメーター Habiticaの設定→サイトのデータ→ユーザーで値を確認
x-client ヘッダーパラメーター x-api-user + "-Testing"

Habitica API  レスポンス

項目名
_id String 'f8d9468a-991c-42fe-bd9b-5ddc9ec1eaaa',
completed bool false,
collapseChecklist bool false,
checklist Array [ [Object], [Object] ],
type String 'todo',
text String 'Habiticaの基本設計',
notes String '',
tags: Array [ 'bd52d6af-661b-478f-9dc0-be48f2d20aaa' ],
value Number -1,
priority Number 1.5,
attribute String 'str',
challenge any {},
group any { completedBy: {}, assignedUsers: [] },
reminders Array {"time":"2017-01-13T16:21:00.074Z","startDate":"2017-01-13T16:20:00.074Z",
"id":"b8b549c4-8d56-4e49-9b38-b4dcde976aaa"}
byHabitica bool false,
createdAt String '2025-03-27T11:47:52.832Z'
updatedAt String '2025-03-28T12:55:17.307Z'
userId String '1045522e-dbb4-4541-9cc7-1b65fb5acaaa'
id String 'f8d9468a-991c-42fe-bd9b-5ddc9ec1eaaa'

DB

テーブル定義書 出力

A5SQLから拝借
IDとバッチ処理実行日時を主キーにしています。
正規化とか全く考慮してません!

image.png

参考

APIパラメータ種類

Habitica API

外部連携設計

書籍:システム設計の謎を解く p163-164

DB設計

書籍:書籍:システム設計の謎を解く p156

個人開発目次

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?