メインコンテンツまでスキップ

コードの場所を知る

VideoQ の中心は、画面を表示する web、リクエストに応答する api、時間のかかる処理を実行する worker の3つです。

最初に覚えるディレクトリ

場所担当することここを変更する例
apps/web/Reactの画面と利用者の操作動画一覧の表示、フォーム、チャットUI
apps/api/認証、権限、業務処理、DBアクセス動画取得、講座編集、利用量の確認
packages/trpc/画面とAPIが共有する呼び出し名・入力・出力の型APIに項目や操作を追加する
apps/worker/Pythonの非同期処理文字起こし、索引、PLOG生成
docs/このサイトの英語の本文操作や設計の説明を直す
apps/docs/文書サイトの設定と日本語訳メニュー、検索、スタイル、翻訳
infra/本番基盤・デプロイの資料と設定運用構成を確認する

Node.jsの依存関係はルートの package-lock.json、Python workerは apps/worker/pyproject.tomluv.lock で管理します。

1つの操作を端から追う

最初は、動画処理より小さい「タグ一覧の取得」を読むと役割が分かります。

順番ファイル見るポイント
1useTags.ts画面がデータを取得・更新する入口
2routers/tags.tstags.list の入力、出力、ログイン要件
3media-library.ts利用者IDを使ってサービスを呼ぶ部分
4tags/service.tsタグの操作を組み立てる部分
5tag-repository.ts利用者の範囲に絞ってDBを読む部分

ここでいう「契約」は、呼び出し側とAPIが守る入力・出力の約束です。共有契約から型が伝わるので、変更すると影響先を型チェックで確認できます。

次に読む入口

  • 画面: App.tsxpages/hooks/
  • API: app.tstrpc/context.tstrpc/handlers/
  • 動画処理: tasks/registry.pytasks/transcription.pytasks/indexing.py
  • DB: schema/index.tsmodern.tsbetter-auth.ts

Cloudflare Workers はAPIの実行基盤、apps/workerPythonの動画処理 です。名前は似ていますが、別のプログラムです。

次に読む: 最初の変更を進める。全体の配置を確認したい場合はシステムの全体像へ進みます。