TKAWEN OS
研修機関のためのオペレーティングシステム。各機関は自分のアドレス your-academy.tkawen.com で完全なアカデミーを持ち、その機関だけのデータベースで動作し、機関自身の鍵で暗号署名された修了証を発行します——最初のレッスンから検証ページまで。
5 つの層、1 本のリクエスト経路
すべてのリクエストはアカデミーのサブドメインから入ります。まずサブドメインからテナントが特定され、それ以降リクエストはそのアカデミーのデータにしか触れません。
nginx · *.tkawen.comSvelteKit · /manageLaravel 13tkawen_<slug>Ed255191 つのコマンドで完全なアカデミーを——さもなくば何も残さない
プロビジョニングはテンプレートのコピーではありません。1 つのコマンドで、テナント、そのデータベースとテーブル、オーナーアカウント、ロール、テーマ、修了証テンプレート、署名鍵を作成します。どこか 1 つでも失敗すれば——データベースが作成できない、マイグレーションが終わらない——すべてがロールバックされます。作りかけのアカデミーも、誰も頼んでいないアカウントも残りません。
$ php artisan tenant:provision acme \ --name="Acme Academy" --owner-email=owner@acme.dz ✓ tenant acme.tkawen.com ✓ database tkawen_acme (created + migrated) ✓ owner owner@acme.dz · tenant admin ✓ roles owner · instructor · student ✓ theme logo · colours · locale ar ✓ certificate template ready ✓ signing key Ed25519 · stored encrypted Academy 'Acme Academy' provisioned. ↺ on failure: tenant, database and new owner rolled back
- データベース
tkawen_acme - ストレージ
storage/acme - キュー
queue:acme - 署名鍵
ed25519:acme
- データベース
tkawen_nour - ストレージ
storage/nour - キュー
queue:nour - 署名鍵
ed25519:nour
- データベース
tkawen_atlas - ストレージ
storage/atlas - キュー
queue:atlas - 署名鍵
ed25519:atlas
NO SHARED DATABASE · NO SHARED STORAGE · NO SHARED QUEUE
3 つの画面、役割ごとの専用ツール
オーナーパネルはアカデミー全体を運営し、講師は自分のコースだけを見て、受講者はパソコンとスマートフォンでアプリを使います。デモアカデミーの実際の画面です(アラビア語 UI)。



カリキュラムビルダー
モジュール、レッスン、クイズ。講師が選べる順次ロック付き。

学習ルーム
レッスンを一つずつ。進捗はサーバーに記録されます。

受講登録と進捗
受講者ごとの進捗と状態。14 日間学習がないと早期アラート。
学習エンジン
9 種類のレッスン、7 種類の設問、そして画面ではなくサーバーが強制する順次ロック——URL を書き換えてレッスンを飛ばすことはできません。
動画
音声
テキスト
クイズ
課題
ライブ授業
SCORM
xAPI · cmi5
順次ロック
open · prev · prev_pass
7 種類の設問
単一選択、複数選択、正誤、自由記述、マッチング、穴埋め、キーワード。
合格点と受験回数
各クイズに合格点と受験回数の上限(既定 3 回)があり、講師用の成績表があります。
早期アラート
14 日間学習がない受講者を、離脱する前に講師へ知らせます。
偽造できない修了証——印鑑ではなく数学で
修了証を手入力する人はいません。コースを 100% 修了し、最終クイズとすべての課題に合格すると自動で発行され、アカデミー自身の Ed25519 鍵で署名されます。1 文字でも変えれば署名は無効になり、検証は画像や PDF ではなく登録簿を読み取ります。
{
"status": "valid",
"code": "TK-LJA74G2Z",
"holder": "Demo Student",
"programme": "Git & GitHub",
"issuer": "Demo Academy",
"credential_id": "crd_01m2ya21azztz6bmx6esgje3ns",
"signature": "Ed25519 ✓"
}デモアカデミーの検証ページ(英語)の実際の画面です(保有者名とコース名はデモのアラビア語データ)。修了証デザイン 11 種類と自由なデザイナー、アラビア語と英語に対応。
世界の学習システムの言葉を話す
標準ツールで作った教材はそのまま動き、学習記録はオープンな標準で書き込まれ、アカデミーは Moodle の中で開いて成績を返します。
SCORM パッケージを実行し、進捗とスコアを記録します。
xAPI ステートメントをアカデミーごとの学習記録ストア(LRS)に保存します。
レッスンから cmi5 パッケージを起動し、アカデミー専用の LRS に書き込みます。
LTI 1.3 ツール:アカデミーのプログラムを Moodle 内で提供し、成績を返却。Moodle で検証済み。
AI エージェントが TKAWEN OS を直接使える
TKAWEN OS は独自の Model Context Protocol サーバーを備えています。接続したアシスタントは、すべてのアカデミーのコースを一度に検索し、コースカードを開き、コードで修了証を検証して発行元を示し、新しいアカデミー名が使えるか確認し、Moodle に貼り付ける LTI 1.3 設定を取得できます——すべて読み取り専用で、訪問者と同じ公開エンドポイントを使います。
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": { "name": "search_courses",
"arguments": { "q": "python", "certificate": true } } }
tools: overview · academies · search_courses · course
verify_certificate · check_subdomain · lti_setup
gateway: https://mcp.tkawen.com (as os__*)
search_courses
1 回の検索ですべてのアカデミーを対象に。アラビア語に対応し、レベル・言語・修了証で絞り込み。
verify_certificate
各アカデミーの登録簿に照会し、有効かどうかを発行元・保有者・コース・日付とともに回答。
lti_setup
アカデミーの LTI 1.3 登録情報——ログイン、起動、ディープリンク、JWKS の URL——を Moodle 用にそのまま提供。
権限はサーバーで強制される
画面は自分に関係のないものを隠し、サーバーはそれを拒否します——講師は、データを守るのと同じアクセスポリシーによって自分のコースだけに限定されます。
| 機能 | オーナー | 講師 | 受講者 |
|---|---|---|---|
| アカデミー、ブランド、講師の管理 | ● | — | — |
| コースの公開と決済の確認 | ● | — | — |
| 自分のコースの作成:モジュール、レッスン、クイズ | ● | ● | — |
| 自分のコースの受講者と成績の閲覧 | ● | ● 自分のみ | — |
| 学習、クイズの受験、修了証の受け取り | — | — | ● |
運用とセキュリティ
完全な分離
アカデミーごとのデータベース、ストレージ、キャッシュ、キュー。
暗号化された鍵
アカデミーごとの Ed25519 鍵。秘密鍵は保存時に暗号化。
毎日のバックアップ
すべてのデータベースを毎日:サーバーに 14 日、外部ストレージに 90 日保管。
暗号化通信
すべてのアカデミーのサブドメインで TLS。失敗時はプロビジョニングをロールバック。
開発中
技術リファレンスは未完成の部分も明記します。判断を、実際に存在するものに基づかせるためです。
academy-name.tkawen.com で動作しています。機関独自のドメインの割り当てはまだ実装されていません。