Offline Todo Progressive Web App
モダンなウェブ技術を使用して構築された、完全オフライン対応のタスク管理Progressive Web App(PWA)です。
主な特徴
🚀 オフライン優先設計
- WebAssembly版SQLiteを使用したローカルデータストレージ
- Service Workerによる完全オフライン動作
- インストール可能なPWA対応
⚡ パフォーマンス最適化
- React 18 + TypeScript + Viteによるモダンな開発環境
- 高速な起動時間とスムーズな操作性
- レスポンシブデザインによるマルチデバイス対応
🛠 豊富な機能
- タスクの作成、編集、削除
- ステータスとタグによるフィルタリング機能
- JSON形式でのデータインポート/エクスポート
- Radix UIを使用した洗練されたUI
技術スタック
- フロントエンド: React 18, TypeScript
- ビルドツール: Vite
- データベース: SQLite (WebAssembly)
- UI Framework: Radix UI
- テスト: Playwright (E2E), Jest (Unit)
- CI/CD: GitHub Actions
アーキテクチャ
データ永続化戦略
複数のデータ永続化手法をサポートし、ブラウザ環境に応じて最適な方法を選択:
- WebAssembly SQLite (メイン)
- IndexedDB (フォールバック)
- LocalStorage (軽量データ)
オフライン対応
- Service Workerによるアプリケーションキャッシュ
- ネットワーク状態の検知と適切な処理
- データ同期機能(将来実装予定)
品質保証
テスト戦略
- Unit Tests: 個別コンポーネントとロジックのテスト
- E2E Tests: Playwrightによる統合テスト
- 継続的インテグレーション: GitHub Actionsによる自動テスト実行
ブラウザサポート
- Chrome/Edge 90+
- Firefox 89+
- Safari 15+
デプロイメント
GitHub Actionsを使用した自動デプロイメントパイプラインを構築。コードがプッシュされると自動的にGitHub Pagesにデプロイされます。