Skip to content

nicolashavard/API_Justify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API_Justify

Afin de pouvoir utiliser cette API, il est nécessaire d’avoir:

  • MongoDB
  • D’utiliser un logiciel tel que POSTMAN

Une fois le project clonné, avec POSTMAN allez sur l’URL suivante :

GET localhost:3000/setup

Cela permet de creer un utilisateur pour le test de l’API

dans la DB a la collection users, vous devriez trouver une entree :

_id: ObjectId("5b38fd2aa5647869cc7b850e")
email:"nicolas.havard@epitech.eu"
__v:0

Allez ensuite sur l'URL : POST localhost:3000/api/token

Dans la partie "Body", cochez le format "x-www-form-urlencoded", puis renseignez la key:value : email : nicolas.havard@epitech.eu

Appuyez sur SEND.

Si l'utilisateur est bien existant POSTMAN vous retourne une reponse en JSON avec un token.

{
    "success": true,
    "message": "Voici le token",
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Im5pY29sYXMuaGF2YXJkQGVwaXRlY2guZXUiLCJpYXQiOjE1MzA0NjI1MTUsImV4cCI6MTUzMDU0ODkxNX0.OzET3e8PTzInLSVnmcHv0FlMGPEGU7M5YzzX_5LV0jo"
}

Gardez le token a portee de main.

Allez ensuite a l'URL : POST localhost:3000/api/justify

Dans la partie "Headers", ajouter la key:value x-access-token : token precedement recu

puis dans la partie "Body", cochez "raw", puis passez en "text(text/plain)" entrez n'importe quel texte dans le champ de text.

Appuyez sur SEND.

Restriction du sujet:

  • La longueur des lignes du texte justifié doit être de 80 caractères.
  • L’endpoint doit être de la forme /api/justify et doit retourner un texte justifié suite à une requête POST avec un body de ContentType text/plain.
  • L’api doit utiliser un mécanisme d’authentification via token unique. En utilisant par exemple une endpoint api/token qui retourne un token d’une requête POST avec un json body {"email": "foo@bar.com"}.
  • Il doit y avoir un rate limit par token pour l’endpoint /api/justify, fixé à 80 000 mots par jour, si il y en a plus dans la journée il faut alors renvoyer une erreur 402 Payment Required.
  • Le code doit être déployé sur un url ou une ip public
  • Le code doit être rendu sur github

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published