Full-Stack: Pokémon app (bis)
Last updated
Last updated
Je gaat een webapplicatie bouwen in twee delen:
Pokedex-overzicht
Haalt gegevens op van en toont een lijst van Pokémon.
Gebruikt je eigen Express-backend om te tonen welke Pokémon je gevangen hebt.
Pokémon die nog niet gevangen zijn krijgen een knop waarmee je de Pokémon kunt "vangen" (dus toevoegen aan je database met gevangen Pokémon).
Pokémon die al wel gevangen zijn krijgen een knop waarmee je de Pokémon kunt "vrijlaten" (dus verwijderen uit je database met gevangen Pokémon).
Jouw Pokémon Party – Synchroniseert met je eigen Express-backend (en MySQL-database)
Haalt op welke Pokémon momenteel in je party zitten (max 6)
Pokémon die al gevangen zijn, maar nog niet in je party zitten krijgen een knop waarmee je de Pokémon kunt toevoegen aan je party.
Pokémon die al gevangen zijn, en al wel in je party zitten, krijgen een knop waarmee je de Pokémon kunt verwijderen uit je party.
Haal de eerste 151 Pokémon op via https://pokeapi.co/api/v2/pokemon?limit=151
Voor elke Pokémon in de lijst:
Toon naam en afbeelding (sprites uit https://pokeapi.co/api/v2/pokemon/{id}
)
Duid aan of deze Pokémon al gevangen is
Voeg een knop toe: “Vang” of “Laat los” (afhankelijk van vangstatus)
Toon je party met max. 6 Pokémon bovenaan de pagina:
De party bevat enkel gevangen Pokémon
Voeg knop toe om Pokémon aan/uit je party te zetten
Je maakt endpoints aan om de vangstatus en party bij te houden:
Endpoints
GET /pokedex
: Geef een lijst van gevangen Pokémon (ids)
POST /pokedex
: Vang een Pokémon (body: { id: number }
)
DELETE /pokedex
: Laat een Pokémon los en verwijdert deze ook uit de party als die erin zit (body: { id: number }
)
GET /party
: Geef de party terug (lijst van max 6 Pokémon ids)
POST /party
: Voeg een Pokémon toe aan de party (body: { id: number }
)
DELETE /party
: Verwijder een Pokémon uit de party (body: { id: number }
)
Zet je Frontend-project op met Vite
Zet je backend project op met Express
Configureer een lokale MySQL-database
Maak een module pokedex.ts
om de data voor je pokédex op te vragen
Maak een module pokemonparty.ts
om de data voor je Pokémon party op te vragen
Bouw componenten voor:
Pokedex lijst
Party overzicht
Schrijf de nodige Express-routes
Verbind je server met MySQL en implementeer de CRUD-logica
Zorg ervoor dat alle routes JSON teruggeven
Voeg een zoekfunctie toe aan de Pokédex
Voeg loading-states toe
Toon een toast-notificatie bij het vangen of verwijderen van een Pokémon