ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证授業動画配信プラットフォーム。動画・発問・メモ・小テストで生徒の主体的な学びを支援する。
翻译准备中
取自仓库 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。