🆕 Smalruby 独自 — upstream に存在しない、Smalruby のために新規追加された機能 日本の学校での利用に特化したクラス管理・作品提出機能。upstream の Scratch には存在しない。
Smalruby Classroom は、日本の学校の授業で Smalruby を使うためのクラス管理・作品提出機能です。
先生が Google または Microsoft アカウントでログインしてクラスを作り、生徒は参加コードと席番号でクラスに参加します。生徒はプロジェクトをワンクリックで提出でき、先生はリアルタイムで一覧・確認・返却できます。
| ドキュメント | 内容 |
|---|---|
| システム構成 | AWS / GCP / Azure サービス、API ルート、データモデル |
| ユーザーストーリー | 先生・生徒それぞれの利用フロー |
| UI/UX | 画面遷移、各フェーズの説明 |
| 費用見積もり | AWS / GCP の想定費用 |
| ソースコード | 関連ファイル一覧 |
| テスト | data-testid 一覧、Playwright / 結合テスト |
| Microsoft 認証 | MSAL.js 統合、サイレント再認証、Azure Portal 設定 |
- Smalruby を開く(
https://smalruby.app) - メニューバーの「クラス」をクリック
- 「先生」を選択 → Google または Microsoft でログイン
- 「クラスをつくる」→ クラス名と人数を入力
- 生成された参加コードを生徒に伝える
- 先生から参加コードを受け取る
- Smalruby を開く(参加リンク or
https://smalruby.app) - 「生徒」→ 参加コード入力 → 席番号を選択
- プロジェクトを作成し「提出」ボタンで提出
クラスに参加中(生徒)または先生がクラス管理でクラスを選択中の間、Mesh v2 のドメインはそのクラスの参加コードに自動で固定される。これにより同じクラスの先生・生徒が自動で同じ Mesh ドメインに集まる。詳細は docs/mesh-v2/README.md を参照。
- Google アカウントまたは Microsoft アカウント(先生のログインに必要)
- モダンブラウザ(Chrome / Edge / Firefox / Safari)
- インターネット接続
クラス機能は CLASSROOM_API_ENDPOINT 環境変数が設定されている場合に有効です(メニューバーに「クラス」ボタンが表示されます)。
