https://recipe-managment.web.app/
mat-button mat-icon mat-list-item mat-menu mat-nav-list mat-sidenav-container mat-sidenav mat-toolbar
- Fordítási hiba nincs
- Futtatási hiba nincs
- Firebase Hosting URL (létezik, és minden végpont megfelelő módon betöltődik)
- Adatmodell definiálása (legalább 4 TypeScript interfész vagy class formájában (ugyanennyi kollekció))
- FSUser
- FSRecipe
- FSIngredient
- FSComment
- Alkalmazás felbontása megfelelő számú komponensre (egyetlen komponens TS és HTML kódja sem haladja meg a 250 sort és soronként a 400 karaktert)
find src -type f | grep -e '.ts' -e '.html' | xargs wc -l | sort -n | tail -1
# 128find src -type f | grep -e '.ts' -e '.html' | awk '{print length}' | sort -n | tail -1
# 60
- Reszponzív, mobile-first felület (minden adat látható és jól jelenik meg böngészőben is, mobil nézetben is)
- Legalább 2 különböző attribútum direktíva használata
- appGoogleSignin
- appSignout
- Legalább 2 különböző strukturális direktíva használata
- ngIf
- ngFor
- Adatátadás szülő és gyermek komponensek között (legalább 1 @Input és 1 @Output)
- Legalább 10 különböző Material elem helyes használata.
- mat-button
- mat-icon
- mat-list-item
- mat-menu
- mat-nav-list
- mat-sidenav-container
- mat-sidenav
- mat-toolbar
- MatInputModule,
- FormsModule,
- Adatbevitel Angular form-ok segítségével megvalósítva (legalább 2)
- recipeForm
- commentForm
- Legalább 1 saját Pipe osztály írása és használata
- RelativeDatePipe
- Legalább 2 különböző Lifecycle Hook használata a teljes projektben (értelmes tartalommal, nem üresen)
- ngOnInit
- ngOnDestroy
- CRUD műveletek mindegyike megvalósult (Promise, Observable használattal)
- CRUD műveletek service-ekbe vannak kiszervezve és megfelelő módon injektálva lettek
- Firestore adatbázis használata az adatokhoz (integráció, környezeti változók használata helyes legyen)
- Legalább 2 komplex Firestore lekérdezés megvalósítása (ide tartoznak: where feltétel, rendezés, léptetés, limitálás)\
- updateAuthorName - where
- listRecipes - orderBy
- Legalább 4 különböző route a különböző oldalak eléréséhez
- / (home)
- /recipes
- /recipes/:id
- /recipes/:id/edit
- /profile
- Legalább 2 route levédése azonosítással (AuthGuard) (ahol ennek értelme van, pl.: egy fórum témakör megtekinthető bárki számára, de a regisztrált felhasználó adatai nem)
- /recipes/:id/edit
- /profile
- Szubjektív pontozás a projekt egészére vonatkozólag (mennyire fedi le a projekt a témakört (mennyire kapcsolódik hozzá), mennyi lehet a befektetett energia a projektben)