Közösségi háló
A következő feladatban egy közösségi hálózat alap szolgáltatását kell megvalósítanod.
A feladatot kidolgozta és Figma tervet készítette: Holló Krisztián
Feladat szövege: Ignácz Dominik Bence
Minta
A feladat megoldása során ezt a Figma tervet tudod felhasználni mintaként.
Vite
Készíts webalkalmazást az npm init njit-basic-vue@latest . parancs segítségével. A kapott NavBar.vue fájlt másold be az alábbi mappaszerkezetnek megfelelő helyen.
Mappaszerkezet
.
├── README.md
├── index.html
├── package-lock.json
├── package.json
├── src
│ ├── App.vue
│ ├── assets
│ ├── components
│ │ ├── BaseCards.vue
│ │ ├── BaseForm.vue
│ │ └── layout
│ │ └── NavBar.vue
│ ├── main.js
│ └── utils
│ └── http.js
└── vite.config.js
JSON szerver és Axios példány elkészítése
- A forrásban adott
db.jsonfájlból készíts JSON szervert. - Készíts egy
http.jsmodult azutilskönyvtárban. A modul tartalmazza az újonann elkészített axios példányt. - Állítsd be az alap urlt
http://jsonserver.vm1.test:8888-ra.
Komponensek létrehozása
BaseForm
Készíts egy BaseForm.vue componenst a components könyvtárban.
A komponens tartalmazon egy űrlapot a minta alapján elrendezve.
A BaseForm tartalmazzon egy objektumot állapotként, amely tulajdonságai össze vannak kötve a beviteli mezőkkel.
Jelezzük a szülő felé, hogy lesz egy esemény amely létrehozza az új posztot. A Posztolom gomb megnyomására váltsd ki az előbbi eseményt, és add át paraméterként az állapoként tárolt objektumot.
BaseCard
Készíts egy BaseCard.vue componenst a components könyvtárban.
A komponens egy kártyát valósítson meg a minta alapján.
A szülőtől vegye át azt az objektumot amelyben a kártyára irandó adatok találhatóak.
Valamint jelezd a szülő felé, hogy lesz egy törlés eredményező eseményed. A Törlés gomb hatására váltsd ki ezt az eseményt és paraméterként add át a poszt azonosítóját.
Gyökér komponens
Az előbb elkészült komponenseket importáld be és helyezd fel őket.
Ezt követően készíts egy állapotot amely a poszok tömbjét fogja tartalmazni.
Készíts 3 aszinkron függvényt, amely segítségével le tudod kérni a posztokat, létre tudsz hozni új posztot és törölni tudsz egyet. Ügyelj rá, hogy a létrehozás és törlés vegye át a szükséges paramétereket.
A függvények és állapotok felvétele után oldd meg, hogy a felhelyezett komponensek is ezt használják.
A függvények az előbbi axios példányt használják fel és a posts végpontot.
A mounted életesemény hívja meg a lekérő függvényt.
\pagebreak