Overview - horihorikeitaa/PomofocusGuardApp GitHub Wiki
ポモフォーカスガードアプリは、「機能ベースのクリーンアーキテクチャ + Reactiveパターン」を採用しています。
-
機能(Feature)ベースのディレクトリ構造
- 技術的な関心事ではなく、機能に基づいてコードを整理
- 関連するドメインロジック、データアクセス、UI要素を機能ごとにグループ化
-
クリーンアーキテクチャの原則
- 依存性の方向を内側に向ける
- ドメインロジックを独立させ、フレームワークや外部依存から保護
- 層間の明確な境界とインターフェース
-
リアクティブな状態管理
- Recoilを使用したReactive Programmingパターン
- アトミックな状態管理と派生状態の効率的な計算
-
プレゼンテーションとビジネスロジックの分離
- カスタムフックによるViewModelパターンの実装
- UIとビジネスロジックの明確な分離
各機能は以下の4つのレイヤーで構成されています:
- エンティティとビジネスルール
- ユースケース(インタラクター)
- リポジトリとサービスのインターフェース
- 外部依存のない純粋なビジネスロジック
- リポジトリ実装
- 外部APIとの連携
- データマッピング
- 永続化
- カスタムフック(ViewModel的役割)
- UIへのデータ提供と状態管理
- ユーザーアクションのハンドリング
- Reactコンポーネント
- 画面レイアウト
- スタイリング
- ユーザー入力