Realizacja

Gralio: jak znaleźć grę i miejsce do gry

Problem

Gry organizuje się na grupach na czacie, a znalezienie wolnego boiska to obdzwanianie obiektów. Nikt nie wie, kto naprawdę przyjdzie, a gdy miejsc brakuje, nie ma uczciwego sposobu na wybranie kolejnej osoby.

Najważniejsze funkcje

Wyzwanie inżynierskie: mapa Polski z otwartych danych

Mapa pokazuje 39 703 miejsca publiczne w całej Polsce, zebrane naszym własnym narzędziem z danych OpenStreetMap: pobierane według województw, oczyszczane z duplikatów i dopasowywane do terenów szkół. Trudniejsze jest załadowanie ich do działającego systemu: import ma wersje, można go bezpiecznie powtarzać, a blokada chroni przed kolizją, gdy startuje naraz kilka instancji serwera. Import nigdy nie usuwa istniejących miejsc.

Wyzwanie inżynierskie: dostępność, której można ufać

Wolne terminy są liczone na serwerze, w strefie czasowej obiektu, a nie w przeglądarce. Rezerwacje korzystają z tego samego rejestru zajętości pilnowanego przez bazę danych co Jazdo, a miejsca w grach z rejestru miejsc, więc terminu ani miejsca nie da się zająć dwa razy.

Architektura i technologie

API w ASP.NET Core (.NET 10) z PostgreSQL na Google Cloud Run, Angular 21 na Firebase Hosting z Firebase Auth, mapa Leaflet z OpenStreetMap i limity żądań na adres IP i użytkownika. Testy API, aplikacji webowej i end-to-end są automatyczne.

Zobacz też