Skip to content
maksim zaytsev
Projekty

2026V provozuProdukt

Next.js · TypeScript · PostgreSQL · Three.js · Twitch API

Moonst3ad.com

Dvojjazyčný web pro Twitch streamera: 3D lobby, ekonomika na kanálových bodech, nástroje pro komunitu a admin CMS.

Co dělá

Jedno místo pro všechno kolem Twitch kanálu: veřejný web v angličtině s ruským zrcadlem, galerie klipů, harmonogram streamů, playlist YouTube VOD záznamů a herní návody a novinky psané v Markdownu přes admin panel. Nejzajímavější je vrstva komunity. Diváci se přihlašují přes Twitch a účastní se žebříčků, aukcí, predikcí, výzev a cílů kanálu, vše oceněné v S3C — „St3ad Coins“, virtuální měně, kterou řídí kanál.

Jak je postavený

Next.js s app routerem nad PostgreSQL. Přihlášení je přes Twitch OAuth 2.0 s JWT session cookie a třemi rolemi: admin, mod, viewer. S3C žije v append-only ledgeru: nic se nikdy needituje na místě, zůstatek je součet záznamů, takže sporná aukce nebo špatně vystřelená odměna se dá dohledat, místo aby se o ní dohadovalo. Odměny za Twitch channel points přichází přes EventSub webhook a připisují mince s multiplikátory podle role. Telegram bot obsluhuje administrátorské příkazy a posílá do kanálu oznámení o zahájení streamu; DonationAlerts dodává reálná data o donatech; integrace s YouTube při chybějícím API klíči spadne zpět na RSS. Úvodní stránka je interaktivní 3D lobby ve Three.js.

  • Admin panel je záměrně jen v ruštině: jeden operátor, jeden jazyk, míň řetězců k údržbě
  • EventSub znamená žádný polling — mince se připíšou ve chvíli, kdy divák odemkne odměnu