このプロジェクトについて
TimeBackは、各タスクがカウントアップするのではなくカウントダウンする、特徴的なToDoリストアプリである。デスクトップとモバイルデバイスで動作し、専用サーバーを必要とせず、単一のGitHubリポジトリを通じて同期できる。ユーザーは名前だけでパスワードなしにログインでき、その名前に応じてタスクが保存されるフォルダが決定される。
このアプリはGitHub Pagesで静的サイトとしてデプロイされ、Android、iPhone、デスクトップブラウザにProgressive Web App(PWA)としてインストールできる。オフライン対応とホーム画面へのインストールのため、マニフェスト、サービスワーカー、アイコンを備えている。
主な機能は以下の通り。
- カウントダウン方式のタスク管理
- GitHubをストレージバックエンドとして使用する複数デバイス間同期
- ローカル保存とオンライン時に自動プッシュ/プルを行うオフラインファースト動作
- パスワードを使用しない簡単な名前ベースのログイン
- 各デバイスでユーザー設定を記憶するライトテーマ/ダークテーマ切り替え
- 現在のユーザーをブラウザから削除するが、データは削除しないログアウト
同期ロジックでは、変更をまずローカルに即時保存し、オンラインであれば変更から約1.5秒後にGitHubへプッシュする。ログイン時またはアプリを起動したときは、最初に最新バージョンをプルする。2台のデバイスがオフライン中に編集した場合、最後に編集されたバージョンが勝つ。
セットアップには、GitHubリポジトリの作成、リポジトリの内容への読み書き権限を持つfine-grained personal access tokenの発行、アプリファイルのアップロード、GitHub Pagesの有効化、デバイスごとの同期設定が必要である。プロジェクトでは、実際のセキュリティは存在せず、トークンを持つ誰でもリポジトリ内のユーザーフォルダにアクセスできることを明確に注記している。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.