尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
Dokle daily game
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Dnevna igra: svaki dan 8 kategorija, za svaku jedan odgovor. Što je točan odgovor rjeđi među igračima, to dalje putuješ od Vukovara prema Dubrovniku.
npm install
cp .env.example .env
docker compose up -d # lokalni Postgres
npm run db:migrate # tablice
npm run db:seed # skinovi HR, BiH, Srbija + kategorije
npm run dev # http://localhost:3000
Testovi: npm test (testovi računa trebaju lokalnu bazu s migracijama i seedom). Provjera tipova: npm run typecheck.
Promjena sheme: uredi src/db/schema.ts, pa npm run db:generate (nova migracija u drizzle/) i npm run db:migrate.
src/server/game.ts). Popisi odgovora nikad ne idu u preglednik;
"Šalje se:" pregled pita server, i to samo za kategoriju koja je igraču trenutno otvorena.attempts, i odbijeni, za statistike i admin pregled.udio = (k * procjena + 100 * broj) / (k + ukupno), k = 500 (src/lib/scoring.ts). Prijevoz ide po rangu
odgovora u pitanju (tierSizes): Pješice 5 %, Bajs 7 %, HŽ 11 % (Pješice i Bajs zajedno bar 10), Čazmatrans 11 %,
Rimac 18 %, ostalo Croatia Airlines; najrjeđi označeni odgovori su helikopter.dokle_pid). Google prijava ide preko Supabase Autha
(/auth/callback); pri prijavi se anonimne partije s tog preglednika prebacuju na račun, osim dana koje
je račun već odigrao (src/server/accounts.ts). Kolačić igrača s računom vrijedi samo uz važeću sesiju./profil): streakovi, povijest, nadimak, odjava i brisanje računa. Streak = uzastopni dani,
živi dok je zadnja partija danas ili jučer (src/lib/stats.ts)./admin, samo za ADMIN_EMAILS): pregled dana, odbijeni odgovori (novi odgovor, varijanta
postojećeg ili odbij; prihvaćanje naknadno boduje igrače kojima je to bio zadnji odgovor), igrači,
kategorije i odgovori, raspored za 14 dana unaprijed, pretraga svih upisa i CSV izvoz.
Lokalno bez Supabasea: ADMIN_DEV_BYPASS=1 uz npm run dev (u produkciji se ignorira).Bez NEXT_PUBLIC_SUPABASE_* varijabli igra radi normalno, samo bez prijave. Upute za postavljanje
Supabasea i Google OAutha su u dokumentu projekta.
Sve vezano uz zemlju je u skinu (src/skins/<id>/): ruta, postaje, poruke, tierovi, karta i kategorije.
Seed ih upisuje u bazu (skins.config), a aplikacija ih čita iz baze. Skinovi: Hrvatska na /, BiH na /ba,
Srbija na /rs (popis u src/skins/meta.ts, izbornik zemlje u zaglavlju). Stranica šalje skin API-ju u zaglavlju
x-skin (skinFetch), a server ga čita u currentSkin(). BiH i Srbija imaju svoje kopije općih kategorija bez onih
vezanih uz Hrvatsku (src/skins/regional.ts), pa i svoju statistiku, raspored, lige i streakove. Tekstovi sučelja
pišu se na hrvatskom i prevode u src/i18n/ (ključ je hrvatski tekst). Admin bira zemlju s /admin?skin=ba.
Vercel pokreće npm run vercel-build (scripts/vercel-build.sh): u produkciji prvo migracije i seed
(seed osvježava config skina i dodaje nove kategorije, postojeće ne dira), pa build. Preview deployi
ne mijenjaju bazu. Funkcije rade u Frankfurtu (vercel.json), uz Supabase bazu.