Sekooly / SUPABASE

1 stars 0 forks source link

QUIZZ #131

Closed Sekooly closed 3 years ago

Sekooly commented 3 years ago

Besoin

Les NON élèves peuvent créer 2 types de quizz (catégorie à part!):

Les élèves rendent directement le devoir lorsqu'ils valident le questionnaire.

Il y a 3 types de réponses:

Solution

Créer la table Quiz:

- id_quiz (text)
- id_classe_matiere (text)
- proprietaire (text)
- titre (text)
- description (text)
- questions (json en string): [intitule_question, choix_possibles, reponse_valide, remarque_ok, remarque_nok]
- resultat_immediat (boolen)
- nb_tentatives (integer): vaut 1 par défaut, surtout si resultat_immediat = true
- questions_aleatoires (booleen)
- date_publication (par defaut VIDE -> mode brouillon)
- remarque_fin (text): facultatif - pour sondages par exemple

Créer la logique de création

1 - Général

Choisir le titre, la description

2 - Conception (CUD dans CRUD)

Titre de la question Type de réponse Liste des réponses Réponse(s) juste(s) Remarque si ok / nok (facultatif)

3 - Derniere mise au point

Résultat immédiat ou en attente de validation (tentative=1) ? Nombre de tentatives autorisées (ssi résultat immédiat) ? Questions aléatoires ? Test du professeur (mode testing) Publier (mettre une date) ou mode brouillon ?

4 - Publication en mode fichier : comme un fichier normal

Si SANS date de publication: SANS notif

id_fichier: id_quiz id_dossier: dossier_chargé categorie_fichier: Quiz proprietaire: identifiant_courant nom_fichier: titre du quiz date_effet: à choisir la_date_limite: à choisir lheure_limite: à choisir est_telechargeable: NON coefficient: à choisir taille_fichier: utiliser la fonction taille_fichier_quiz id_chapitre: à choisir date_publication: SSI c'est publié

Si avec date de publication: notif également

Visibilité des quiz

Je suis PROPRIÉTAIRE du quiz: toujours visible

Je suis NON PROPRIÉTAIRE du quiz: visible SSI ce fichier a une date de publication ET qu'elle est <= aujourd'hui

Créer la logique au clic du fichier Quiz (testable par un professeur) - R dans CRUD

c) après l'envoi final:

- **immédiat** : afficher mon score final, et SSI mes tentatives (table Rendus) < tentatives autorisées, ajouter le bouton Recommencer
- **en attente**: afficher "Ce quiz est en attente de correction de l'enseignant. Vous ne pouvez plus le modifier. Pour visualiser vos réponses, cliquez **ici**."

Voir les réponses d'un quiz

Corriger chaque question

A faire

Sekooly commented 3 years ago

Pour simplifier : nouvelle table Questions

CREATE TABLE "Questions" (id_quiz text, id_question integer, intitule_question text, choix_possibles text, reponse_valide integer, remarque_ok text DEFAULT '✅ Votre réponse est correcte.', remarque_nok text DEFAULT '❌ Votre réponse est incorrecte.', CONSTRAINT fk_id_quiz FOREIGN KEY(id_quiz ) REFERENCES "Quiz"(id_quiz))

Sekooly commented 3 years ago

Todo - créer 2 tables supplémentaires

Questions

CREATE TABLE "Questions" (

id_quiz text,
id_question text,
position_question integer,
type_question text,
intitule_question text,

PRIMARY KEY(id_quiz, id_question)
);

Reponses

CREATE TABLE "Reponses" (

id_quiz text,
id_question text,
id_reponse text,
position_reponse integer,
intitule_reponse text,
score integer,
remarque_correction text,

PRIMARY KEY(id_quiz, id_question,id_reponse)
);
Sekooly commented 3 years ago

image

Sekooly commented 3 years ago

Exemple d'écran pour finaliser le quiz

image

Exemple de message de confirmation:

image

Exemple des données une fois le rendu envoyé:

image