Port zgłoszony jako 3000 w inwentaryzacji — koliduje z ai-odkrywca-web, do weryfikacji.
inspiracja
Design system definiuje niestandardową paletę (cream/brown/rust/eco) i fonty Inter + JetBrains Mono — celowy wybór ciepłej estetyki pasującej do sprzedaży używanych kartonów, nie sterylnego SaaS-owego wyglądu.
źródło: nuxt.config.ts (tailwindcss theme)
cel
Sprzedawca używanych kartonów 30-50% taniej niż nowe, dla klienta Lidii Skorupińskiej (magazyn Wielkopolska). Cel: generowanie zapytań telefonicznych/mailowych i prezentacja katalogu z Directusa.
źródło: pages/kontakt.vue, nuxt.config.ts (meta description)
zależności
Kod używa @directus/sdk 14.x i composable useDirectus.ts do pobierania produktów/bloga/opinii z kolekcji (repako_products, repako_blog, repako_testimonials), domyślny URL localhost:8055 — brak pliku .env w katalogu projektu.
źródło: composables/useDirectus.ts, nuxt.config.ts
znaczenie
Firma JDG sprzedająca surowiec wtórny — strona może być głównym kanałem pozyskiwania klientów hurtowych, więc obecny błąd 500 ma bezpośredni wpływ biznesowy.
źródło: pages/kontakt.vue (dane firmy)
co działa
repako-nuxt online w PM2 z 15 restartami od 24 czerwca — sam proces Node nie crashuje, błąd 500 jest zwracany przez działającą aplikację z powodu brakujących plików statycznych.
źródło: pm2 jlist (repako-nuxt, restart_time 15)
co nie działa
curl zwraca {statusCode:500}. Przyczyna: katalog .output/server/chunks/public (symlink do ../../public) nie istnieje po ostatnim buildzie z 8 lipca — Nitro nie może odnaleźć index.html ani _nuxt/*.js/css.
źródło: curl https://repako.aionflow.pl/ (live), ls .output/server/chunks/ (brak public/), error.log
Funkcja submit() w kontakt.vue tylko ustawia submitted.value = true — nie wywołuje żadnego API, nie wysyła e-maila, nie zapisuje w Directus. Nawet po naprawie builda formularz nie dotrze do właścicielki.
źródło: pages/kontakt.vue (function submit())
co do przetestowania
Nie potwierdzono czy kolekcje repako_products/blog/testimonials mają dane — endpoint domyślny (localhost:8055) odpowiedział 403 (inna, niezwiązana instancja Directus).
źródło: curl 127.0.0.1:8055/items/repako_products -> 403
rekomendacja
1) Uruchomić npm run build (wykona krok tworzenia symlinku chunks/public), zweryfikować i zrestartować PM2. 2) Podłączyć kontakt.vue do prawdziwego endpointu i ustawić poprawny DIRECTUS_URL zamiast localhost:8055.
źródło: package.json (scripts.build), pages/kontakt.vue