Blok 5 · rozdział 13
Domknięcie projektu
Aplikacja jest gotowa, gdy nowy użytkownik założy konto, zapisze szczyt, zobaczy postęp i przefiltruje listę. W tym rozdziale zbierzesz pliki, typowe błędy i dopisek na koniec, jeśli zostanie czas.
Po tym rozdziale powinieneś umieć
- przejść checklistę na własnym stanowisku, nie na ekranie kolegi;
- dopasować objaw do miejsca w projekcie (trasa,
.env, migracja, CSS); - rozszerzyć listę albo kartę o jedno pole albo filtr, jeśli zostaje czas;
- pokazać w kodzie trasę, model i komponent Livewire.
1. Co jest w projekcie
| Kawałek Laravela | Gdzie to widać w Koronie |
|---|---|
| Trasa | routes/web.php — lista, karta, zdobycie, moja korona |
| Kontroler | SzczytController, ZdobycieController |
| Widok Blade | resources/views, układ korona |
| Komponent Blade | <x-karta-szczytu> |
| Migracja i model | pasma, szczyty, zdobycia |
| Seeder | KoronaSeeder i plik korona.php |
| Breeze | routes/auth.php, rejestracja, logowanie |
| Livewire | App\Livewire\SzukajSzczytow |
vendor i node_modules nie trzeba kopiować na pendrive, jeśli prowadzący ma Composer i npm. Plik .env zostaje na stanowisku — jest w nim hasło do lokalnej bazy. Do pokazania wystarczy kod, który sam pisałeś, plus działające demo na komputerze.
2. Gdy nie działa
| Objaw | Gdzie szukać |
|---|---|
| Lista plików zamiast strony | Adres nie idzie przez public. Użyj php artisan serve. |
| 419 przy formularzu | Brak @csrf. |
| 500 przy zapisie planu albo sesji | SESSION_DRIVER. Na kursie ma być file, potem config:clear. |
| Błąd dostępu do bazy | DB_* w .env, włączone MySQL, nazwa bazy korona. |
| Pusta lista, a w phpMyAdmin są wiersze | Aplikacja patrzy w inną bazę albo kontroler nadal trzyma tablicę. config:clear. |
| Strony logowania bez stylu | npm run build albo npm run dev. |
| Pole Livewire nie filtruje | Brak .live, brak @livewireScripts, błąd w konsoli przeglądarki, widok z dwoma korzeniami. |
| SQLSTATE o duplikacie slugu | Seeder puszczony na schemacie bez updateOrCreate. Nie dopisuj ręcznie drugiego Rysów. |
3. Jeśli zostaje czas
To nie jest obowiązkowa część kursu. Gdy lista, konto i zdobycia już działają, możesz zrobić jeden z wariantów.
Wariant A. Województwo
Nowa migracja dodaje do szczyty kolumnę wojewodztwo (string, nullable).
Dopisz ją do $fillable. Uzupełnij kilka szczytów w phpMyAdmin albo w seederze.
Pokaż województwo na karcie. Zapis zdobycia zostaje bez zmian.
php artisan make:migration add_wojewodztwo_to_szczyty_table
i w up: $table->string('wojewodztwo')->nullable()->after('wysokosc_m');
Tabela już istnieje, więc to Schema::table, nie Schema::create.
Wariant B. Tylko powyżej 1000 m
W komponencie SzukajSzczytow dodaj właściwość logiczną, checkbox wire:model.live
i warunek where('wysokosc_m', '>=', 1000), gdy pole jest włączone.
Wyłączony checkbox wraca do pełnej listy (z uwzględnieniem frazy i pasma).
4. Co ma działać
Gdy zrobiłeś wariant z podrozdziału 3 i strona nadal działa, zapisz go osobno:
git add .
git status
git commit -m "Dopisek na koniec"
Bez tego wariantu ostatnim commitem zostaje „Szukanie Livewire”.