タスクのCRUDができるToDoアプリ
create & read | update | delete |
---|---|---|
Android 4.0.1で開発
MVVM + Layerd Arch(Repository、DomainService、etc) に近い感じで統一されている
非同期処理はCoroutineを利用している ログインとデータ管理についてはFirebase(Auth、Firestore)を利用している
app/src/main/java/io/github/mrtry/todolist/
├── app // UIまわりをドメイン別に区切ってある
│ ├── splash // スプラッシュ画面
│ │ ├── ui
│ │ │ ├── navigator
│ │ │ └── result
│ │ └── viewmodel
│ └── todo // ログイン後のToDoタスク画面
│ ├── ui
│ │ ├── adapter
│ │ ├── menu
│ │ └── navigator
│ └── viewmodel
│ └── converter
├── auth // 認証まわり
│ └── repository
├── di // DIまわり
│ ├── component
│ ├── module
│ ├── qualifier
│ ├── scope
│ └── utils
├── misc // 拡張関数や共通利用できるUIまわりのあれこれ
│ ├── extension
│ └── ui
│ ├── binding
│ ├── menu
│ ├── navigator
│ ├── result
│ ├── view
│ └── viewmodel
└── task // ToDo Taskまわり
├── domainservice
├── entity
└── repository
Material Design Guidelineに概ね従って整えてある
ViewModelについてのユニットテストは最低限書いてあるが、他は書いていない 一部Roborectricを利用するテストが動作しないためコメントアウトしてある(環境構築に問題があるのかもしれない)
UIテストまでは書いていない
GitHub Actionsで最低限設定してある
- deploy branchにmergeするタイミングで、ユニットテストを実行するようにしてある
- main branchにmergeするタイミングで、DeplopyGateへデプロイをするようにしてある
- CI上では、
google-service.json
をsecretsに入れてあるのでビルドができるが、手元でやるときは自前で準備する必要がある