VedAnvaya
네 베다 사미타를 하나로 연결해 20,210개의 만트라를 번역·낭송·기호와 함께 제공하고 베다 간 텍스트 재활용을 포함한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기授業動画配信プラットフォーム。動画・発問・メモ・小テストで生徒の主体的な学びを支援する。
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗飲み込んで終わりにしない。反芻する学習サイト
「情報Ⅰ」授業用の動画配信プラットフォーム。phantom-meeting はコードネームで、リポジトリ名などはそのまま残している。
動画で学び、ノートで広げ深め、小テストで確かめる。動画を「ただ見るだけ」で終わらせず、自分のことばにする場をつくる。
名前・コンセプト・見た目の決まりは docs/design.md の「UIコンセプト」を参照。
memos)/teacher)— 「授業をつくる」「生徒をみる」で整理した一覧/teacher/analytics)— 単元別ヒートマップ(小テスト・単元・科目の平均正答率つき) / レッスン別の生徒×設問一覧 / 生徒別検索から個人詳細へ| 役割 | 技術 |
|---|---|
| フロントエンド | Next.js (App Router) |
| バックエンド | Next.js API Routes(Client からの mutation と秘匿キーが必要な処理のみ) |
| DB / 認証 | Supabase(Google OAuth) |
| ホスティング | Vercel(Functions は東京リージョン hnd1 固定。理由) |
| ランタイム | Node.js 24.x(本番・開発コンテナ共通。理由) |
| UI | shadcn/ui + Tailwind CSS |
| リッチテキスト | tiptap |
| コードエディタ | CodeMirror 6 |
| コード実行 | Pyodide(Python)/ サンドボックスiframe(JavaScript)、いずれもブラウザ内完結 |
| ドラッグ&ドロップ | @dnd-kit(小テスト並び替え問題) |
| 画像ホスティング | ImageKit |
| アナリティクス | Vercel Analytics / Speed Insights |
| AI | API 連携なし(AIで振り返る・データエクスポートは、プロンプトを生徒・教師が自分の AI に貼り付ける) |
| ドキュメント | 内容 |
|---|---|
| 設計 | 目的・名前・コンセプト・見た目の決まりと、その理由 |
| 機能設計 | 各機能の仕様と決めた理由、廃止・見送りした機能 |
| アーキテクチャ | データアクセスと処理の配置の方針、フォルダ構成 |
| 処理の配置一覧 | 画面ごとに、どの処理をどの層(フロント・API・DB)に置いたか |
| DBスキーマ | テーブルの定義と関係 |
| 技術スタック | 使っている技術と選んだ理由、デプロイ構成 |
| ロードマップ | これまでのフェーズと、これからの予定 |
| AIで振り返る | 生徒向けの振り返りプロンプトの仕様と理由 |
| ノートのひな形の JSON / 小テストの JSON | 生成 AI に下書きを作らせて取り込むときの形式と指示文の例 |
| ヤギの絵 | マスコットの一覧と生成の指示文 |
コマンドはすべて Docker コンテナ内で実行する(ホストで直接 npm は実行しない。git のみホストで実行)。
# 1. ローカル Supabase を起動(app コンテナとは別プロセス)
supabase start
# 2. .env.local を用意し、`supabase start` の出力に表示される値を設定
# NEXT_PUBLIC_SUPABASE_URL=http://127.0.0.1:54321
# NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=...
# SUPABASE_INTERNAL_URL=http://host.docker.internal:54321 # コンテナ→ホストの接続用
# SUPABASE_AUTH_EXTERNAL_GOOGLE_CLIENT_ID=...
# SUPABASE_AUTH_EXTERNAL_GOOGLE_SECRET=...
# IMAGEKIT_PRIVATE_KEY=... # 画像アップロード機能を使う場合
# 3. アプリコンテナを起動(http://localhost:3000)
docker compose up
開発環境では、ログイン画面のパネルから Google OAuth を使わずにシードの教師1名・生徒32名でログインできる。NODE_ENV=development かつ接続先がローカルの Supabase のときだけ有効で、本番では表示されず、ログイン用のルートも 404 を返す。
supabase db reset をすれば自動で準備される。reset せずに既存のローカル DB で使えるようにするには、次を実行する。
docker exec -i supabase_db_phantom_meeting psql -U postgres -d postgres < supabase/seeds/dev-login.sql
自由制作のダミーデータ(課題1件と提出物。内容はファイル冒頭に記載)も db reset で入る。reset せずに入れる、または初期状態に戻すには supabase/seeds/maker.sql を同様に流す。
ノートのひな形のダミーデータ(「CPUとメモリの役割」「2進数と情報量」の 2 レッスン)も同様で、supabase/seeds/note-templates.sql を流すと入る。
docker compose exec app npm run lint
docker compose exec app npm run typecheck
docker compose exec app npm test # 単体テスト(Vitest。src/**/*.test.ts)
docker compose exec -e NODE_ENV=production app npm run build # コンテナ既定の NODE_ENV=development のままだとプリレンダーで失敗する
docker compose exec app npm audit # 依存パッケージの既知の脆弱性を確認
docker compose down
supabase stop
posts・questions テーブルの削除、作品展の RLS、Phase 26)フェーズごとの内容とウェイトリストは docs/roadmap.md。