Description de l'API - falcoda/Projet-DevWeb-III GitHub Wiki

Description

Nous avons choisis d'utiliser Express comme module Node JS car il est idéal pour le développement de l'api dont nous avons besoin pour notre site. Express JS est un Framework basé sur NodeJS, c'est le principal framework pour le développement de serveur en Node.js

Liste des API mises en place. (Cette liste va être mise à jour au fur et à mesure )

Routes

Description Endpoint Paramètre Méthode Réponse
Retourne l'HTML de la page acceuil / GET HTML de la page
Retourne l'HTML de la page contact /contact GET HTML de la page
Retourne l'HTML de la page matériel /materiels GET HTML de la page
Retourne l'HTML de la page authentification /authentification GET HTML de la page
Retourne l'HTML de la page devis /devis GET HTML de la page
Retourne l'HTML de la page adminintration /adminintration GET HTML de la page

Requètes

Description Endpoint Paramètre Méthode Réponse
Retourne un json contenant le matériel /materiels/json nom + prix + description + nombre + catégorie GET HTML de la page ainsi qu'un JSON avec tout le matériels de l'ASBL *
Envoie un mail et sauvegarde dans la DB /mail adresse mail + nom + prénom + message POST renvoie 'succes' ou 'error' en cas d'erreur *
Demande de connexion au serveur /connexion adresse mail + mot de passe GET renvoie un réponse booléenne de si l'adresse mail et le mot de passe existent et se correspondent
Demande d'inscription au serveur /inscription nom + prénom + numéro de téléphone + adresse mail + mot de passe POST renvoie 'succes' ou 'error' en cas d'erreur
Retourne le nom et le nombre des produits d'un panier d'un client /panier nom + nombre POST un json contenant le nombre et le nom d'un article *
Ajoute un matériel dans la base de donnée /ajouterMateriel nom + nombre + prix + id_catégorie + description POST sucess si bien envoyé
Demande des utilisateurs inscrit sur le site /liste-utilisateur nom + prénom + numéro de téléphone + email GET un json contenant une liste d'utilisateurs *
Demande le nombre d'un article proposé à la location /nombre-materiel nom + nombre POST un json contenant une liste du nombre des matériel + inscit un nouveau nombre dans la base de donnée si nécésssaire *
Demande toutes les commandes passées /all-commande id commande + mail + nom matériel + nombre matériel + prix + date de la commande GET un json contenant une liste des commandes *
Demande les commandes d'un utilisateur /commande id commande + mail + nom matériel + nombre matériel + prix + date de la commande POST un json contenant une liste des commandes *
Permet de passer une commander /commande-utilisateur id utilisateur + date + nom matériel + nombre POST Permet de passer une commande *
Permet de créer un nouveau panier /nouveau-panier mail + id matériel + nom matériel + nombre POST Permet de créer un panier pour un utilisateur
Permet de supprimer un panier /reset-panier mail POST Permet de supprimer un panier

Règles de nommages

Nous allons utiliser différentes règles de nommages en fonction du type de requète

  • kebab-case/snake_case pour les URLs.
  • camelCase pour les paramètres en “query string” et pour les “fields” des ressources.

Nous utilisons également ces règles :

  • Pas de verbes
  • Mettre au singulier
  • Pas d'accents

Documentation de l'API

Afin de documenter notre API, nous avons opté pour l'utilisation de Postman. Contrairement a Apiary, il est plus accessible financièrement. Pour créer une documentation il faut

Test de l'API

Afin de tester notre API nous utilisons également l'outil Postman, qui a l'avantage de regrouper les test et la documentation. Il permet également de sauvegarder des requêtes afin de les effectués rapidement. Lien Postman