今日の競争の激しい雇用市場で前進したいのであれば、テクノロジーの最新の変化に遅れずについていくことが必要です。この記事では、ネイティブモンクをガイドとして使用して、新しいスキルを学習するためのより魅力的なプラットフォームを提供するオンラインポータルのデータモデルを構築します。
はじめに
最近の記事の1つでは、eラーニングポータルの実用的なデータモデルを構築し、コースを記録/転写レッスンに分割して学生が利用できるようにする方法を説明しました。ただし、より魅力的で個人的なセッションで教師から直接学ぶことを好む人もいます。 UdemyやCourseraなどのプラットフォームとは異なり、Native Monksを使用すると、生徒は教師を(ローカルまたはオンラインで)雇用し、オンラインまたは直接の1対1のクラスで教師から直接スキルを学ぶことができます。
要件
このプラットフォームでは、生徒が自分の基準に従って教師を検索できるため、教師のプロファイル作成に重点が置かれています。つまり、プラットフォームは教師からできるだけ多くの情報を収集するため、生徒により良い検索の推奨事項を提供できます。
プラットフォームの教師は、テクノロジー、料理、芸術、メンテナンス、サービスなど、あらゆる分野を専門としています。多大な労力と説明を必要とするスキルは、多くの場合、学生に直接教えられますが、比較的単純なスキルは、学生が選択したインストラクターから購入できるビデオ講義を介してオンラインで管理する方が適切です。
これらの要件を念頭に置いて、データモデル全体を3つの主要なサブジェクト領域に分割しました。
- 教師向けのプロファイル作成
- 学生の管理と取り組み
- 記録されたレッスン管理
これらの各領域を詳しく見ていきましょう。
データモデル
サブジェクトエリア#1:教師向けのプロファイル作成
プラットフォームのこの領域は、生徒の好み、場所、空き状況、快適さのレベルなど、教師からの基本的な情報の収集に関係しています。生徒がプラットフォームを閲覧すると、指定された好みに最も一致する教師のリストが表示されます。この領域には、以下で説明するさまざまなテーブルがあります。
teacher
表:インストラクターに関する基本情報を格納します。この表のほとんどの列は自明ですが、それほど明白ではないかもしれないいくつかについて詳しく説明しましょう:
-
max_travel_distance
—教師が生徒と会うために移動できる最大距離を表します。ゼロの値は、教師が生徒を教えるために出張できないことを示します。 -
cost_to_travel
—教師が提出した値を保存します。これは、教師が生徒と会うために旅行するために請求する追加料金を示します。 -
profile_image
—教師のプロフィール写真を保存します。教師はプロフィール写真を投稿する必要がないため、代替が指定されていない場合、値はデフォルトでnullになります。 -
teaching_since
—インストラクターが教え始めた年を表す値を格納します。これにより、生徒は教師の体験をよりよく感じることができます。 -
brief_description
—教師に関する簡単な説明を保存します。 -
timezone_id
—教師のタイムゾーン情報を保存し、生徒と
を許可します
teacher_teaching_location
表:教師の場所の設定を保存します。教師は、プロファイルを作成するときに指定する必要があります。自分の場所や生徒の場所で授業を行うことを好む教師もいれば、近くの図書館やコミュニティセンターなどの公共の場所で講義を行うことを好む教師もいます。
-
id
—このテーブルの主キー。 -
teacher_id
—これらの場所の設定が属する教師を識別します。 -
teaching_location_type_id
—教師がレッスンを管理したい場所のタイプ:オンライン、教師の場所、生徒の場所、または中立的な場所。 -
address_id
—会議の場所の完全なアドレスを格納する参照列。
exp_level_teach_teacher
表:教師はまた、彼らが快適に教えることができる専門知識レベル(初級、中級、専門家)を指定するように求められます。
student_comfortability
表:一部の教師は、高齢者などの特定の年齢層を教えることに不快感を覚えています。したがって、ポータルを使用すると、教師は年齢と性別に関する生徒の好みを一覧表示することもできます。
teacher_availability
表:次の2週間、および最大1か月前の教師の空き状況を保存します。これらの詳細は、教師によって定期的に変更されます。
-
id
—このテーブルの主キー。 -
teacher_id
—この情報が保存されている教師を識別します。 -
start_date_time
—教師が教えることができる開始日時を保存します。 -
duration_in_min
—インストラクターが教えるために必要な時間を分単位で示します。
teacher_earning
表:教師の請求レートを格納します。今のところ、30分、60分、90分、120分の講義の請求レートを指定する列を作成しました。
サブジェクトエリア#2:学生の管理と取り組み
このエリアは、生徒と教師の間の予定を追跡することに専念しています。最初の主題分野の教師用のテーブルと同様に、学生用のテーブルがあります(適切な名前はstudent
)この主題分野で。この表のすべての列はかなり単純なので、それらについては詳しく説明しません。
別のテーブルのタイトルはteacher_reservation
。これは、生徒と教師の間の予定を追跡する実際のテーブルです。生徒が特定の教師を選択すると、その教師の空き状況を確認できます。教師との予約には、利用可能なスロットを1つ以上選択する必要があります。さらに、生徒は選択した教師の好みに基づいて指導場所を指定する必要があります。生徒がフォームの一部に記入すると、予約が教師に送信され、確認と承認が行われます。この表のいくつかの列を明確にしましょう:
-
id
—テーブルの主キー。個々の予約リクエストに一意のIDを付与します。 -
student_id
—予約をしている学生を識別します。 -
teacher_id
—予約がリクエストされている教師を識別します。 -
teacher_teaching_location_id
—生徒がクラスに参加したい場所に関する情報を保存します。この場所は、教師が好みで指定した場所の1つと一致する必要があります。
サブジェクトエリア#3:記録されたレッスン管理
このポータルを使用すると、教師は記録されたレッスンをアップロードできます。各セッションには、学生が参加を許可される前に支払う必要のあるサブスクリプション費用がタグ付けされています。各サブスクリプションには有効期限が付いているため、学生のサブスクリプションの有効期限が切れるまで、セッションは閲覧できるように開いたままになります。
recorded_lesson
表:記録されたセッションに関する基本情報を格納します。
-
id
—記録された個々のレッスンに一意の番号を割り当てるテーブルの主キー。 subject
—レッスンの件名またはタイトルを保存します。-
lesson_category_id
—レッスンが属するカテゴリ(旅行、料理、物理学など)を表す参照列。 -
teacher_id
—このレッスンを準備してアップロードしたインストラクターを特定します。 -
lesson_description
—レッスンに関する簡単な説明を格納する説明列。 -
video_location
—通常、ビデオはサーバーファイルシステムに保存され、その場所はこの列に保存されます。ファイルが呼び出され、要求されたときにユーザーが利用できるようになります。 -
lesson_transcript
—このレッスンのビデオの完全なトランスクリプトを保存します。 -
cost_to_subscribe
—学生がビデオを購読するために支払う必要のある価格を保存します。
lesson_subscription
表:学生のサブスクリプションに関する基本情報を格納します。
-
id
—このテーブルの主キー。 -
student_id
—このレッスンに登録した学生を識別します。 -
recorded_lesson_id
—学生がサブスクライブしたレッスンを識別します。 -
subscription_date
—サブスクリプションが開始された日付を格納します。通常、サブスクリプションの支払いが行われたのと同じ日付です。 -
is_lifetime_subscription
—多くのレッスンには生涯サブスクリプションが付属しています。つまり、レッスンの料金を支払った後も、レッスンは永久に残ります。この列に保存されている値が「Y」の場合、サブスクリプションの有効期限はありません。 -
subscription_expiring_on
—サブスクリプションの有効期限が切れる日付を保存します。生涯サブスクリプションの場合、この列にはnullの値が格納されます。
概要
学ぶことで、人々はキャリアを伸ばし、人生を改善し、好きな仕事を追求することができます。このアプリケーションは、専門家の需要と供給のギャップを減らすのに役立ち、誰もが探索、学習、および教えることができるオンライン学習コミュニティを作成します。
このデータモデルに追加したい追加機能は何ですか?ご意見をお聞かせください。