Przegląd
Frontend w Next.js, na którym gracze przeglądają oferty rynku z przeglądarki — bez wchodzenia na serwer.
Ostatni element układanki wokół GrzybcioRynku. Aplikacja w Next.js, którą hostujesz sam, pokazuje gracom rynek z poziomu przeglądarki.
Droga danych
Gracz w przeglądarce
│
▼
Ta strona (Next.js) ← klucz API zostaje TU, po stronie serwera
│
▼
GrzybcioRynekWeb :8765 ← most REST + SSE
│
▼
GrzybcioRynek ← rynek na serwerze MinecraftKlucz API nigdy nie trafia do przeglądarki
Przeglądarka odpytuje serwer Next.js (same-origin), a ten dopiero dokłada klucz i rozmawia z mostem. Dzięki temu klucz zostaje w twojej infrastrukturze.
To dlatego MARKET_API_KEY nie ma przedrostka NEXT_PUBLIC_ — wszystko z tym
przedrostkiem ląduje w kodzie wysyłanym do przeglądarki.
Co pokazuje
| Strona | Zawartość |
|---|---|
/ | Rynek — lista ofert |
/categories | Przeglądanie po kategoriach |
/stats | Statystyki rynku |
/history | Historia transakcji |
/favorites | Ulubione oferty |
/market/listing/[id] | Szczegóły pojedynczej oferty |
/market/player/[username] | Profil gracza i jego oferty |
Ulubione bez konta
Ulubione zapisywane są lokalnie w przeglądarce gracza. Nie ma rejestracji, logowania ani bazy użytkowników.
Konsekwencja: ulubione nie przenoszą się między urządzeniami i znikają po wyczyszczeniu danych przeglądarki. To świadomy kompromis — zero kont do utrzymania i zero danych osobowych do przechowywania.
Aktualizacje na żywo
Domyślnie strona podłącza się do strumienia SSE mostu i dostaje zmiany od razu. Na hostingach, które nie znoszą długich połączeń, przełącza się na odpytywanie co kilkanaście sekund.
Dwa języki
Interfejs startuje po angielsku, z przełącznikiem na polski. To dotyczy samego interfejsu — nazwy przedmiotów przychodzą z serwera.
Czego wymaga
| Wymaganie | Szczegóły |
|---|---|
| Node.js 20+ albo Docker | Do uruchomienia strony |
| GrzybcioRynek 1.0.3+ | Na serwerze Minecraft |
| GrzybcioRynekWeb | Most REST — instalacja |
Na podstawie kodu
Opis powstał na podstawie repozytorium
Grzybcios/GrzybcioRynekWeb-strona —
.env.example, docker-compose.yml i struktura src/app.