Construisons notre API

Barry, le génie de l’informatique, a besoin de créer une API des tâches pour son ami Flash, mais il a vite réalisé que le projet était plus complexe que prévu. Il a donc décidé de faire appel aux étudiants de Polytech pour l’aider à développer cette API.

Les étudiants sont ravis de travailler sur un projet aussi passionnant. Ils ont commencé par analyser les besoins de Flash et ont élaboré un cahier des charges détaillé pour décrire toutes les fonctionnalités que l’API devait inclure.

A chaque endpoint que vous allez créer, n’oubliez pas de renseigner la documentation de votre API et de faire vos test postman. N’hésitez pas à mettre dans le fichier RESPONSE.md vos choix de conception. Ne pas oubliez de bien gérer les erreurs / les données d’entrées.

Votre tâche devra avoir un titre, une description (optionnel) et un statut (pour marquer une tâche comme fini) et une priorité (1, 2, 3…)

Dans la première version à rendre en cours vous pouvez ne pas utiliser de base de données et “sauvegarder” les données in-memory

Création d’une tâche :

Implémentez un endpoint qui permet à l’utilisateur d’ajouter une nouvelle tâche à la liste. L’API doit recevoir en entrée les informations de la tâche à créer (titre, description, etc.) La tâche doit être ajoutée à la base de données.

Récupération d’une tâche :

Implémentez un endpoint qui permet à l’utilisateur de récupérer une tâche en fonction de son identifiant unique. L’API doit renvoyer les informations de la tâche demandée (titre, description, statut, etc.)

Mise à jour d’une tâche :

Implémentez un endpoint qui permet à l’utilisateur de mettre à jour une tâche en fonction de son identifiant unique. L’API doit recevoir en entrée les informations mises à jour de la tâche (titre, description, statut, etc.) La tâche doit être mise à jour dans la base de données.

Suppression d’une tâche :

Implémentez un endpoint qui permet à l’utilisateur de supprimer une tâche en fonction de son identifiant unique. L’API doit supprimer la tâche de la base de données.

Trions :

Implémentez un endpoint qui permet à l’utilisateur de récupérer toutes ses tâches trier par la priorité des tâches.

Paginons :

Modifier votre endpoint pour permettre à l’utilisateur de paginer les tâches de 10 par 10.