Hogwarts Express CRUD
Last updated
Last updated
Je breidt een bestaande webtoepassing uit die een lijst van Harry Potter-spreuken toont. Je voegt functionaliteit toe om spreuken aan te maken, aan te passen en te verwijderen. De gegevens worden opgeslagen in een MongoDB-database. De front-end is opgebouwd met EJS.
Je kan het bestaande project vinden in het bestand.
Een overzichtspagina met zoek- en sorteermogelijkheden
Een detailpagina per spreuk
Een MongoDB-verbinding
Een datastructuur Spell
en een basistemplate met EJS
Breid de bestaande toepassing uit met de volgende functionaliteit:
Voeg een GET-route toe voor /spells/create
die een formulier toont.
Voeg een POST-route toe die een nieuwe spreuk aanmaakt in de database.
Genereer het formulier dynamisch op basis van res.locals.FIELDS
en res.locals.SPELL_TYPES
.
Ken automatisch een uniek ID toe aan de nieuwe spreuk (hoogste bestaande ID + 1).
Voeg een GET-route toe voor /spells/:id/update
die het bestaande formulier toont, vooraf ingevuld met de huidige gegevens.
Voeg een POST-route toe die de aangepaste gegevens opslaat.
Het id
-veld moet read-only zijn.
Voeg een POST-route toe voor /spells/:id/delete
die een spreuk verwijdert.
Voeg op de overzichtspagina een verwijderknop toe per rij.
Gebruik de bestaande types:
Spell
voor de data
SpellField
voor de formuliervelden
Ondersteunde invoertypes zijn: text
, number
, en spelltype
(een dropdown).
index.ts
: routes toevoegen
database.ts
: functies schrijven voor createSpell
, updateSpellById
, deleteSpellById
views/createSpell.ejs
en views/updateSpell.ejs
: formulieren bouwen
views/index.ejs
: knoppen toevoegen voor "Create", "Update" en "Delete"
Een werkend formulier voor het toevoegen van nieuwe spreuken
Mogelijkheid om bestaande spreuken te bewerken
Mogelijkheid om spreuken te verwijderen via de overzichtspagina
Alle formulieren gebruiken FIELDS
en SPELL_TYPES
om inputs correct te genereren