Ochrona przed overbookingiem
Gdy dwie osoby klikną „Zapisz się” na ostatnie miejsce, dostaje je dokładnie jedna. Test 30 równoległych zapisów na 10 miejsc zawsze kończy się wynikiem 10 potwierdzonych i 20 na liście.
kliknij lub naciśnij klawisz, aby pominąć
case study · Strona dla siłowni z zapisami na zajęcia
Siłownia z grafikiem zajęć, zapisami online, listą rezerwową i panelem dla recepcji oraz właściciela.
Statyczna wizytówka siłowni rozbudowana do aplikacji z bazą danych. Klient zapisuje się na zajęcia i śledzi swoje rezerwacje, recepcja odhacza obecności i zapisuje ludzi ręcznie, a właściciel zarządza grafikiem, kontami i regułami rezerwacji.
Zajęcia grupowe mają twardy limit miejsc, a zapisy przez wiadomości na Instagramie kończą się dublami i ludźmi, którzy przychodzą na pełną salę. Do tego nikt nie wie, ilu zapisanych realnie dotarło na trening.
Brak overbookingu gwarantuje schemat bazy, a nie kod aplikacji: każda potwierdzona rezerwacja zajmuje numer miejsca od 1 do limitu, chroniony unikalnym indeksem, więc nadmiarowy zapis jest fizycznie niemożliwy. Zapisy ponad limit trafiają na listę rezerwową, a po odwołaniu rezerwacji pierwsza osoba z kolejki wskakuje na zwolnione miejsce.
// Projekt portfolio działający w całości lokalnie, bez usług zewnętrznych i płatności. Dane klubu, trenerów i klientów są fikcyjne. Zrzuty pochodzą z działającej aplikacji.
Gdy dwie osoby klikną „Zapisz się” na ostatnie miejsce, dostaje je dokładnie jedna. Test 30 równoległych zapisów na 10 miejsc zawsze kończy się wynikiem 10 potwierdzonych i 20 na liście.
Klient widzi swoją pozycję w kolejce, a po odwołaniu czyjejś rezerwacji pierwsza osoba z listy dostaje miejsce automatycznie.
Klient, administrator i właściciel. Roli właściciela nie da się nadać z poziomu aplikacji, powstaje wyłącznie przy zakładaniu bazy.
Właściciel ustawia okno zapisów i anulowania, limit aktywnych rezerwacji na osobę oraz włącza lub wyłącza listę rezerwową.
Hasła hashowane scrypt z losową solą, sesja jako token w ciasteczku HttpOnly, nagłówki CSP i HSTS, ochrona CSRF i limit prób logowania.
Rezerwacje, współbieżność, autoryzacja i walidacja sprawdzane na osobnej bazie, tworzonej od zera przed każdym przebiegiem.










