-
Notifications
You must be signed in to change notification settings - Fork 0
7. Documentations de l'API
Une API a été mise en place, fonctionnant autant pour l'application mobile que pour l'application web. Ici vous trouverez un brève description de chacune des fonctionnalités offertes par cet API. Vue que nos applications fonctionnent en React et React-Native, il nous parut avantageux d'utiliser NodeJs, Express avec MongoDb pour notre base de données. La possibilité de faire de l'Orienté-Objet dans la base de données, grâce à des services tels que Mongoose est l'une des raisons qui nous a poussé à faire ce choix. Pour l'instant, notre api renvoie des données sous forme JSON.
Notre api est actuellement en cours de développement. Il écoute sur le port 5000 à l’URL du site de easygame.
Avis aux disclaimers: Il est vrai qu'il n'est pas conseillé de laisser écouter l'api sur un port spécifique. Pour l'instant nous n'avons pas de solutions alternatives. Comme dit précédemment, notre api est en cours de développement. Donc vous allez devoir vous contenter de ceci.
Si on revient sur ce qui a été dit avant, pour appeler notre api il faudra utiliser la syntaxe suivante:
http:easygame.funndeh.com:5000/api/ + REQUEST avec REQUEST la requête qu'on désire.
Il est possible de lister tous les utilisateurs existants dans la base de données grâce à l'URL avec une requête de type GET
http:easygame.funndeh.com:5000/api/usersVous obtiendrez un array contenant des objets représentant tous les utilisateurs issus de la base de données avec toutes leurs coordonnées. Cet api est intéressante pour la partie gestion.
il est également possible de se loger à l'application avec une requête de type POST avec comme des données en paramètre sous ce format:
{
email: userMail,
motDePasse: userPassword
}Evidemment, l'URL de notre api dans ce cas sera:
http:easygame.funndeh.com:5000/api/users/loginComme réponse, vous allez obtenir un objet ayant uniquement une clé message et son attribut en cas d'erreurs, et une objet avec deux clés: message et token en cas de réussite.
Pour enregister un utilisateur dans la base de données, nous avons besoin d'une requête de type POST avec comme paramètre des données de cette forme:
{
nom : userNom,
prenom : userPrenom,
email : userEmail,
motDePasse : userMotDePasse,
dateNaissance : userDateNaissance,
fonction : userFonction,
idAnimateur: userIdAnimateur //Email de l'animateur
}Une chose intéressante à souligner dans nos applications, est que seuls les animateurs ont droit à la création d'un compte. Comme réponse vous obtiendrez un objet constitué d'une clé, message informant si oui ou non le nouveau utilisateur a été enregistré. Une autre chose à préciser est que les adresses emails des utilisateurs doivent être uniques dans la base de données. C'est sur elle qu'on se base le plus pour identifier un utilisateur. Les mots de passe ne doivent pas avoir une longueur de moins de 8 caractères.
Chaque utilisateur est caractérisé par un id qui lui est propre et qui est générée de manière automatique. Une api a été mise an place pour les requêtes consistant à avoir les données de l'utilisateur ne connaissant que son id. Ainsi une requête de type POST avec pour données, l'id de l'utilisateur est possible par la syntaxe:
http:easygame.funndeh.com:5000/api/users/userIdSur base du token obtenu en login, il est possible d'obtenir l'id de l'utilisateur. Vous obtiendrez un objet contenant toutes les coordonnées correspondant au profil de l'utilisateur(clés possible: __id, nom, prenom, nomUtilisateur...).
Nous pouvons supprimer un utilisateur de manière totale de la base de données à travers une requête de type DELETE
http:easygame.funndeh.com:5000/api/users/userIdavec userId comme l'id de l'utilisateur.
Cette requête de type GET permettant de lister tous les divices ainsi que leurs propriétaires.
http:easygame.funndeh.com:5000/api/devicesCette requête de type POST permet d'ajouter un device et de l'attribuer à un animateur. La syntaxe est la suivante:
http:easygame.funndeh.com:5000/api/devices/addAvec les données en paramètres de cette forme:
{
nom: deviceNom,
proprietaire : userEmail // attention de l'animateur
}Pour recevoir une liste de tous les devices appartenant à un animateur, on devra faire une requête de type GET, dont la syntaxe est la suivante:
http:easygame.funndeh.com:5000/api/devices/getDevicesavec comme paramètre le mail de l'animateur:
{
proprietaire: mailAnimateur
}
Pour visiter toutes les données enregistrées dans la base de données, une requête de type GET vers le lien.
http:easygame.funndeh.com:5000/api/positionsPour ajouter une position GPS, on va devoir l'encoder à travers une requête de type POST.
Projet d'intégration 2019/2020 | Manuelle Ndamtang | Darryl Bilongo