Course(コース)
| プロパティ | 型 | 説明 |
|---|---|---|
| id | string | 一意な ID |
| title | string | コース名 |
| description | string | 説明文 |
| level | ’Beginner’ | ‘Intermediate’ | ‘Advanced’ | 難易度 |
| tags | string[] | タグ |
| progress | number | 進捗率(0〜100) |
| icon | string | Phosphor アイコン名 |
| lessons | Lesson[] | レッスンの配列 |
| defaultIllustration | IllustrationContent? | 講義ページのデフォルト図 |
Lesson(レッスン)
| プロパティ | 型 | 説明 |
|---|---|---|
| id | string | 一意な ID |
| title | string | レッスン名 |
| description | string | 説明文 |
| duration | string | 目安時間(例: '10 min') |
| pages | Page[] | ページの配列 |
| defaultIllustration | IllustrationContent? | レッスン単位のデフォルト図 |
Page(ページ)
| プロパティ | 型 | 説明 |
|---|---|---|
| id | string | 一意な ID |
| type | LessonType | ページの種類 |
| title | string | タイトル |
| description | string | サブタイトル |
| content | string? | 講義の本文(Markdown) |
| visualData | IllustrationContent? | 講義用の図 |
| correctFeedback | string? | 正解時のフィードバック |
| incorrectFeedback | string? | 不正解時のフィードバック |
| choiceData | object? | 選択式問題のデータ |
| embeddedChoiceData | object? | 穴埋め問題のデータ |
| quizData | object? | クイズ形式のデータ |
| wiringData | object? | 配線問題のデータ |
| sandboxData | SandboxData? | サンドボックスページのデータ(型は サンドボックス・パケットシミュレーター仕様 参照) |
| packetSimData | PacketSimData? | パケットシミュレーターページのデータ |
型定義の場所
Course / Lesson / Page および SandboxData 等の型は次のファイルで定義されています。src/data/course-data
types.ts
device-catalog.ts