rachiid007 / taaltoolbox Goto Github PK
View Code? Open in Web Editor NEWTaalToolBox App est une application web et mobile axée sur l'apprentissage des langues.
Home Page: https://taaltoolbox.be
License: MIT License
TaalToolBox App est une application web et mobile axée sur l'apprentissage des langues.
Home Page: https://taaltoolbox.be
License: MIT License
En tant que professeur, je souhaite pouvoir communiquer avec un élève via des notifications.
En tant que professeur, je souhaite inscrire et désinscrire un élève d’une classe afin de les répartir dans différentes salles de classe.
En tant qu'étudiant, je veux pouvoir modifier les éléments de mon profil afin de pouvoir mettre à jour mes informations.
3 sur 5
En tant qu'élève je veux consulter des statistiques sur l’avancée des élèves et la possibilité de filtrer ces statistiques (en particulier, la liste de vocabulaire).
En tant qu’élève, je souhaite pouvoir choisir le domaine qui me passionne lors de l'inscription afin pouvoir avoir des activités en relation avec celle ci.
En tant que professeur, je souhaite communiquer avec un groupe d’élèves sélectionnés selon une séries de filtres (avancement dans les activités, dates de connexion, profils, classe entière…).
7-En tant qu'élève, je souhaite que les cartes joués se retrouvent dans mes prochains jeux selon leurs poids (Flashcard) afin de bien maîtriser tous les mots
En tant qu'élève, je souhaite pouvoir choisir le nombre de carte à jouer.(flashcards)
1 sur 5
En tant qu'utilisateur, je souhaite pouvoir me connecter à un compte que j'ai préalablement créé afin d'avoir accès à. de nouvelle fonctionnalités.
Une page permet à un utilisateur de se connecter en fournissant un espace pour préciser l'adresse mail et le mot de passe du compte. Les données rentrées par l'utilisateur sont contrôlées et envoyées au back-end pour vérifier si le mot de passe et le mail sont corrects.
La base de données doit contenir les tables nécessaires à la connexion d'un utilisateur.
Une route dois permettre d'envoyer les données rentrées par l'utilisateur vers le backend pour vérification (/login par ex.).
Si la connexion est réussie, le backend renvoi un objet avec les informations sur le compte. Voici une liste de ces dernières:
Il doit y avoir une vérification des champs dans le formulaire. Par exemple si l'utilisateur clique sur le bouton 'se connecter' mais que aucune données n'ont été fournies.
Préparation de la DB (Brice)
Encodage du user admin dans la DB (Brice)
4 sur 5
En tant que créateur, je souhaite pouvoir ajouter un enregistrement audio aux cartes.(flashcards) afin de permettre à l'élève d'avoir un bonne prononciation du mot dans la langue d'aprentissage
3 sur 5
En tant que créateur, je veux créer des Flashcards à l'aide d'un formulaire.
Avoir un formulaire me permettant de donner le mot et sa traduction et en plus une image liée à celui-ci. Dès que le formulaire est soumis, ces données devront être envoyées à notre back-end. Le mot, sa traduction et l'URL de l'image seront stockés dans la BDD. L'image en elle-même est stockée dans le dossier images (dossier "/upload") prévu à cet effet.
L'API devrait être prête pour recevoir les données qui vont transiter du front vers le back.
4 sur 5
En tant qu'élève je souhaite visualiser le mot à traduire sur une carte et visualiser la réponse après afin de savoir si j'ai trouvé j'y suis presque ou raté la traduction du mot
Après que l'élève aura choisie le nombre de carte qu'il souhaite avoir, il sera redirigé vers une page qui affichera une part une le nombre de carte que l'utilisateur jouera.
Le but ici est donc de récupérer en base de données le nombre de carte( mot, traduction, image, poids de la carte) que l'utilisateur aura choisi précedemment et les disposer de façon aléatoire dans le deck afin qu'il ne se retrouve pas toujours avec le même deck de carte s'il joue plusieurs fois d'affiler.
En dessous de la carte on aura un bouton Reveler qui permettra à l'utilisateur d'afficher la traduction de la carte. Lorsqu'on cliquera sur ce bouton, il sera remplacer par une suite de trois boutons (j'ai trouvé, j'y étais presque, je n'ai pas trouvé) qui permettra à l'utilisateur de s'auto évaluer lorsqu'il aura vu la traduction de le carte.
Sur une echelle de 1 à 5 la US à une valeur de 2 en terme de temps de travail on peut l'estimer à 6h.
En tant qu'élève, je souhaite pouvoir choisir le nombre de carte afin de définir la durée de la partie (flashcards).
Après avoir choisis le nombre de carte qu'il voulait jouer, l'élève disposera d'un deck de flashcards du même nombre de cartes, ces cartes seront choisis aléatoirement par une requête sur la base de donnée.
La page doit être responsive. Le nombre de carte doit être enregistré et stocké d'une manière à ce qu'il soit utilisable par les autres pages/composants (store).
3 sur 5
Complexité:
2 sur 5
Complexité:
1 sur 5
En tant qu’utilisateur, je souhaite déplacer mon avatar sur une carte interactive afin d’accéder à une activité spécifique.
En tant que créateur, je veux créer des activités sur la carte afin de proposer des nouvelles activités.
Dans la page"addCard", dans la partie centrale, on affiche un formulaire pérmettant d'importer un fichier XLSX (Excel), une fois qu'il a été importé, les données de celui-ci devront-être utilisées pour créer les différentes cartes, (une ligne = une carte). Celles-ci seront stockées dans une BDD. Le créateur devrait suivre la convention suivante : la 1ère colonne étant réservé pour le mot et la seconde pour sa traduction.
Lorsque je suis connecté et je dispose du rôle "créateur", dans la page "addCard", je dois être en mesure d'importer un fichier XLSX en utilisant un formulaire et avoir un pop-up me disant l'importation correcte de celui-ci ou l'erreur dans le cas échéant.
Si je n'envoie qu'aucun fichier, rien se passe.
Sur une échelle de 1 à 5 (5 étant le plus complexe et 1 inversement) :
4, car celle-ci utilise un endpoint, elle traite aussi les données provenant de fichiers Excel importés afin de créer les questions.
Sur une échelle de 1 à 5 (5 étant la valeur la plus importantes et 1 la moins), cette US est classée en 3 (+- importante) car s'il n'y a pas de question dans la BDD, le créateur ne poura pas en créer des nouveaux.
POST: /card/upload/
En tant que professeur, je souhaite m’inscrire dans une ou plusieurs classes afin de créer des activités pour les élèves de cette classe.
Complexité:
2 sur 5
En tant que professeur, je veux pouvoir choisir le type de question dans un quiz, afin d'ajouter une diversité dans le type d'évaluation.
I. Titre
En tant que créateur, je souhaite pouvoir créer des quizz auxquels mes élèves pourront répondre afin de pouvoir les former.
En tant que professeur, je souhaite pouvoir filtrer mes classes par année afin d'avoir un accès directe à mes différentes classes.
Complexité:
2
En tant qu'élève, je souhaite avoir la possibilité d'écouter l'enregistrement audio des cartes afin d'avoir une bonne prononciation du mot.
3 sur 5
En tant qu'élève, je souhaite revoir les cartes que je n'ai pas trouvé dans mon deck actuel afin de vérifiez si j'ai assimiler la réponse.
Si l'utilisateur a trouver la bonne réponse (qu'il a donc répondu "j'ai trouvé"), la carte est donc retiré du deck et il ne pourra plus retomber dessus lors de cette partie. Si il n'a pas trouvé la bonne réponse, la carte reste dans le deck
4 sur 5
En tant qu'utilisateur, je veux gagner des objets/monnaie lorsque j'ai répondu correctement à une partie afin de débloquer des nouvelles activités.
3 sur 5
Difficulté:
2 sur 5
En tant qu'éleve, je souhaite d'être informé du nombre de cartes restantes lors du jeu.
Lorsqu'un élève est entrain de jouer, dans la partie centrale à gauche, il devrait être informé du nombre de carte réstante. Lorsqu'il clique sur un des boutton : "J'ai trouvé", "J'y étais presque" ou "Je ne savais pas", ce nombre devrait être décrémenté. Lorsque le nombre de carte est inférieur à 8, un effet de disparition des cartes devrait apparaitre. Une fois que le nombre de cartes est terminé ce composant devrait être supprimé et faire appel à une fenêtre contextuelle pour afficher le résultat du jeu.
Création et récupération du nombre de carte depuis le store.
2 sur 5 -> (presque que du CSS)
En tant qu’utilisateur (prof), je souhaite pouvoir créer des quizz auxquels mes élèves pourront répondre afin de pouvoir les former.
En tant qu'élève, je souhaite pouvoir accéder à la page du jeu dragAndLearn afin de pouvoir lancer une partie.
Afin de pouvoir lancer une partie, l'utilisateur doit avoir un accès aux jeux. Pour cela il faut qu'il puisse depuis la page d'acceuil trouver une page lui permettant de lancer une partie de DragAndLearn. Il pourra lancer une partie depuis la carte intéractive en choisissant son monde de jeu (Flashcard ou DragAndLearn).
Dépendance => La carte intéractive doit être opérationnnelle.
2 sur 5
Je souhaite que mes réponses soit enregistrés pour chaque carte et prise en compte pour le calcul des poids (Flashcards)
Les réponses de l’élève au jeu de Flashcard seront envoyées vers le backend et enregistrées dans la DB pour le calcul des poids (cf US perso #22)
Lorsqu'un élève termine un jeu, ses réponses sont sauvegardés dans la DB
Prérequis : les cartes sont déjà envoyées vers l'utilisateur
Accès en lecture et écriture sur la DB : écriture des réponses dans la table user_response
Ajout du endpoint /user_response/iduser/:cards
Implémentation d'une fonction qui permet de mettre à jour la table user_response
3 sur 5
En tant qu'élève, je souhaite obtenir mon score afin de savoir combien de mots on été bien placés.
En tant qu'élève et joueur, je souhaite pouvoir avoir la possibilité de visualiser mon score après avoir placé tous les mots dans les cases. Pour cela un espace est réservé à la vérification du score avec un bouton pour me permettre de le mettre à jour.
Dépendance => La zone de jeu et la zone de mots doivent êtres fonctionnelles (voir US: Élève, pouvoir drag and drop les mots dans les cases#56)
3 sur 5
En tant qu'élève connecté, je souhaite pouvoir consulter mes accomplissements et avancées ainsi que ma liste de vocabulaire afin de visualiser mon niveau actuel.
Lorsque l'étudiant se connecte, tout en haut a droite il peut cliquer sur un bouton permettant de le renvoyer vers son profil. il verra donc un bouton '' historique '' permettant de consulter l'ensemble des activités auxquelles il a participé et ses différents résultats.
ETANT DONNEE que je souhaite consulter mes accomplissements
QUAND je clique sur le mon profil tout en haut a droite
ALORS j'accède a mon profil
ET je clique sur le bouton '' Historique''
ET je peux avoir l'ensemble des activités auxquelles j'ai participées et mes différents résultats sur ces derniers
3h- 4h
⭐⭐⭐
En tant qu’élève, je souhaite pouvoir choisir ma/mes langues d’apprentissage parmi un choix donné afin de m’authentifier.
En tant qu'élève, afin de pouvoir jouer au jeu, je souhaite pouvoir bouger les mots et les positionners dans des cases.
Une fois la partie lancée et donc que l'utilisateur est sur la page du jeu de DragAndLearn, il devra avoir à sa disposition une zone avec des mots qu'il peut placer dans une zone de jeu. Dans cette zone de jeu, les mots devrons être placés dans des champs. Afin de ne pas trop facilité la tâche du joueur, à chaque partie, les mots devrons être dans un ordre différent dans la zone de mots. La zone de champs comportera une image de background (formulaire, cv, etc).
Dépendance => Une route doit être disponible pour accéder à la page du jeu (Voir US: Élève, accéder à la page pour jouer#55)
4 sur 5
Complexité:
2 sur 5
En tant que professeur, je souhaite inscrire une liste d'élève dans des classes via un fichier excel afin de les répartir dans différentes salles de classes
Sur une echelle de 1 à 5 :
Cette US a une importance de 3 car il va permettre au professeur de mettre facilement d'élève dans sa classe qui lui est dédié
En tant qu'élève, je veux être informé du résultat de ma partie afin de connaitre mon score.
À la fin d'une partie de jeu l'utilisateur devrait être informé de son résultat à celle-ci. Un pop-up devrait s'ouvrir avec le résultat.
Une fois qu'il n'y a plus de carte, l'utilisateur devrait avoir une fenêtre modale lui indiquant son résultat à la partie en question.
2 sur 5
En tant qu'élève, je souhaite pouvoir sélectionner parmi trois choix : j'ai trouvé, j'y suis presque, je ne trouve pas. (flashcards)
Une fois que l'utilisateur a vu la solution, il peut s'auto-évaluer en choisissant parmi ces trois choix (j'y suis presque, j'ai trouvé, je ne trouve pas). Cela permettra donc d'influencer le taux d'apparition de la flashcard. Si il a bien répondu, elle ne reviendra plus, si il ne trouve pas, elle devra réapparaitre.
La US a une complexité de 1 sur 5
Cette US est intéressant car il va permettre à l'utilisateur de s'auto évaluer pour pouvoir indiquer s'il avait la réponse en tête, s'il était presque ou s'il n'a pas trouvé.
L'élève aura accès à une page nommée "profil" où il pourra voir ses informations de profil (prénom, nom, ...). Il pourra aussi visualiser sa classe et les succès qu'il a déverrouillés. Il y aura aussi un bouton "log out" pour que l'utilisateur puisse se déconnecter.
L'élève doit posséder un compte et être connecté.
Lecture sur la db (GET)
3/5
En tant que professeur, je souhaite inscrire et désinscrire un élève d’une classe afin de les répartir dans différentes salles de classe.
Sur une echelle de 1 à 5 :
Cette US a une importance de 3 car il va permettre au professeur de mettre facilement d'élève dans sa classe qui lui est dédié
Quand l'élève aura terminé de créer son compte et qu'il est dans la liste de tout les personnes inscris, il sera mis dans sa salle qui a été choisie par son professeur
En tant que créateur, je souhaite avoir la possibilité d'ajouter des images aux cartes afin qu'elle soit plus visuelle pour les élèves
2 sur 5
En tant qu'utilisateur je souhaite pouvoir acheter des véhicules dans mon garage afin de débloquer de nouvelle zone de la carte.
En tant que professeur je souhaite pouvoir créer un compte élève afin qu'il ait accès accès à plus de fonctionnalités
Une page permet à un utilisateur de créer un nouveau compte grâce à un formulaire. Une fois le compte créé, l'utilisateur pourra s'y connecter pour avoir accès a de nombreuses nouvelles fonctionnalités.
Un champ mail n'est pas valide si le mail est déjà utilisé par un autre compte.
Un champ numéro de téléphone n'est pas valide si le numéro précisé est déjà utilisé par un autre compte.
Si tout les champs sont valides, les informations du nouveau compte peuvent être envoyées au backend via une route (/register par ex).
Une fois le compte créé, l'utilisateur est amené à la page de connexion.
Une route dois permettre d'envoyer les données rentrées par l'utilisateur vers le backend (/register par ex.).
La base de données doit contenir les tables nécessaires à l'enregistrement d'un utilisateur.
3 sur 5
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.