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 |
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