Un RATTATA sauvage apparaît !
https://www.youtube.com/watch?v=EkLHogQCXMc
- Transformation d’un CSV des Pokémons
- Télécharger le CSV POKÉMON
- Création d’un model PokedexCreature
- Il doit contenir tous les champs du CSV
- chaque instance représente une entrée du POKEDEX
- Transformation du CSV en instances du model Pokémon (Django management command)
- API read-only du model créé (ReadOnlyModelViewSet)
- Action LIST
GET /pokedex
- Renvoi une sérialisation de toutes les instances concernées
- On devra pouvoir filtrer optionnellement les Pokémons reçus selon :
- leur type1
- leur type2
- leur génération
- s'ils sont légendaires
- Action RETRIEVE
GET /pokedex/{id}
- Renvoi une sérialisation de l’instance visée
- Action LIST
- Créer un model Pokémon, qui représente les individus
- API de CRUD (create read update delete) (ModelViewSet, ModelSerializer)
-
CREATE
-
Un individu fait référence à une entrée du POKEDEX
-
Il peut être sauvage ou non :
trainer_id
est optionnel -
surname
est optionnel, par défaut le Pokémon a pour surname le nom de l’entrée du POKEDEX à laquelle il fait référence -
JSON BODY
{ "pokedex_creature_id": 1, "trainer_id": null, "surname": "LeSurnomDeMonPokemon", "level": 1, "experience": 1, }
-
-
ACTION (ViewSet actions)
-
Un utilisateur peut donner de l’expérience à un Pokémon
-
POST /pokemon/{id}/give-xp
{ "amount": 1, }
-
Tous les 100 points d’expérience gagnée, le Pokémon gagne un niveau
-
-
**FUTURES FEATURES **
🔥🔥GET pokedex/
qui ne renvoi que des informations partielles, et GET pokedex/{id}
qui renvoi toutes les informations de l’entrée du POKEDEX
🔥 Une page admin permettant la consultation/l’ajout de Pokémon dans le pokedex
🔥🔥 Un dockerfile
🔥🔥🔥 Un docker-compose avec PostgreSQL comme BDD pour Django
Swagger/swagger-like (drf-yasg ou drf-spectacular)
🔥🔥Tests de l’API : les filtres, l’action
🔥 Hébergement de l’API (sur un dédié, un Heroku... ce que tu veux)
🔥 De la pagination
🔥🔥🔥 N’importe quelle autre feature qui te ferait plaisir 🔥🔥🔥
ATTRAPONS-LES TOUS !