docs: update master-architecture to 2026-04-05 — OAuth/Stripe/VOICEVOX/Uptime Kuma port
This commit is contained in:
parent
7580c79f05
commit
225fa7b8f7
|
|
@ -1,6 +1,6 @@
|
||||||
# Posimai Project — マスターアーキテクチャドキュメント
|
# Posimai Project — マスターアーキテクチャドキュメント
|
||||||
|
|
||||||
最終更新: 2026-03-31
|
最終更新: 2026-04-05
|
||||||
対象: Claude Code / Cursor / Antigravity / Gemini / 全 AI エージェント
|
対象: Claude Code / Cursor / Antigravity / Gemini / 全 AI エージェント
|
||||||
|
|
||||||
**このドキュメントはプロジェクトの現状を一元管理します。実装の前に必ず読んでください。**
|
**このドキュメントはプロジェクトの現状を一元管理します。実装の前に必ず読んでください。**
|
||||||
|
|
@ -10,7 +10,15 @@
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 1. 全体構成図(2026-03-31 確定)
|
## 0. ビジネス体制(確定)
|
||||||
|
|
||||||
|
- **Eiji**: 共同経営者。VPS・DNS(soar-enrich.com)・Cloudflare 管理・対外窓口・代表。
|
||||||
|
- **mai**: プロダクト開発担当。アプリ設計・実装・AI 活用。
|
||||||
|
- インフラ・ドメイン共用は設計通り。「Eiji 依存リスク」ではない。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 全体構成図(2026-04-05 確定)
|
||||||
|
|
||||||
```
|
```
|
||||||
╔══════════════════════════════════════════════════════════╗
|
╔══════════════════════════════════════════════════════════╗
|
||||||
|
|
@ -57,12 +65,16 @@
|
||||||
║ 稼働中のエンドポイント: ║
|
║ 稼働中のエンドポイント: ║
|
||||||
║ ・記事 /articles /save ・Journal /journal/* ║
|
║ ・記事 /articles /save ・Journal /journal/* ║
|
||||||
║ ・RSS /feeds ・Gemini AI /gemini/* ║
|
║ ・RSS /feeds ・Gemini AI /gemini/* ║
|
||||||
║ ・TTS /tts/* ← VOICEVOX 連携(コンテナ追加で即有効) ║
|
║ ・認証 /auth/* (Magic Link + WebAuthn + Google/GitHub OAuth) ║
|
||||||
|
║ ・記事 /articles /save ・Journal /journal/* ║
|
||||||
|
║ ・RSS /feeds ・Gemini AI /gemini/* ║
|
||||||
|
║ ・TTS /tts/* ← VOICEVOX(:50021 稼働済み) ║
|
||||||
|
║ ・Stripe Webhook /api/stripe/webhook(署名検証済み) ║
|
||||||
║ ║
|
║ ║
|
||||||
║ PostgreSQL 16 ║
|
║ PostgreSQL 16 ║
|
||||||
║ articles / journal_posts / users ║
|
║ articles / journal_posts / users(plan/stripe列あり) ║
|
||||||
║ site_config / reading_history ║
|
║ site_config / reading_history ║
|
||||||
║ ※ users/magic_link_tokens 等で VPS 自前認証を完全ホスト ║
|
║ magic_link_tokens / passkey_credentials / auth_sessions ║
|
||||||
╚══════════════════════════════════════════════════════════╝
|
╚══════════════════════════════════════════════════════════╝
|
||||||
|
|
||||||
╔══════════════════════════════════════════════════════════╗
|
╔══════════════════════════════════════════════════════════╗
|
||||||
|
|
@ -85,36 +97,33 @@
|
||||||
║ ・Gitea(git バックアップサーバー) ║
|
║ ・Gitea(git バックアップサーバー) ║
|
||||||
║ ・posimai_api(旧 API・待機中・フォールバック候補) ║
|
║ ・posimai_api(旧 API・待機中・フォールバック候補) ║
|
||||||
║ ・PostgreSQL 15(旧 DB・待機中) ║
|
║ ・PostgreSQL 15(旧 DB・待機中) ║
|
||||||
║ ・Uptime Kuma(死活監視) ║
|
║ ・Uptime Kuma(死活監視 / :3002) ║
|
||||||
║ ・VOICEVOX(TTS / VPS 移設予定) ║
|
|
||||||
╚══════════════════════════════════════════════════════════╝
|
╚══════════════════════════════════════════════════════════╝
|
||||||
|
|
||||||
╔══════════════════════════════════════════════════════════╗
|
╔══════════════════════════════════════════════════════════╗
|
||||||
║ 外部サービス ║
|
║ 外部サービス ║
|
||||||
║ ║
|
║ ║
|
||||||
║ 【認証】VPS 自前システム (Magic Link + WebAuthn) ║
|
║ 【認証・稼働中】VPS 自前(Magic Link + WebAuthn + ║
|
||||||
║ → Supabase Auth 構築を中止し、完全セルフホスト化 ║
|
║ Google OAuth + GitHub OAuth) ║
|
||||||
║ → 各アプリは VPS JWT で全APIと通信 ║
|
║ JWT: { userId, sid, plan }(plan=free/premium) ║
|
||||||
║ → Magic Link メール送信のみ Resend (noreply) を利用 ║
|
║ Resend: Magic Link メール送信(noreply@soar-enrich.com)║
|
||||||
|
║ ║
|
||||||
|
║ 【決済・テストモード稼働中】Stripe ║
|
||||||
|
║ 月額¥500・Webhook で plan=premium に自動更新 ║
|
||||||
|
║ 本番切り替え: Store デザイン確定・特商法記入後 ║
|
||||||
║ ║
|
║ ║
|
||||||
║ 【稼働中】Supabase DB ║
|
║ 【稼働中】Supabase DB ║
|
||||||
║ together(リアルタイム同期・稼働中) ║
|
║ together のみ(リアルタイム同期) ║
|
||||||
║ habit / pulse(将来移行予定・現在は localStorage) ║
|
|
||||||
║ ║
|
║ ║
|
||||||
║ Gemini API → VPS 経由(journal/pulse 等) ║
|
║ Gemini API → VPS 経由(journal/pulse 等) ║
|
||||||
║ Gemini API → フロント直接(think アプリのみ) ║
|
║ Gemini API → フロント直接(think アプリのみ) ║
|
||||||
║ Resend(メール)→ noreply@soar-enrich.com ║
|
|
||||||
║ Google Fonts(Inter)/ unpkg(Lucide @0.344.0 固定) ║
|
║ Google Fonts(Inter)/ unpkg(Lucide @0.344.0 固定) ║
|
||||||
║ ║
|
|
||||||
║ 【将来】 ║
|
|
||||||
║ Stripe(課金・アカウント済み・Eiji と共有済み) ║
|
|
||||||
║ Google Play Console(Android 配信) ║
|
|
||||||
╚══════════════════════════════════════════════════════════╝
|
╚══════════════════════════════════════════════════════════╝
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 2. アプリ一覧(全 23 本・2026-03-28 時点)
|
## 2. アプリ一覧(全 27 本・2026-04-05 時点)
|
||||||
|
|
||||||
| アプリ | URL | 種別 | バックエンド | 備考 |
|
| アプリ | URL | 種別 | バックエンド | 備考 |
|
||||||
|--------|-----|------|-------------|------|
|
|--------|-----|------|-------------|------|
|
||||||
|
|
@ -213,10 +222,17 @@ npm run deploy # = git push gitea main && git push github main
|
||||||
| 2026-03-25 | バックエンドを Synology → VPS(Eiji 提供)に移行完了 |
|
| 2026-03-25 | バックエンドを Synology → VPS(Eiji 提供)に移行完了 |
|
||||||
| 2026-03-26 | API URL を `posimai.soar-enrich.com` → `api.soar-enrich.com` に分離完了 |
|
| 2026-03-26 | API URL を `posimai.soar-enrich.com` → `api.soar-enrich.com` に分離完了 |
|
||||||
| 2026-03-27 | 認証方式を Supabase Auth(Magic Link + Passkey)に確定 |
|
| 2026-03-27 | 認証方式を Supabase Auth(Magic Link + Passkey)に確定 |
|
||||||
| 2026-03-28 | 現行 auth テーブル(magic_link_tokens 等)は将来削除予定・今は放置 |
|
|
||||||
| 2026-03-29 | ベンダーロックイン回避のため Supabase 完全移行を中止。VPS 独自認証(Magic Link+Passkey)を正規方針として続行 |
|
| 2026-03-29 | ベンダーロックイン回避のため Supabase 完全移行を中止。VPS 独自認証(Magic Link+Passkey)を正規方針として続行 |
|
||||||
|
| 2026-04-04 | Google OAuth + GitHub OAuth 実装完了・動作確認済み |
|
||||||
|
| 2026-04-04 | Stripe Webhook 実装完了・テスト決済で plan=premium 更新確認済み |
|
||||||
|
| 2026-04-05 | VOICEVOX VPS 稼働済み確認(:50021)|
|
||||||
|
| 2026-04-05 | Uptime Kuma ポートが 3001 ではなく 3002 と判明・Station 修正済み |
|
||||||
|
| 2026-04-05 | atlas.json v3・Dashboard timeline・BentoCard beta バッジ更新済み |
|
||||||
| 保留中 | *.posimai.soar-enrich.com ワイルドカード DNS(Eiji 依頼待ち) |
|
| 保留中 | *.posimai.soar-enrich.com ワイルドカード DNS(Eiji 依頼待ち) |
|
||||||
| 保留中 | VPS に VOICEVOX コンテナ追加(Eiji 作業中) |
|
| 保留中 | Store デザイン確定(A/B/C/D から選定中) |
|
||||||
|
| 保留中 | 特商法ページ事業者情報記入(mai 作業) |
|
||||||
|
| 保留中 | Stripe 本番モード切り替え |
|
||||||
|
| 未決定 | どのアプリに premium 機能を実装するか(最重要課題) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue