TECHNICAL REFERENCE · 2026.10

TKAWEN OS

研修機関のためのオペレーティングシステム。各機関は自分のアドレス your-academy.tkawen.com で完全なアカデミーを持ち、その機関だけのデータベースで動作し、機関自身の鍵で暗号署名された修了証を発行します——最初のレッスンから検証ページまで。

multi-tenantDB per academyEd25519SCORM 1.2 · 2004xAPI · cmi5 · LRSLTI 1.3ar · fr · en
01 — ANATOMY

5 つの層、1 本のリクエスト経路

すべてのリクエストはアカデミーのサブドメインから入ります。まずサブドメインからテナントが特定され、それ以降リクエストはそのアカデミーのデータにしか触れません。

エッジすべてのアカデミーのサブドメインに 1 枚のワイルドカード TLS 証明書。ホスト名でルーティングnginx · *.tkawen.com
アプリ受講者アプリと、オーナー・講師用の管理パネルSvelteKit · /manage
テナントコアホスト名からアカデミーを特定し、権限を適用する APILaravel 13
分離アカデミーごとに独立したデータベース、ストレージ、キャッシュ、ジョブキューtkawen_<slug>
信頼アカデミーごとの署名鍵ペア。秘密鍵は暗号化して保存Ed25519
02 — PROVISIONING

1 つのコマンドで完全なアカデミーを——さもなくば何も残さない

プロビジョニングはテンプレートのコピーではありません。1 つのコマンドで、テナント、そのデータベースとテーブル、オーナーアカウント、ロール、テーマ、修了証テンプレート、署名鍵を作成します。どこか 1 つでも失敗すれば——データベースが作成できない、マイグレーションが終わらない——すべてがロールバックされます。作りかけのアカデミーも、誰も頼んでいないアカウントも残りません。

acme.tkawen.com
  • データベース tkawen_acme
  • ストレージ storage/acme
  • キュー queue:acme
  • 署名鍵 ed25519:acme
nour.tkawen.com
  • データベース tkawen_nour
  • ストレージ storage/nour
  • キュー queue:nour
  • 署名鍵 ed25519:nour
atlas.tkawen.com
  • データベース tkawen_atlas
  • ストレージ storage/atlas
  • キュー queue:atlas
  • 署名鍵 ed25519:atlas

NO SHARED DATABASE · NO SHARED STORAGE · NO SHARED QUEUE

03 — THE PRODUCT

3 つの画面、役割ごとの専用ツール

オーナーパネルはアカデミー全体を運営し、講師は自分のコースだけを見て、受講者はパソコンとスマートフォンでアプリを使います。デモアカデミーの実際の画面です(アラビア語 UI)。

カリキュラムビルダー
受講者から見たプログラムページ
パソコン — オーナーパネル:コース、受講登録、決済、講師スマホ — 受講者から見たプログラムページ
カリキュラムビルダー

カリキュラムビルダー

モジュール、レッスン、クイズ。講師が選べる順次ロック付き。

学習ルーム

学習ルーム

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

受講登録と進捗

受講登録と進捗

受講者ごとの進捗と状態。14 日間学習がないと早期アラート。

04 — LEARNING ENGINE

学習エンジン

9 種類のレッスン、7 種類の設問、そして画面ではなくサーバーが強制する順次ロック——URL を書き換えてレッスンを飛ばすことはできません。

動画

音声

テキスト

PDF

クイズ

課題

ライブ授業

SCORM

xAPI · cmi5

順次ロック

open · prev · prev_pass

7 種類の設問

単一選択、複数選択、正誤、自由記述、マッチング、穴埋め、キーワード。

合格点と受験回数

各クイズに合格点と受験回数の上限(既定 3 回)があり、講師用の成績表があります。

早期アラート

14 日間学習がない受講者を、離脱する前に講師へ知らせます。

05 — CRYPTOGRAPHIC CERTIFICATES

偽造できない修了証——印鑑ではなく数学で

修了証を手入力する人はいません。コースを 100% 修了し、最終クイズとすべての課題に合格すると自動で発行され、アカデミー自身の Ed25519 鍵で署名されます。1 文字でも変えれば署名は無効になり、検証は画像や PDF ではなく登録簿を読み取ります。

verify — demo certificate
{
  "status": "valid",
  "code": "TK-LJA74G2Z",
  "holder": "Demo Student",
  "programme": "Git & GitHub",
  "issuer": "Demo Academy",
  "credential_id": "crd_01m2ya21azztz6bmx6esgje3ns",
  "signature": "Ed25519 ✓"
}
有効な修了証

デモアカデミーの検証ページ(英語)の実際の画面です(保有者名とコース名はデモのアラビア語データ)。修了証デザイン 11 種類と自由なデザイナー、アラビア語と英語に対応。

06 — STANDARDS

世界の学習システムの言葉を話す

標準ツールで作った教材はそのまま動き、学習記録はオープンな標準で書き込まれ、アカデミーは Moodle の中で開いて成績を返します。

SCORM1.2 · 2004

SCORM パッケージを実行し、進捗とスコアを記録します。

xAPIExperience API

xAPI ステートメントをアカデミーごとの学習記録ストア(LRS)に保存します。

cmi5xAPI profile

レッスンから cmi5 パッケージを起動し、アカデミー専用の LRS に書き込みます。

LTI 1.3Deep Linking · Grades

LTI 1.3 ツール:アカデミーのプログラムを Moodle 内で提供し、成績を返却。Moodle で検証済み。

MCP — FOR AI AGENTS

AI エージェントが TKAWEN OS を直接使える

TKAWEN OS は独自の Model Context Protocol サーバーを備えています。接続したアシスタントは、すべてのアカデミーのコースを一度に検索し、コースカードを開き、コードで修了証を検証して発行元を示し、新しいアカデミー名が使えるか確認し、Moodle に貼り付ける LTI 1.3 設定を取得できます——すべて読み取り専用で、訪問者と同じ公開エンドポイントを使います。

search_courses

1 回の検索ですべてのアカデミーを対象に。アラビア語に対応し、レベル・言語・修了証で絞り込み。

verify_certificate

各アカデミーの登録簿に照会し、有効かどうかを発行元・保有者・コース・日付とともに回答。

lti_setup

アカデミーの LTI 1.3 登録情報——ログイン、起動、ディープリンク、JWKS の URL——を Moodle 用にそのまま提供。

07 — PERMISSIONS

権限はサーバーで強制される

画面は自分に関係のないものを隠し、サーバーはそれを拒否します——講師は、データを守るのと同じアクセスポリシーによって自分のコースだけに限定されます。

機能オーナー講師受講者
アカデミー、ブランド、講師の管理●——
コースの公開と決済の確認●——
自分のコースの作成:モジュール、レッスン、クイズ●●—
自分のコースの受講者と成績の閲覧●● 自分のみ—
学習、クイズの受験、修了証の受け取り——●
08 — SECURITY & OPERATIONS

運用とセキュリティ

完全な分離

アカデミーごとのデータベース、ストレージ、キャッシュ、キュー。

暗号化された鍵

アカデミーごとの Ed25519 鍵。秘密鍵は保存時に暗号化。

毎日のバックアップ

すべてのデータベースを毎日:サーバーに 14 日、外部ストレージに 90 日保管。

暗号化通信

すべてのアカデミーのサブドメインで TLS。失敗時はプロビジョニングをロールバック。

09 — IN PROGRESS

開発中

技術リファレンスは未完成の部分も明記します。判断を、実際に存在するものに基づかせるためです。

独自ドメイン現在、各アカデミーは academy-name.tkawen.com で動作しています。機関独自のドメインの割り当てはまだ実装されていません。
オフライン学習進捗の信号はローカルにキューされ、ネットワーク復帰時に送信されます。レッスンのオフライン再生はまだ実装されていません。
自動更新の課金現在のサブスクリプションは期間固定の利用権です。
AlgeriaCertify と LIQAA の連携実装済みですが未有効化:修了証はアカデミーの鍵で署名され、ライブ授業は外部会議へのリンクです。

動いているところを見るのが、どんな説明にも勝る

デモアカデミーはオーナー・講師・受講者のアカウントで公開されており、毎晩初期状態に戻ります。