実装順序
推奨する実装フェーズ
依存関係の順で6つのフェーズに分割。各フェーズは前フェーズに依存。
Phase 1: 基盤(他の全機能の前提)
- DBマイグレーション(全テーブル作成)
- Valkey・RustFS・Qdrant の起動確認
- アカウント作成 POST /v1/auth/register
- ログイン POST /v1/auth/login(セッション発行)
- ログアウト POST /v1/auth/logout
- プロフィール取得 GET /v1/accounts/me
Phase 2: ファイル基本操作
- フォルダー作成・一覧・更新・削除
- ファイルアップロード POST /v1/files(RustFS保存・DBメタデータ登録)
- マイファイル一覧 GET /v1/files/mine
- ファイル閲覧 GET /v1/files/:id
- ファイル更新・削除
- ゴミ箱・復元・ゴミ箱を空にする
Phase 3: 共有機能
- リンク共有生成・一覧・削除
- 共有ファイル閲覧(認証なし/open共有)
- ダウンロード
- 合言葉共有(WebSocket + WebRTC DataChannel)
Phase 4: 検索
- ファイル名検索(PostgreSQL ILIKE)
- 内容検索(PostgreSQL FTS)
- OCR検索(Python FastAPI + PaddleOCR/EasyOCR)
- ベクトル検索(Python FastAPI + multilingual-e5 + Qdrant)
Phase 5: 管理機能
- アカウント一覧 GET /v1/accounts(管理者)
- アカウント名検索
- アカウント凍結・凍結解除(メール通知含む)
- アカウント削除
Phase 6: 監視・非機能
- Prometheus メトリクス エンドポイント追加
- Grafana ダッシュボード設定
- Loki ログ収集設定
- レート制限の実装