-
Notifications
You must be signed in to change notification settings - Fork 2
API du Projet
Pour notre API, nous avons choisi symfony, car nous utilisons déjà ce framework pour le développement de notre site web et que celui-ci prend également en charge toutes les interactions avec la base de données dont nous avons besoin pour le création de notre API.
Pour notre API, nous avons décidé d'utiliser la méthode de nommage "snake_case" car il existe très peu de contextes dans lesquels elle est incompatible.
Cette méthode se caractérise par le fait que les mots sont séparé par un underscore « _ ».
L'api user est utilisé un peu partout dans le projet et sert de base dans l'obtention des données des utilisateurs du site.
En tant qu'utilisateur non connecté, je souhaite pouvoir fournir, lors de mon inscription, mon nom et prénom, mon adresse mail et mon adresse afin de faciliter les échanges avec le professeur.
Les paramètres sont les différents éléments remplis lors du formulaire par l'utilisateur lors de son inscription. Ces données seront envoyées sous format JSON.
Pur valider cette étape, les données du nouvel utilisateur doivent être correctement enregistrées et envoyées vers la base de données, elle doit également envoyer le nouvel utilisateur vers la page de connexion.
Un message d'erreur apparait lorsque l'utilisateur tente d'envoyer le formulaire incomplet.
En tant qu'étudiant, je souhaite pouvoir me connecter avec mes identifiants créés lors de l'inscription afin d'accéder à mon interface dédiée.
Les paramètres sont l'identifiant et le mot de passe entrés par l'utilisateur dans le formulaire de connexion.
Si ceux-ci sont déjà enregistrés et que le mot de passe proposé est identique à celui-ci enregistré, la connexion sera autorisée.
Un message d'erreur doit apparaitre lorsque l'utilisateur n'entre pas correctement le mot de passe.
3.3) modification_user : Permet aux élèves inscrits de modifier leurs "fiches" visibles par le professeur.
En tant qu'étudiant, je souhaite pouvoir modifier certaines informations de mon compte afin de conserver mes données personnelles à jour.
Les paramètres sont les nouvelles données modifiées par l'élève dans le formulaire de modification. Ces nouvelles données seront envoyés sous format JSON.
Les nouvelles données entrées par l'utilisateur sont enregistrées et vont directement remplacer celles de l'utilisateur. Suite à cette modification, l'utilisateur est retourné vers son profil.
Un message de succès s'affiche sur la page du profil suite aux modifications apportées à l'utilisateur.
En tant que professeur, je souhaite pouvoir accéder à une fiche étudiante par élève afin de faciliter l'accès aux informations relatives des élèves.
Pas de paramètres utilisés. Les réponses envoyées par la base de données seront au format JSON.
Le professeur a accès à une liste de fiches correspondant à chaque élève sur lesquelles le professeur peut cliquer pour accéder à des informations complémentaires.
En tant qu'étudiant, je souhaite pouvoir avoir accès à une liste avec toutes les disponibilités du professeur.
Pas de paramètres utilisés. Les réponses envoyées par la base de données seront au format JSON.
Les élèves ont accès à une page sur laquelle ils peuvent visualiser facilement toutes les disponibilités du professeur.
En tant que professeur, je souhaite pouvoir donner mes disponibilités du mois afin de permettre la prise de rendez-vous pour les élèves.
Le/les paramètre(s) sera/seront les dates proposées par le professeur dans un formulaire. Ces différentes données seront envoyées au format JSON
Lors de l'enregistrement de ces disponibilités dans la base de données, celles-ci seront complétés par une colonne "disponible" qui sera fixée à True par défaut et qui passera à False lorsqu'un élève prendra cette plage horaire (voir prochain point). Un message d'erreur devra apparaitre lorsque le formulaire ne sera pas correctement complété.
En tant qu'étudiant, je souhaite pouvoir sélectionner une plage horaire disponible afin de prendre rendez-vous avec le professeur.
Le/les paramètres utilisé(s) est/sont la/les date(s) choisie(s) par l'élève dans un formulaire de prise de rendez-vous.
Lorsqu'un élève sélectionnera une date proposée par le professeur, la disponibilité de celle-ci dans la base de données passera à False. Un message d'erreur devra apparaitre lorsque le formulaire ne sera pas correctement complété.
En tant qu'élève je souhaite pouvoir accéder à une messagerie afin de proposer des rendez-vous au professeur et d'échanger avec celui-ci.
Le paramètre utilisé est l'identifiant de l'utilisateur. Les données seront envoyées par la base de données au format JSON.
La base de données enverra l'ensemble des messages correspondant à l'identifiant de l'utilisateur. Un message indique si l'utilisateur ne possède aucun message.
L'utilisateur aura également la possibilité d'envoyer un message au professeur depuis sa messagerie.
En tant qu'utilisateur, je souhaite pouvoir envoyer un message à un autre élève ou au professeur afin d'échanger avec eux.
Les paramètres utilisés sont l'identifiant cible ainsi que le message entrés par la source. Les données envoyées seront au format JSON.
Le message ira s'ajouter à ceux de la cible dans la base de données. Un bouton d'envoi de message est présent dans la messagerie de l'élève et lui permet d'envoyer un message plus rapidement au professeur.
En tant qu'utilisateur, je souhaite pouvoir supprimer certains messages de ma messagerie afin de faciliter la lecture de mes nouveaux messages.
Les paramètres utilisés seront l'identifiant de l'utilisateur ainsi que les messages qu'ils désire supprimer. Les données envoyées seront au format JSON.
un petit bouton de suppression est présent à coté de chaque message et permet la suppression directe de la base de données et de la messagerie.
3.11) ajout_faq : Permet au professeur d'ajouter une question - réponse à la zone FAQ de sa page vitrine.
En tant que professeur, je souhaite pouvoir gérer l'espace de FAQ comme je le souhaite afin de fournir certaines infos aux utilisateurs non connectés.
Les paramètres utilisés seront la question entrée par le professeur dans un formulaire et sa réponse également entrée par le professeur dans ce même formulaire. Les données envoyées seront au format JSON.
Le professeur a la possibilité de rajouter une question ainsi que sa réponse sur la page FAQ de son site via une page accessible depuis son "espace prof". Cette question/réponse sera directement enregistrée dans la base de données. Un message d'erreur apparaitra si le formulaire n'est pas correctement complété.
En tant qu'utilisateur, j'aimerais pouvoir donner mon avis concernant les cours du professeur afin de fournir de nouvelles informations aux utilisateurs non-inscrits.
Les paramètres utilisés sont l'identifiant de l'utilisateur ainsi que son message qui seront directement enregistrés dans la base de données. Les données seront envoyées au format JSON.
Une page de commentaires/avis est accessible depuis la page d'accueil du site, l'ajout de commentaire y est disponible uniquement pour les personnes connectées et un message d'erreur apparait si le formulaire n'est pas correctement complété.
En tant que professeur, j'aimerais pouvoir supprimer une plage horaire mise à disposition afin de pouvoir retirer une erreur ou changer d'avis.
L'identifiant de la plage horaire disponible est envoyé en paramètre.
Il faut au moins une plage horaire avec son identifiant.
En tant que professeur, je souhaite pouvoir récupérer tous les plages horaires afin de vérifier qu'il m'est possible d'ajouter une nouvelle plage sans que ça chevauche une plage horaire déjà prévue.
Il faut avoir choisit une nouvelle plage horaire et avoir déjà déposé d'anciennes plages horaires.
En tant que professeur, je souhaite pouvoir récupérer tous les rendez-vous afin de connaitre mes rendez-vous.
Il faut que des plages horaires aient été mises à disposition et que des élèves les aient réservées.
En tant qu'utilisateur connecté en tant qu'élève, je souhaite pouvoir récupérer tous les informations concernant les fichiers qui me sont mis à disposition par le professeur ainsi qu'un lien pour pouvoir les télécharger.
En tant que professeur, je souhaite pouvoir déposer des ressources en ligne afin de faciliter l'apprentissage de chaque élève.
Tous les champs disponibles doivent être remplis et l'élève sélectionné doit exister.
En temps qu'élève, je souhaite pouvoir observer mes rendez-vous enregistrés dernièrement afin d'être informé de ce que j'ai inscrit.
Thunder Client est une extension de Visual Studio Code pour le développement d'API.
Nous avons choisi d'utiliser cet outil très pratique afin de tester nos API.
- R2 Backlog
- R2 US Perso Arthur Schamroth
- R2 US Perso Arthur Schamroth 2
- R2 US Perso Louis Carlier
- R2 US Perso Baptiste Bemelmans
- R2 US Perso Baptiste Bemelmans 2
- R2 US Perso Nicolas Martou
- R2 US Perso Nicolas Martou 2
- R4 Choix et justification des technologies Front End
- R3/5 Choix et justification des technologies Back End
- R7 Choix et justification de la base de données
- R14/19 Sécurité