Skip to content

SoutaTanaka/sota_flutter_template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

そたFlutterテンプレート

クリーンアーキテクチャに基づいたマルチパッケージ構成のFlutterプロジェクトテンプレートです。

プロジェクト構成

このプロジェクトは、以下のようなマルチパッケージ構成で設計されています:

sota_flutter_template/
├── app/                  # メインアプリケーション
├── packages/             # 各種パッケージ
│   ├── domain/           # ドメイン層
│   ├── data/             # データ層
│   │   ├── adapter/      # リポジトリ実装
│   │   ├── api/          # API通信関連
│   │   └── local/        # ローカルストレージ関連
│   └── presentation/     # プレゼンテーション層
│       ├── component/   # 共通UIコンポーネント
│       └── page/         # 画面コンポーネント
└── pubspec.yaml          # ワークスペース設定

アーキテクチャ

このプロジェクトは、クリーンアーキテクチャの原則に基づいて設計されています。各層の責務は以下の通りです:

ドメイン層

  • domain: ドメインモデルとビジネスロジックを提供します

データ層

  • adapter: リポジトリインターフェースの実装を提供します
  • api: API通信のためのクライアントとデータ構造を提供します
  • local: ローカルストレージへのアクセスを提供します

プレゼンテーション層

  • component: 再利用可能なUIコンポーネントを提供します
  • page: アプリケーションの画面コンポーネントを提供します

依存関係の方向

依存関係は以下のルールに従っています:

  1. 内側の層は外側の層に依存してはいけません

    • domain → data, presentation (禁止)
    • data → presentation (禁止)
    • presentation → data (禁止)
  2. 許可される依存関係

    • presentation → domain
    • data → domain
    • app → 全てのパッケージ

開発環境セットアップ

セットアップ手順

  1. リポジトリのクローン
git clone <repository-url>
cd sota_flutter_template
  1. FVMを使用して.fvmrcに設定されたバージョンを使用
fvm use
  1. 依存関係のインストール
fvm flutter pub get

コード規約

  • very_good_analysisに基づいたリントルールが適用されています
  • 各パッケージには個別のanalysis_options.yamlが含まれており、必要に応じてカスタマイズされています

テスト

各パッケージには独自のテストディレクトリがあり、ユニットテストとウィジェットテストを含めることができます。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors