System zarządzania klubem dla KSK GROT Radom
Panel do prowadzenia klubu i strzelnicy, nowa strona zasilana jego danymi oraz płatności online. Ewidencja posiadaczy broni z szyfrowaniem, rezerwacje bez możliwości zdublowania, zawody z zapisami przez stronę.
Zobacz projekt na żywo →
- Klient
- KSK GROT Radom
- Branża
- Klub strzelecko-kolekcjonerski
- Rok
- 2025-2026
- Zakres
- System dedykowany · Automatyzacja · Partnerstwo · Opieka
Wyzwanie
Klub rośnie szybciej, niż da się go prowadzić w zeszycie. Powstał w miejscu, w którym wcześniej było dzikie wysypisko w lesie - najpierw trzeba było je uprzątnąć, potem zbudować strzelnicę. Dziś to sześć osi strzeleckich i TRAP, łącznie sześćdziesiąt stanowisk, wszystko osłonięte od deszczu, stanowiska wyłożone kostką. Przy takim tempie rozwoju na papierkową pracę po prostu nie starcza czasu. Rezerwacje szły telefonicznie, godziny otwarcia zależały od tego, kto kiedy zadzwoni i umówi się z instruktorem, a ewidencja klubowiczów razem z danymi posiadaczy broni - PESEL, adresami, numerami pozwoleń - była prowadzona na papierze.
Miejsce, które najpierw trzeba było posprzątać
Zanim powstał klub, w tym miejscu w lesie ludzie nielegalnie wyrzucali śmieci. Klub najpierw to uprzątnął, a potem zbudował strzelnicę: sześć osi strzeleckich i TRAP, łącznie sześćdziesiąt stanowisk, zadaszenia nad każdą osią, stanowiska wyłożone kostką. To nie jest miejsce, które stoi i czeka - ono cały czas rośnie, i właśnie dlatego na prowadzenie papierów nie zostaje czasu.
Zaczęliśmy od problemu, który jeszcze nie istniał
Odezwaliśmy się do klubu przed jego pierwszymi urodzinami. Składek nikt jeszcze wtedy nie płacił, bo wszyscy członkowie byli w klubie krócej niż rok, a pierwszą składkę wnieśli razem z wpisowym. Problem miał dopiero nadejść, i to od razu dla wszystkich.
Zaproponowaliśmy, że pomożemy jeszcze przed urodzinami. Dzięki temu pierwsze składki w historii klubu od początku przypominały się automatycznie - nikt nigdy nie musiał przypominać o nich ręcznie, bo zdążyliśmy przed momentem, w którym stałoby się to codziennością.
Strzelnica otwarta według harmonogramu, nie według telefonu
Wcześniej otwarcie strzelnicy zależało od tego, kto kiedy zadzwoni i umówi się z którymś z instruktorów. Klienci przyjeżdżają z wielu miejsc: jedni dzwonią z wyprzedzeniem, inni przyjeżdżają bez zapowiedzi, jeszcze inni przychodzą z voucherem kupionym w klubie albo w firmie zewnętrznej. Przy tej liczbie wątków wystarczyło drobne zamieszanie, żeby ktoś o czymś zapomniał albo się spóźnił.
Dziś strzelnica działa według dyżurów prowadzących i stałego harmonogramu, ustalanych w panelu. Godziny na stronie biorą się stąd same - nikt ich nie przepisuje. Wprowadzenie takiego harmonogramu było możliwe dopiero wtedy, gdy wszystkie te wątki dało się zobaczyć w jednym miejscu.

Co trzeba było zbudować
Panel zespołu obejmuje ewidencję klubowiczów, członkostwo i składki, konfigurację strzelnicy, rezerwacje, kalendarz, zawody, szkolenia, dokumenty i analitykę dla zarządu. Historia członkostwa jest dziennikiem zdarzeń: wpisów się nie poprawia, a błędny wpis zarząd unieważnia z podaniem powodu. Status klubowicza wynika z tej historii, zamiast być polem, które ktoś ustawia ręcznie.

Poprzeczkę postawiły dane, nie funkcje
Klub prowadzi ewidencję, w której muszą znaleźć się dane wymagane przepisami: numery PESEL, dokumenty tożsamości, adresy i numery pozwoleń. To zbiór innej kategorii niż lista mailingowa i to on wyznaczył poziom, na jakim trzeba było zbudować całą resztę.
Pracowaliśmy według zasady najmniejszych uprawnień: każdy widzi dokładnie tyle, ile potrzebuje do swoich zadań, i ani pola więcej. Dane wrażliwe są szyfrowane w spoczynku i domyślnie zamaskowane, a pełną wartość odsłania się osobnym uprawnieniem - każde takie odsłonięcie zostaje w dzienniku, którego nie da się wyczyścić niepostrzeżenie. Wyszukiwanie po takim numerze działa bez odszyfrowywania bazy. Dostęp do danych wrażliwych wymaga drugiego składnika logowania.
Punktem odniesienia był OWASP, a nie własne wyobrażenie o bezpieczeństwie: model zagrożeń rozpisany dla każdego przepływu danych, uprawnienia sprawdzane automatycznie w testach, zależności audytowane przy każdej zmianie. Obowiązki z RODO są wbudowane w narzędzie, a nie doklejone obok: eksport kompletu danych osoby na żądanie i anonimizacja zamiast kasowania, żeby historia klubu pozostała spójna.

Rezerwacja, której nie da się zdublować
Rezerwacje układają się w siatkę dnia: osie i godziny w okienkach co trzydzieści minut, z możliwością zajęcia całej osi albo pojedynczych stanowisk. Podwójna rezerwacja tego samego stanowiska jest niemożliwa i nie dlatego, że aplikacja sprawdza to przed zapisem, tylko dlatego, że pilnuje tego ograniczenie w samej bazie danych. Nawet dwa żądania wysłane w tej samej chwili nie przejdą oba.
Rezerwacja ze strony wymaga potwierdzenia numeru kodem SMS, co odcina zgłoszenia bez pokrycia, zanim trafią do obsługi. Do tego limit zgłoszeń z jednego numeru i w ciągu dnia, e-mail z linkiem do odwołania i SMS przypominający dzień wcześniej.
Strona, która działa, gdy panel milczy
Strona klubu nie jest osobnym bytem do aktualizowania. Bierze z panelu godziny otwarcia, zamknięcia, wydarzenia, zawody i wyniki. Jeśli panel przestanie odpowiadać, strona pokazuje ostatnie znane dane zamiast błędu - awaria jednej części nie zabiera klubowi drugiej.

Najtrudniejszy element okazał się nietechniczny
Płatności online wyglądały na prostą rzecz do dołożenia, a okazały się najtrudniejszą. Skontaktowaliśmy się po kolei ze wszystkimi największymi operatorami płatności w Polsce i za każdym razem opisywaliśmy sytuację uczciwie: to stowarzyszenie zwyczajne, co samo w sobie bywa problemem, a do tego działalność powiązana z bronią palną, co dla wielu operatorów przesądza o odmowie.
Z tych, które zostały, wybraliśmy operatora z najlepszymi warunkami, a potem obniżyliśmy je jeszcze w kolejnych negocjacjach. Klub dostał płatności online, w których wpłata odnotowuje się sama, bez potwierdzania jej na liście.
Jak to sprawdziliśmy
Systemu pilnuje 845 testów automatycznych. Osobno sprawdzana jest macierz uprawnień: każdy poziom dostępu zestawiony z każdym punktem API, żeby żadne pole nie trafiło do osoby z niższym poziomem. Osobno przypadki nadużyć: dwie rezerwacje tego samego stanowiska w tej samej chwili, zmiana czasu z letniego na zimowy, widoczność pól zależna od poziomu i to, czy w surowym wierszu bazy rzeczywiście stoi wartość zaszyfrowana, a nie czytelny tekst.
Co jeszcze zrobiliśmy przy okazji
Przy okazji zrobiliśmy to, co i tak warto zrobić porządnie raz: techniczne SEO strony, wizytówkę Google klubu oraz analitykę i Search Console. Dzięki temu widać, co faktycznie przyciąga ludzi na strzelnicę, zamiast się tego domyślać.
Co z tego wynika dla firmy, która nie jest klubem
Opłaty cykliczne, które przypominają się same. Rezerwacje z przedpłatą, dzięki którym termin nie blokuje się osobie, która i tak nie przyjdzie. Treści na stronie wynikające z danych zamiast z ręcznej edycji. To są te same mechanizmy, tylko pod innymi nazwami - i działają w zwykłej działalności tak samo jak w klubie. Rozpisaliśmy to punkt po punkcie na osobnej stronie.
Rozwiązanie
Zbudowaliśmy jeden system do prowadzenia klubu i strzelnicy: panel dla zespołu, nową stronę zasilaną jego danymi i warstwę, która łączy jedno z drugim. Zamiast wdrażać wszystko naraz, dokładaliśmy obszar po obszarze, a klub korzystał z każdego od razu. Całość powstała w ciągu kilku miesięcy.
Zakres prac
- Ewidencja klubowiczów z szyfrowaniem danych wrażliwych
- Członkostwo i składki jako nieedytowalny dziennik zdarzeń
- Automatyczne przypomnienia o składkach e-mailem i SMS-em
- Strzelnica: osie, stanowiska, kategorie amunicji, godziny w wersjach
- Dyżury prowadzących i stały harmonogram otwarcia
- Rezerwacje w panelu i ze strony, potwierdzane kodem SMS
- Kalendarz wydarzeń oraz zawody z zapisami przez stronę
- Ścieżki szkoleniowe i numerowany rejestr zaświadczeń
- Analityka dla zarządu
- Nowa strona klubu zasilana danymi z panelu
- Płatności online z automatycznym odnotowaniem wpłat
- Techniczne SEO, wizytówka Google, analityka i Search Console
Efekty
- stanowisk na sześciu osiach i TRAP-ie w systemie rezerwacji
- 60
- poziomów dostępu, każdy widzi tylko to, czego potrzebuje
- 5
- testów automatycznych pilnujących danych i rozliczeń
- 845
- początek współpracy, trwa do dziś
- 2025
- ✓ Strzelnica jest czynna według dyżurów i stałego harmonogramu z panelu, a nie według tego, kto akurat się dodzwoni.
- ✓ Pierwsze składki w historii klubu od razu przypominały się same, e-mailem i SMS-em.
- ✓ Klienci rezerwują strzelanie przez stronę, z potwierdzeniem numeru kodem SMS.
- ✓ Dane wrażliwe w ewidencji są szyfrowane i maskowane, a każde ich odsłonięcie zostaje w dzienniku.
- ✓ Zapisy na zawody przyjmujemy przez stronę, a lista startowa powstaje sama.
- ✓ Zaświadczenia do WPA wystawia system, z numerowanego rejestru.
- ✓ Składki można opłacić online, a wpłata odnotowuje się bez ręcznego potwierdzania.
Inne realizacje

Radomskie Targi Ślubne: trzy edycje, trzy przebudowy
Strona wydarzenia powstała przed pierwszą edycją i była przebudowywana trzy razy, w miarę jak targi rosły. Od trzeciej edycji jesteśmy partnerem technologicznym online.
Zobacz case study →
Nowa strona FullMedia w barwach z logo
Przebudowa strony, która służyła firmie od pierwszych lat działalności. Nowy układ i nowe treści na przełomie 2025 i 2026 roku, przy zachowaniu granatu i pomarańczu z logo, po których klienci poznają firmę.
Zobacz case study →Porozmawiajmy o Twoim biznesie.
Przedstaw nam swoje potrzeby - zaproponujemy rozwiązanie i konkretną wycenę. Bez zobowiązań.