Database
 sql >> Database >  >> RDS >> Database

Modellazione di un mercato aperto per l'istruzione

Stare al passo con gli ultimi cambiamenti tecnologici è necessario se vuoi andare avanti nel competitivo mercato del lavoro di oggi. In questo articolo creeremo un modello di dati per portali online che offrono una piattaforma più coinvolgente per l'apprendimento di nuove abilità, utilizzando i monaci nativi come nostra guida.

Introduzione

In uno dei nostri articoli recenti, abbiamo costruito un modello di dati di lavoro per un portale di e-learning e abbiamo spiegato come i corsi possono essere suddivisi in lezioni registrate/trascritte e rese disponibili agli studenti. Tuttavia, ci sono alcuni che preferirebbero imparare direttamente dagli insegnanti in sessioni più coinvolgenti e personali. A differenza di piattaforme come Udemy e Coursera, Native Monks consente agli studenti di assumere insegnanti (a livello locale o online) e di apprendere abilità direttamente da loro in classi individuali che vengono amministrate online o di persona.

Requisiti

Poiché la piattaforma consente agli studenti di cercare insegnanti in base ai propri criteri, pone grande enfasi sulla creazione del profilo degli insegnanti. In altre parole, la piattaforma raccoglie quante più informazioni possibili dagli insegnanti in modo da poter fornire migliori consigli di ricerca agli studenti.

Gli insegnanti sulla piattaforma possono specializzarsi in qualsiasi campo, come tecnologia, cucina, arte, manutenzione e servizi e così via. Le abilità che richiedono molto lavoro e spiegazione vengono spesso insegnate agli studenti di persona, mentre quelle relativamente semplici vengono gestite meglio online tramite lezioni video che gli studenti possono acquistare dai loro istruttori selezionati.

Tenendo presenti questi requisiti, abbiamo suddiviso il nostro intero modello di dati in tre aree tematiche principali:

  1. Costruzione del profilo per gli insegnanti
  2. Gestione e impegni degli studenti
  3. Gestione delle lezioni registrate

Diamo un'occhiata più da vicino a ciascuna di queste aree.

Modello di dati




Area tematica n. 1:Creazione di profili per insegnanti

Quest'area della piattaforma riguarda la raccolta di informazioni di base dagli insegnanti, come le loro preferenze per gli studenti, l'ubicazione, la disponibilità, il livello di comfort e così via. Quando gli studenti navigano nella piattaforma, viene mostrato loro un elenco di insegnanti che meglio corrispondono alle loro preferenze date. Ci sono una varietà di tabelle in quest'area di cui parleremo di seguito.

teacher tabella:memorizza le informazioni di base sugli istruttori. La maggior parte delle colonne di questa tabella si spiega da sé, ma elaboriamone alcune che potrebbero non essere così ovvie:

  • max_travel_distance — rappresenta la distanza massima che un insegnante può percorrere per incontrare uno studente. Un valore pari a zero indica che l'insegnante non può viaggiare per insegnare agli studenti.
  • cost_to_travel — memorizza un valore inviato da un insegnante che indica le tariffe aggiuntive che addebiterà per viaggiare per incontrare uno studente.
  • profile_image — memorizza l'immagine del profilo di un insegnante. Poiché gli insegnanti non sono tenuti a pubblicare le immagini del profilo, il valore predefinito è null se non viene specificata un'alternativa.
  • teaching_since — memorizza un valore che rappresenta l'anno in cui l'istruttore ha iniziato a insegnare. Ciò consente agli studenti di avere un'idea migliore dell'esperienza di un insegnante.
  • brief_description — memorizza una breve descrizione dell'insegnante.
  • timezone_id — memorizza le informazioni sul fuso orario per un insegnante, consentendo agli studenti e

teacher_teaching_location tabella:memorizza le preferenze di posizione di un insegnante, che deve specificare durante la creazione del proprio profilo. Alcuni insegnanti preferiscono gestire le lezioni a casa loro oa casa dei loro studenti, ma altri preferiscono tenere le lezioni in un'area pubblica, come una biblioteca o un centro comunitario nelle vicinanze.

  • id — la chiave primaria per questa tabella.
  • teacher_id — identifica l'insegnante a cui appartengono queste preferenze di posizione.
  • teaching_location_type_id — il tipo di luogo in cui l'insegnante vorrebbe amministrare la lezione:online, luogo dell'insegnante, luogo dello studente o un luogo neutrale.
  • address_id — una colonna referenziata che memorizza l'indirizzo completo del luogo della riunione.

exp_level_teach_teacher tabella:agli insegnanti viene chiesto anche di specificare i livelli di competenza in cui si trovano a proprio agio nell'insegnamento (principiante, intermedio, esperto).

student_comfortability tavolo:alcuni insegnanti sono a disagio nell'insegnare a determinate fasce d'età, come gli anziani. Pertanto, il portale consente agli insegnanti di elencare anche le loro preferenze per gli studenti rispetto all'età e al sesso.

teacher_availability tabella:memorizza la disponibilità dell'insegnante per le prossime due settimane e fino a un mese di anticipo. Questi dettagli vengono modificati dagli insegnanti su base periodica.

  • id — la chiave primaria per questa tabella.
  • teacher_id — identifica l'insegnante per il quale sono archiviate queste informazioni.
  • start_date_time — memorizza la data e l'ora di inizio in cui l'insegnante è disponibile per insegnare.
  • duration_in_min — indica quanto tempo ha l'insegnante per insegnare, in minuti.

teacher_earning tabella:memorizza le tariffe di fatturazione per gli insegnanti. Per ora, abbiamo creato colonne per specificare le tariffe di fatturazione per lezioni da 30, 60, 90 e 120 minuti.

Area tematica n. 2:Gestione e coinvolgimento degli studenti

Quest'area è dedicata alla registrazione degli appuntamenti tra studenti e docenti. Come la tabella per gli insegnanti nella prima area disciplinare, c'è una tabella per gli studenti (giustamente chiamata student ) in questa materia. Tutte le colonne di questa tabella sono abbastanza semplici, quindi non ci addentreremo in quelle.

Un'altra tabella è intitolata teacher_reservation . Questa è la tabella vera e propria che tiene traccia degli appuntamenti tra studenti e insegnanti. Quando uno studente seleziona un particolare insegnante, può vedere la disponibilità di quell'istruttore. Sono tenuti a selezionare uno o più slot disponibili per effettuare una prenotazione con il docente. Inoltre, lo studente deve specificare un luogo di insegnamento in base alle preferenze per l'insegnante selezionato. Una volta che lo studente ha completato la sua parte del modulo, la prenotazione viene inviata al docente per la revisione e l'approvazione. Chiariamo alcune delle colonne di questa tabella:

  • id — la chiave primaria per la tabella. Dà un'identità univoca a una singola richiesta di prenotazione.
  • student_id — identifica lo studente che effettua la prenotazione.
  • teacher_id — identifica il docente per il quale si richiede la prenotazione.
  • teacher_teaching_location_id — memorizza le informazioni sul luogo in cui lo studente vorrebbe frequentare le lezioni. Questa posizione deve corrispondere a una di quelle specificate dall'insegnante nelle sue preferenze.

Area tematica n. 3:Gestione delle lezioni registrate

Questo portale consente agli insegnanti di caricare lezioni registrate. Ogni sessione è contrassegnata da un costo di abbonamento che gli studenti devono pagare prima di poter partecipare. Ogni abbonamento ha una data di scadenza, quindi una sessione rimane aperta per la visualizzazione fino alla scadenza dell'abbonamento dello studente.

recorded_lesson tabella:memorizza le informazioni di base sulle sessioni registrate.

  • id — chiave primaria per la tabella che assegna un numero univoco a una singola lezione registrata.
  • subject — memorizza la riga dell'oggetto o il titolo di una lezione.
  • lesson_category_id — una colonna di riferimento che rappresenta la categoria a cui appartiene una lezione (es. viaggi, cucina, fisica, ecc.).
  • teacher_id — identifica l'insegnante che ha preparato e caricato questa lezione.
  • lesson_description — colonna descrittiva che memorizza una breve descrizione della lezione.
  • video_location — in genere, i video vengono archiviati su file system del server e le loro posizioni sono archiviate in questa colonna. I file vengono richiamati e resi disponibili agli utenti quando richiesto.
  • lesson_transcript — archivia una trascrizione completa dei video di questa lezione.
  • cost_to_subscribe — memorizza il prezzo che uno studente deve pagare per iscriversi al video.

lesson_subscription tabella:memorizza le informazioni di base sugli abbonamenti degli studenti.

  • id — la chiave primaria per questa tabella.
  • student_id — identifica lo studente che si è iscritto a questa lezione.
  • recorded_lesson_id — identifica la lezione a cui lo studente si è iscritto.
  • subscription_date — memorizza la data di inizio dell'abbonamento. Di solito è la stessa data in cui è stato effettuato il pagamento per l'abbonamento.
  • is_lifetime_subscription — molte lezioni hanno un abbonamento a vita, il che significa che una lezione rimarrà con te per sempre una volta che avrai pagato per la lezione. Se il valore memorizzato in questa colonna è "Y", non esiste una data di scadenza per l'abbonamento.
  • subscription_expiring_on — memorizza la data di scadenza dell'abbonamento. Se si tratta di un abbonamento a vita, questa colonna memorizza un valore null.

Riepilogo

L'apprendimento consente alle persone di avanzare nella propria carriera, migliorare la propria vita e perseguire il lavoro che amano. Questa applicazione aiuterà a ridurre il divario tra domanda e offerta per i professionisti e creerà una comunità di apprendimento online in cui chiunque può esplorare, imparare e insegnare.

Quali funzionalità aggiuntive vorresti aggiungere a questo modello di dati? Ci piacerebbe sentire i tuoi pensieri!