commit d8a218da0596fc743e2141f8d7253426cbd173da Author: posimai Date: Sun Mar 22 16:39:23 2026 +0900 feat: initial release — Posimai Roadmap PWA Board / Apps / Ideas の3ビューで実績・今・これからを管理する プロジェクト管理 PWA。roadmap.json + localStorage でデータ管理。 「JSON をコピー」機能で Claude との連携を前提に設計。 Co-Authored-By: Claude Sonnet 4.6 diff --git a/index.html b/index.html new file mode 100644 index 0000000..f2bf0f2 --- /dev/null +++ b/index.html @@ -0,0 +1,1184 @@ + + + + + + + + + + + + + + + + + + + Posimai Roadmap + + + + + + + + + + + + + + +
+
+ + Roadmap +
+ +
+ +
+ + + +
+ +
+
+
+
+
+ + + + + + + + + +
+ + + + + diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..d6edb6e --- /dev/null +++ b/manifest.json @@ -0,0 +1,17 @@ +{ + "id": "/posimai-roadmap/", + "name": "Posimai Roadmap", + "short_name": "Roadmap", + "description": "Posimai プロジェクト課題・ロードマップ管理", + "start_url": "/", + "display": "standalone", + "display_override": ["window-controls-overlay", "standalone"], + "background_color": "#0D0D0D", + "theme_color": "#0D0D0D", + "orientation": "portrait-primary", + "categories": ["productivity"], + "icons": [ + { "src": "/logo.png", "sizes": "192x192", "type": "image/png", "purpose": "any" }, + { "src": "/logo.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" } + ] +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..f981e1c --- /dev/null +++ b/package.json @@ -0,0 +1,9 @@ +{ + "name": "posimai-roadmap", + "version": "1.0.0", + "description": "Posimai プロジェクト課題・ロードマップ管理", + "private": true, + "scripts": { + "deploy": "git push gitea main && git push github main" + } +} diff --git a/roadmap.json b/roadmap.json new file mode 100644 index 0000000..7904068 --- /dev/null +++ b/roadmap.json @@ -0,0 +1,253 @@ +{ + "version": "1.0", + "updated": "2026-03-22", + "members": ["mai", "codev"], + "milestones": [ + { + "id": "ms-01", + "title": "posimai-ui v2 移行", + "target": "2026-07-01", + "note": "破壊的変更。全アプリのタグ更新が必要なため段階的に計画する", + "status": "planning", + "apps": ["posimai-ui"] + } + ], + "apps": [ + { + "id": "posimai-habit", + "tasks": [ + { + "id": "habit-01", + "title": "ヒートマップ PDF 出力", + "status": "next", + "note": null, + "by": "mai", + "created": "2026-03-22", + "commit": null, + "done_at": null + }, + { + "id": "habit-02", + "title": "iCloud 同期", + "status": "hold", + "note": "S3 代替案・Supabase Storage と料金比較が必要", + "by": "mai", + "created": "2026-03-10", + "commit": null, + "done_at": null + }, + { + "id": "habit-03", + "title": "UPSERT COALESCE 修正(部分 POST でメトリクス消失)", + "status": "done", + "note": null, + "by": "mai", + "created": "2026-03-01", + "commit": "e7ccd82", + "done_at": "2026-03-15" + } + ] + }, + { + "id": "posimai-together", + "tasks": [ + { + "id": "together-01", + "title": "メンバー招待フロー", + "status": "next", + "note": null, + "by": "mai", + "created": "2026-03-22", + "commit": null, + "done_at": null + }, + { + "id": "together-02", + "title": "Supabase 本番切り替え完了・並行レイヤー実装", + "status": "done", + "note": null, + "by": "mai", + "created": "2026-03-21", + "commit": null, + "done_at": "2026-03-21" + }, + { + "id": "together-03", + "title": "全文検索・カード折り畳み・ソート・メンバーフィルター", + "status": "done", + "note": null, + "by": "mai", + "created": "2026-03-22", + "commit": "0c3eaa8", + "done_at": "2026-03-22" + } + ] + }, + { + "id": "posimai-brief", + "tasks": [ + { + "id": "brief-01", + "title": "VOICEVOX キャラクター切り替え UI", + "status": "backlog", + "note": null, + "by": "mai", + "created": "2026-03-22", + "commit": null, + "done_at": null + }, + { + "id": "brief-02", + "title": "記事タイトルリスト UI 追加", + "status": "done", + "note": null, + "by": "mai", + "created": "2026-03-22", + "commit": null, + "done_at": "2026-03-22" + } + ] + }, + { + "id": "posimai-veil", + "tasks": [ + { + "id": "veil-01", + "title": "ツールバー統合・カスタムアプリ登録", + "status": "done", + "note": null, + "by": "mai", + "created": "2026-03-21", + "commit": null, + "done_at": "2026-03-21" + } + ] + }, + { + "id": "posimai-feed", + "tasks": [ + { + "id": "feed-01", + "title": "サイドバー・メディアソース追加機能", + "status": "backlog", + "note": null, + "by": "mai", + "created": "2026-03-22", + "commit": null, + "done_at": null + } + ] + }, + { + "id": "posimai-hotels", + "tasks": [ + { + "id": "hotels-01", + "title": "楽天トラベル / じゃらん API 連携", + "status": "hold", + "note": "API 申請が必要。現在はモックデータで動作中", + "by": "mai", + "created": "2026-03-22", + "commit": null, + "done_at": null + } + ] + }, + { + "id": "posimai-analytics", + "tasks": [ + { + "id": "analytics-01", + "title": "Galaxy ビュー:Kintone 実データ連携", + "status": "next", + "note": null, + "by": "mai", + "created": "2026-03-22", + "commit": null, + "done_at": null + } + ] + }, + { + "id": "posimai-ui", + "tasks": [ + { + "id": "ui-01", + "title": "v2 設計・破壊的変更の計画", + "status": "backlog", + "note": "全アプリ横断の変更。マイルストーン ms-01 と連動", + "by": "mai", + "created": "2026-03-22", + "commit": null, + "done_at": null + }, + { + "id": "ui-02", + "title": "13 アプリへのデザイントークン統一", + "status": "done", + "note": null, + "by": "mai", + "created": "2026-03-21", + "commit": null, + "done_at": "2026-03-21" + } + ] + }, + { + "id": "posimai-roadmap", + "tasks": [ + { + "id": "roadmap-01", + "title": "Phase 2: GitHub/Gitea API 連携(git 活動フィード)", + "status": "backlog", + "note": "共同開発者の GitPulse と統合して Apps ビューに commit 履歴を表示", + "by": "mai", + "created": "2026-03-22", + "commit": null, + "done_at": null + } + ] + } + ], + "global": [ + { + "id": "global-01", + "title": "server.js エンドポイント整理・ドキュメント化", + "status": "backlog", + "note": null, + "by": "mai", + "created": "2026-03-22", + "commit": null, + "done_at": null + } + ], + "ideas": [ + { + "id": "idea-01", + "title": "posimai-focus", + "description": "Pomodoro + roadmap の next タスクを直接実行できる集中モード", + "status": "exploring", + "note": null, + "by": "mai", + "created": "2026-03-22" + }, + { + "id": "idea-02", + "title": "GitPulse 統合ビュー", + "description": "共同開発者の GitPulse と roadmap を 1 画面に統合", + "status": "exploring", + "note": "共同開発者と相談が必要", + "by": "mai", + "created": "2026-03-22" + }, + { + "id": "idea-03", + "title": "posimai-finance", + "description": "家計簿・支出トラッキング PWA", + "status": "candidate", + "note": "APP_IDEAS.md に記載済み", + "by": "mai", + "created": "2026-03-22" + } + ] +} diff --git a/sw.js b/sw.js new file mode 100644 index 0000000..22a7ec1 --- /dev/null +++ b/sw.js @@ -0,0 +1,32 @@ +// Posimai SW — stale-while-revalidate + update notification +const CACHE = 'posimai-roadmap-v1'; +const STATIC = ['/', '/index.html', '/manifest.json', '/logo.png', '/roadmap.json']; + +self.addEventListener('install', e => { + e.waitUntil(caches.open(CACHE).then(c => c.addAll(STATIC))); +}); + +self.addEventListener('activate', e => { + e.waitUntil( + caches.keys().then(keys => + Promise.all(keys.filter(k => k !== CACHE).map(k => caches.delete(k))) + ).then(() => self.clients.claim()) + ); +}); + +self.addEventListener('fetch', e => { + if (e.request.method !== 'GET') return; + if (!e.request.url.startsWith(self.location.origin)) return; + + e.respondWith( + caches.open(CACHE).then(cache => + cache.match(e.request).then(cached => { + const network = fetch(e.request).then(res => { + if (res.ok && res.type === 'basic') cache.put(e.request, res.clone()); + return res; + }).catch(() => cached); + return cached || network; + }) + ) + ); +});