Skip to content

kosenda/MultiColorPicker

Repository files navigation

Important

やる気の問題で更新止めてます

CircleCI 

 

Google Play で手に入れよう

概要

Google Playで公開しているアプリ「マルチカラーピッカー」のソースになります。
URL : https://play.google.com/store/apps/details?id=kosenda.makecolor

アプリについての簡単な説明

  • 様々な方法で色を作成できることだけでなく、保存や比較もできるアプリ
  • アーキテクチャはMVVM
  • 13言語対応
  • 色についてはRGB, CMYK, HSV, HEXに対応

アプリを初めて起動するとき

local.propertiesに以下を追記してください

adApplicationId=ca-app-pub-3940256099942544~3347511713
adUnitId=ca-app-pub-3940256099942544/6300978111

使用している代表的なライブラリ

名前 簡単な説明
compose-color-picker カラーピッカー
Circle Ci CI/CD
danger プルリク時に警告
danger-jacoco jacocoプラグイン
Hilt 依存性注入
jacoco カバレッジ率計算
Jetpack Compose UIアプリ開発ツールキット
kotlinx serialization シリアライザー
ktlint フォーマッター
Preferences DataStore 永続化データ
Material3 デザイン
Mockk モック
palette-ktx パレットAPI
play-review アプリ内レビュー
play-services-ads Google AdMob
play-services-oss-licenses ライセンス
Robolectric 単体テストフレームワーク
Room データベース
Truth アサーション
Timber ログ出力
ui-text-google-fonts ダウンロード可能なフォント

モジュール構成

モジュールは:app, :feature, :coreの3階層に分かれていて基本的には一方通行になるようにしています。

flowchart LR
  classDef appModule fill:#AEFFDA,color:#000
  classDef featureModule fill:#FFDAAE,color:#000
  classDef coreModule fill:#DAAEFF,color:#000
  A([:app]):::appModule --> B([:feature]):::featureModule
  B --> C1([:core]):::coreModule
詳細(モジュール全て)

⚠️1 :feature と :core 内の依存関係は省略しています

⚠️2 :core:testing と :core:mock については以下には記載していません

flowchart LR
%%{init: {'flowchart' : {'curve' : 'cardinal'}}}%%

  classDef appModule fill:#AEFFDA,color:#000
  classDef featureModule fill:#FFDAAE,color:#000
  classDef coreModule fill:#DAAEFF,color:#000
  
  A1([:app]):::appModule --> B1([:feature:makecolor]):::featureModule
  A1 --> B2([:feature:settings]):::featureModule
  A1 --> B3([:feature:preview]):::featureModule
  A1 --> B4([:feature:info]):::featureModule
  A1 --> B5([:feature:edit]):::featureModule
  A1 --> B6([:feature:display]):::featureModule
  
  B1 --> C1([:core:model]):::coreModule 
  B1 --> C2([:core:data]):::coreModule
  B1 --> C3([:core:domain]):::coreModule
  B1 --> C4([:core:resource]):::coreModule
  B1 --> C5([:core:ui]):::coreModule
  B1 --> C6([:core:util]):::coreModule
  
  B2 --> C1
  B2 --> C2
  B2 --> C4
  B2 --> C5
  B2 --> C6
  
  B3 --> C5
  
  B4 --> C1
  B4 --> C2
  B4 --> C4
  B4 --> C5
  B4 --> C6
  
  B5 --> C1
  B5 --> C2
  B5 --> C4
  B5 --> C5
  B5 --> C6
  
  B6 --> C1
  B6 --> C2
  B6 --> C3
  B6 --> C4
  B6 --> C5
  B6 --> C6

スクリーンショット

主要画面
説明 ダークモード ライトモード
色作成(ピッカー)
色作成(シークバー)
色作成(テキスト)
色作成(写真)
色作成(混色)
色作成(ランダム)
データ一覧
分割色作成
グラデーション作成
設定
その他画面
説明 画面
インフォ
色選択
グラデーション
単色
カテゴリー詳細

アプリ内のデフォルトカラーデータについて

以下からデータを設定しました