Przejdź do treści
Fyndi docs
English

Model danych — co gdzie leży#

Ta strona zbiera obiekty, z których składa się Fyndi, i mówi, czego można się po każdym z nich spodziewać: co liczy serwer, co leży w bazie, a co jest tylko plikiem na dysku.

Co gdzie leży#

ObiektCo zawiera
KontoE-mail, odcisk hasła, rola (gracz / moderator / administrator), tokeny odświeżania sesji
PostaćWygląd (fryzura, czapka, góra, dół, buty, dodatki, kolory), nazwa w postaci nazwa#tag, zgoda na pokazywanie pozycji innym graczom
TrasaNazwa, opis, uporządkowana lista punktów, dystans, szacowany czas, profil ruchu (pieszo / rower / hulajnoga)
Punkt (stop)Pozycja, promień zaliczenia (domyślnie 45 m), reguła zaliczenia (GPS / zagadka / AR), opis i media
ZnajdźkaPozycja, opis, model (zwykły lub AR), przypisanie do sponsora
Przejście trasyJedno zwiedzanie: stan (aktywne → zakończone albo porzucone), czasy, zaliczone punkty
ZdarzenieNiezmienny fakt: zaliczony punkt, zebrana znajdźka, start lub meta trasy
Paczka offlineWersjonowany zestaw treści miasta do pobrania na telefon
Media i modele 3DPliki na dysku serwera: zdjęcia, audio, modele do mapy i AR, adresowane jak zwykłe pliki
Bot NPCNazwa, rodzaj, ikona, pętla trasy (geometria po chodnikach plus tempo), dar, włącznik i kalendarz służby
Dar od botaKto, od kogo i którego dnia odebrał dar — jeden na gracza, na bota, na dobę
Reguła nagródZdarzenie (znajdźka, punkt, trasa) → ile tokenów i jaki dzienny limit; do tego portfel i katalog nagród z wymianami
Lobby (wspólny spacer)Kod, gospodarz, członkowie, status, czas życia 2 godziny i pozycje członków
Zadanie planeraKarta z planowania: tytuł, notatka, kolumna i termin (Proces pracy)
Pozycja graczaOstatnia pozycja do widoczności innych graczy — tylko za zgodą obu stron

Dwie rzeczy są tu warte podkreślenia, bo tłumaczą zachowanie aplikacji:

  • Pozycji bota nie trzyma baza. Serwer liczy ją deterministycznie z czasu i geometrii pętli, więc bot nie „zapada się” w bazie i nie wymaga osobnego procesu, który go przesuwa. Więcej: boty w mieście.
  • Saldo tokenów nie jest polem do zapisu. Portfel liczy się z zapisów księgi minus wymiany, więc nie da się go „poprawić” po cichu — każda zmiana zostawia ślad w historii.

Odpowiedzi bez jawnych haseł#

Punkt-zagadka ma pytanie i odpowiedź, ale odpowiedź nie leży nigdzie jawnie. W bazie zapisany jest wyłącznie skrót (SHA-256) z odpowiedzi po normalizacji — z małymi literami i przyciętymi spacjami. Nawet osoba z dostępem do bazy nie podejrzy rozwiązania.

Co z tego wynika dla gracza i dla redaktora:

SprawaJak jest rozwiązane
Wielkość literGracz może wpisać odpowiedź dowolną wielkością liter
Polskie znaki i interpunkcjaNowe punkty porównuje „luźna” normalizacja: Krzyż, krzyz i K R Z Y Ż trafiają w ten sam skrót
Punkty sprzed zmiany normalizacjiPorównywane starą, ścisłą metodą (przycięcie, małe litery, zbite spacje), więc nadal działają
Odpowiedź + wariantyDla jednej zagadki można zapisać listę dopuszczalnych wariantów
Samo hashowanieOdpowiedź nie opuszcza przeglądarki redaktora: kreator wysyła ją tylko po to, by otrzymać skrót

Pliki i modele#

Rodzaj danychGdzie żyjeUwagi
Konta, postęp, zdarzenia, boty, nagrody, lobbybaza danychRelacyjnie, z historią zdarzeń jako źródłem prawdy statystyk
Zdjęcia, audio, modele 3D, paczki offlinepliki na dysku serweraAplikacja pobiera je pod adresem w ramach domeny fyndi.app
Geometria trasyw rekordzie trasyLinia trasy i punkty pośrednie między stopami; trasa „ręczna” nie jest przeliczana routerem
Wygląd postacina koncie graczaTen sam zestaw pól czyta aplikacja, strona i podgląd w panelu
Odpowiedzi do zagadekw rekordzie punktuTylko skrót, nigdy tekst (patrz wyżej)
Opisy funkcji i stron dokumentacjipliki markdown w repozytoriumGenerowane w stronę docs.fyndi.app
Zadania i notatki planowaniabaza danych paneluKarty widzi tylko staff (Panel staff)

Punkt i znajdźka to dwa różne rodzaje tego samego obiektu: punkt trasy jest stopem, a znajdźka jest zbierana. API pilnuje tego twardo — próba dodania znajdźki jako stopu trasy kończy się odmową, a próba zamiany stopu w znajdźkę zgłasza konflikt. Dlatego trasa przechodząca przez miejsce znajdźki dostaje własny punkt w tych samych współrzędnych. Opis dla gracza: punkty na trasie i znajdźki.

Paczka offline to wersjonowany zestaw treści: manifest z listą plików, sumami kontrolnymi i mapowaniem tras na lokalne ścieżki. Telefon pobiera go, gdy ma sieć, i od tego momentu czyta treść z pamięci urządzenia.


Opis zgodny z aplikacją 0.120.1 (zaktualizowano 2026-09-26).

Wersja aplikacji: 0.120.1 · Wersja API: 0.35.0 ·

docs.fyndi.app · 2026-09-26