Done Log — 毎日のルーティンタスクを管理するiPhoneアプリの紹介
なぜ作ったか
ルーティンタスクはGoogle Keepで管理していたのだが、毎日の完了確認のような手段がなかったので、ルーティンタスクに特化したタスク管理アプリを作ってみた。
ワンタップでタスク完了が記録できて、繰り返しルールに従って自動でリセットされる。管理の手間と記録しやすさに特化して開発した。
App Storeで公開しているので、興味があればぜひ試してみてほしい。
ユースケース
- 毎日の服薬確認 — 朝の薬を飲んだかを記録し、当日の進捗を確認する
- 週次ルーティンの管理 — 月・水・金の運動など、曜日を指定した繰り返しタスクを管理する
- 習慣の振り返り — カレンダービューで過去の完了記録を見て、習慣の継続状況を把握する
- N日おきのルーティン — 2週間に1回の掃除など、任意の間隔で繰り返すタスクを登録する
主な機能

今日のタスクビュー
今日の日付と繰り返しルールにマッチするタスクが「今日」欄にリストアップされる。完了済みタスクは取り消し線とチェックマークで表示され、その日の進捗をひと目で確認できる。

タスク登録フォーム
タスクフォームでは4種類の繰り返しタイプを選択できる。everyNDaysでは2〜30日の間隔をスライダーで指定できる。weekdaysでは複数の曜日チェックボックスで任意のパターン(例:月・水・金のみ)を設定できる。

カレンダービュー
過去の完了記録を月間カレンダーで可視化する。任意の日付をタップすると、その日に完了したタスクの一覧を確認できる。習慣の継続状況を振り返ったり、タスクをこなせなかった日を把握したりするのに便利だ。

設定とダークモード
言語(日本語・英語)とテーマ(ライト・ダーク・システム連動)を設定画面で変更できる。通知リマインダーを任意の時間帯にスケジュールできる。

技術スタック
| 層 | 技術 |
|---|---|
| UI | Flutter (iOS) |
| 状態管理 / DI | Riverpod + riverpod_generator |
| 永続化 | Hive |
| カレンダー | table_calendar |
| 通知 | flutter_local_notifications |
| テスト | flutter_test / mockito |
アーキテクチャはDomain・Application・Infrastructure・Presentationの4層構成で、RiverpodがDIと状態管理を担う。Hiveがすべてのデータをローカルに保存するため、アプリは完全にオフラインで動作する。タスク定義と完了履歴は別テーブルに保存されるため、繰り返しルールを変更しても過去の記録は失われない。
繰り返しルールエンジン
繰り返しルールエンジンは、「このタスクを今日表示すべきか」を判断する仕組みだ。毎日・N日おき・曜日指定・1回のみという4種類のルールをサポートしており、タスクごとに異なるリズムで自動的にリセットされる。
ルールの評価はドメイン層に閉じており、データベースやUIとは切り離されている。そのため、ルールの変更や新しいタイプの追加が他の部分に影響を与えにくい構造になっている。
リセットはアプリ起動時に自動で実行される。ユーザーが意識しなくても、翌日には前日のタスクがリセットされた状態で表示される。
まとめ
Done Logは、毎日のルーティンタスクをできるだけ手間なく管理したいと思って作ったアプリである。ワンタップで記録できる点と、繰り返しルールによる自動リセットが自分で使っていて気に入っている。
良ければダウンロードしてみてほしい。
- App Store: Done Log