https://pcbuilder-web.web.app/
A projekt egy számítógép konfiguráció összeállító webalkalmazást valósít meg.
Az alábbiakban részletezem a program működését a könnyebb használat érdekében.
A főoldalon jelennek meg a konfigurációhoz jelenleg kiválasztott komponensek egy táblázatban.
A jobb felső sarokban lévő Login gomb segítségével van lehetőség új felhasználót regisztrálni, illetve belépni.
Regisztráció során minden mező kitöltése kötelező, ha a bevitt adat formátuma nem megfelelő,
vagy ha a megadott felhasználónév vagy e-mail cím foglalt, arról egy dialogban értesítést kap a felhasználó.
Bejelentkezni van lehetőség felhasználónév és jelszó, vagy pedig e-mail cím és jelszó használatával.
Bejelentkezés után a bal felső sarokban lévő hamburger menü megnyitásával a sidenavban megjelenik egy My Builds menüpont,
ami a felhasználó által összeállított konfigurációkat megjelenítő oldalra vezet. Itt van lehetőség szerkeszteni, és törölni a mentett buildeket.
Szerkesztés esetén a felhasználó visszakerül a főoldalra, és a kiválasztott hardverek listája kicserélődik a választott buildnek megfelelőkkel.
Nem megfelelő útvonal esetén egy 404-es oldalra kerül átirányításra a kérés, illetve vendég felhasználó nem képes megtekinteni a My Builds oldalt, valamint bejelentkezett felhasználó nem tud a Login oldalra navigálni.
A főoldalon van lehetőség a konfiguráció összeállítására, ennek mentéséhez viszont előbb regisztrálni kell, majd bejelentkezni.
A komponenseknek megfelelő gombokra kattintva az adott típusú termékeket listázó oldalra kerül a felhasználó.
Terméket hozzáadni az összeállításhoz az Add to build gombbal lehet, ilyenkor visszakerülünk a főoldalra, és a listában megjelenik a termék.
A konfigurációból összetevőt eltávolítani a termék sorában a jobb szélső cellában megjelenő kuka ikon segítségével lehet.
Mentés a Save build gomb segítségével végezhető el (ha van kiválasztva legalább egy hardver).
Ezután felugrik egy dialógusablak ahol ki kell választani, hogy Új konfigurációt mentünk-e éppen (Create a new build),
vagy már egy meglévő konfigurációt szeretnénk módosítani (Overwrite). Fontos, hogy mindkét esetben az input mezőbe írni kell egy nevet.
Meglévő összeállítás felülírásakor a lenti legördülő listából kell egy elemet választani, ilyenkor a fenti szövegbeviteli mező tartalma lecserélődik a
kiválasztott build nevére, annek átírásával van lehetőség átnevezni azt.
❔❔ Értékelési segédlet ❔❔
- ✅ Fordítási hiba nincs
- ✅ Futtatási hiba nincs
- ✅ Firebase Hosting URL
- ✅ Adatmodell definiálása (shared/model)
- ✅ Alkalmazás felbontása megfelelő számú komponensre
(Az index komponens initializeData() metódusa meghaladja a 400 karaktert, de ez csak statikus adatfeltöltésre kell, nincs használva) - ❔ Reszponzív, mobile-first felület
- ✅ Legalább 2 különböző attribútum direktíva használata
- ✅ Legalább 2 különböző strukturális direktíva használata
- ✅ Adatátadás szülő és gyermek komponensek között (menu.component.ts, build-viewer.component.ts, build-selector.component.ts, ...)
- ✅ Legalább 10 különböző Material elem (Table, Sidenav, Spinner, Snackbar, Button, Icon, Dialog, RadioButton, Select, Card, ...)
- ✅ Adatbevitel Angular form-ok segítségével megvalósítva
- ✅ Legalább 1 saját Pipe osztály írása és használata (shared/pipes/route-format.pipe.ts --> build-table.component::addNewComponent)
- ✅ Legalább 2 különböző Lifecycle Hook használata (build-table.component::ngAfterViewInit, build-viewer.component::ngOnChanges)
- ✅ CRUD műveletek mindegyike megvalósult
- ✅ CRUD műveletek service-ekbe vannak kiszervezve és megfelelő módon injektálva lettek
- ✅ Firestore adatbázis használata
- ✅ Legalább 2 komplex Firestore lekérdezés (build.service::getBuildsForUser, auth.service::getUserByEmail, ...)
- ✅ Legalább 4 különböző route a különböző oldalak eléréséhez
- ✅ Legalább 2 route levédése azonosítással (/accounts/login, /builds)