Temat, jak
widać w tytule, zupełnie inny. Ale ponieważ powoli staje
się historią, więc żeby pamiętać... ;)
Od dawna chodziło mi po głowie stworzenie systemu obsługi
regat. Lepszego niż są.
Oczywiście pod kątem obsługi regat jachtów morskich. A to
sporo zmienia, bo dochodzą różne klasy, przeliczniki, inspekcje,
świadectwa.
W tej chwili istnieją programy do liczenia wyników
(Scorer, Altura) albo systemy obsługi zgłoszeń czy
prezentacji wyników. Są też systemy bardziej kompletne,
używane np. na Karaibach czy w cyklu regat Rolex, Fastnet
itp. Ale albo czegoś im brakuje, albo są daleko albo drogie i
niedostępne albo obsługują tylko konkretne regaty. I są stare.
To czego brakuje wielu systemom zgłoszeń to działanie
on-line. Czyli nie widać listy zgłoszeń, nie widać danych
jachtów i świadectw, nie widać list startowych. Wszystko jest tajne/poufne. Zazwyczaj
są obrazki reklamowe i wizualne bajery i niewiele więcej. Dla świadomego uczestnika to za
mało.
Założenia od początku do teraz są w zasadzie takie same,
ale szczegóły zmieniały się przez kilka lat, bo pomysł
powstał dość dawno temu (przed rokiem 2018). Powoli się krystalizował.
Problem był jeden główny. Nie wiedziałem w jakim systemie
stworzyć aplikację. Ale ponieważ wyszło z czasem, że ma
być całkowicie netowa, to sprawa w pewnym sensie sama się
rozwiązała.
Warstwa bazodanowa była oczywista: mysql. To znam.
Ale frontend? Tu byłem zielony jak szczypiorek. W efekcie
kupiłem dwie książki o podstawach PHP i tak się zaczęło.
System powstał całkowicie od zera, od pustego katalogu i pustego okna
edytora. Od roku 2019 robiłem wstępne przymiarki. Gdy pierwszy skrypt php pokazał pierwsze dane z testowej tabeli jachtów, w wersji jeszcze bardzo testowej, okazało się, że to ma szanse działać. W sensie, że mam
szansę to stworzyć.
Wtedy prace ruszyły na serio (rok 2021).
Ale po drodze zmieniły się potrzeby więc także kolejność
realizacji bloków systemu.
Jedną z bardziej upierdliwych rzeczy w regatach są
inspekcje wyposażenia zgodnie z OSR.
Rozwiązałem ten problem na ile się dało, przy okazji
tłumacząc całe przepisy OSR.
To już było coś.
Do tego niemal na samym początku ważna zmiana, czyli
responsywność uzyskana przy pomocy Bootstrapa. Bo system
miał działać tylko przez przeglądarkę i na wszystkim, co
przeglądarki obsługuje. Czyli także telefony i tablety.
Bootstrap w dużej części narzucił grafikę, ale mnie to
odpowiada. Przy okazji system przeszedł z wewnętrznego
serwera firmy na aktualny adres. To oznacza, że stał się ogólnie dostępny.
Drugim uruchomionym działem był kalendarz regat. Pierwszy
porządny kalendarz regat morskich w Polsce. Z wieloma
przydatnymi informacjami.
Zostały rozbudowane informacje o jachtach. Już nie tylko
inspekcje OSR.
Kolejnym etapem była obsługa zgłoszeń do imprez
obsługiwanych w systemie. Czyli ta część programu, która
miała być główną w założeniach.
To oznaczało obsługę zgłoszeń, formalności, list
startowych z danymi (czyli także pobieranie świadectw ORC
ze strony orc.org). Pełne listy startowe zamknęły kolejny
etap. System obsługiwał zgłoszenia, przydział do grup,
świadectwa.
W tym momencie zaczął być użyteczny dla organizatorów
regat.
Co dla sędziów?
Liczenie wyników wyścigów to była dłuższa batalia, bo
wymagała dodania całej otoczki. Pobieranie danych ze
świadectw ORC, grupy, wyścigi, tabele mety. Udało się
doprowadzić do tego, że system potrafił liczyć wyniki
wszystkimi metodami innymi niż PCS w ORC. Czyli grupy bez
przeliczeń, KWR, Yardstick i proste metody liczenia wyników w ORC.
Przy tej okazji trzeba było dodać liczenie wyników
generalnych regat.
Było już bardzo dużo, ale ciągłe tłumaczenie, że metodami
PCS w ORC system jeszcze nie potrafi liczyć, było frustrujące.
Niemniej jednak liczenie wyników w klasach innych niż
ORC okazało się bardzo przydatne w regatach
klubowych AKM-u oraz w regatach Gryfa dla klas innych niż
ORC.
Dla mnie była to duża pomoc i oszczędność czasu.
Zimą 2023/2024 system nauczył się liczyć wyniki wszystkimi
dostępnymi metodami.
Przy okazji powstała obsługa indywidualnego startu grup
lub jachtów (to na podstawie relacji z tego, jak
przebiegają i są liczone wyniki generalne np. Fastnetu
albo regat na Karaibach). Tego chyba nie ma nikt.
A także wyliczanie wyników sezonu, na razie MŻPP.
We wrześniu 2024 doszła kolejna funkcjonalność. System
obsługuje trasy wyścigów (nie chodzi o trasy ORC), czyli
rzeczywiste (geograficzne) trasy wyścigów. Trasy tworzy
się dodając punkty (start, boje zwrotne, meta). Punkty
określa nazwa i pozycja geograficzna. Do systemu doszła
lista znaków nawigacyjnych, które można dodawać do tras
jako punkty drogi. System wylicza całkowitą długość trasy,
odległości i kursy między poszczególnymi punktami. Można
takie dane wydrukować, co jest pomocne i dla sędziów i dla
uczestników. Trasy można importować z innych regat. Z
trasy wyścigu można utworzyć szkielet trasy ORC (duża
oszczędność czasu).
Także we wrześniu sędziowie otrzymali możliwość wydruku
tabeli mety, jeszcze przed wyścigiem. Lista jachtów i
miejsca na wpisanie potrzebnych informacji są kolejnym
ułatwieniem, tym razem przy obsłudze wyścigu podczas
startu i na mecie.
W listopadzie 2024 zrobiłem coś, co zostało wymuszone przez organizatorów regat.
Została dodana obsługa sponsorów w regatach. Jeżeli dane
regaty mają sponsora (sponsorów) to można łatwo dodać ich
loga, opisy i adresy stron internetowych. Te loga w postaci listy
wg ustalonej kolejności pokazują się pod listami
startowymi, tabelami mety, wynikami wyścigów i wynikami
regat. Oraz na wydrukach tych danych.
Porównania jachtów (rzecz bardzo przydatna dla uczestników regat) były już wcześniej, ale w listopadzie 2024 je przerobiłem.
O tego momentu można porównywać jachty z wielu grup regat (oczywiście z jednej klasy). Doszła też możliwość
porównania w klasie Yardstick.
Sam widok porównań został uporządkowany.
Zmiana już grudniowa, to dodanie (jeżeli wybierze się w
opcjach regat właściwy znacznik) rubryki z ko-skiperem. To
pod kątem regat DH. Informacja pojawia się na zgłoszeniach
i na wydrukach, razem ze sternikiem.
Także w grudniu 2024 system został w wielu miejscach
przerobiony pod kątem edycji/obsługi.
Przede wszystkim został uporządkowany i trochę zmieniony
sposób zgłaszania jachtu do regat. Mam nadzieję, że teraz jest
łatwiej. Przy okazji zostało poprawione okno dodawania
jachtu do systemu.
Dla użytkowników z obsługi regat też pewne zmiany. Teraz wiele operacji
obsługowych w edycji regat (zgłoszenia, grupy, wyścigi,
wyniki itp) odbywa się w jednym oknie (czyli bez
otwierania kolejnych okien lub kart).
Poprawione zostały najstarsze okna programu, czyli arkusze
spisowe i same spisy wyposażenia OSR.
Te fragmenty są rzadko używane, ale może to się
zmieni.
W kilku miejscach zostały uzupełnione zabezpieczenia.
Na początku roku 2025 doszły dwie funkcjonalności. Wybrane
dane wybranych regat są wystawione jako API, do
ewentualnego wykorzystania na innych stronach. Nie bardzo
widzę sens tego, ale zobaczymy, jak to zostanie
wykorzystane. Z kolei na prośbę innego organizatora (w
sumie dwóch) dodałem możliwość pokazywania zdjęć jachtów
i/lub załogi. Zdjęcia można dodać do jachtu i wtedy są one
w kilku miejscach systemu widoczne dla wszystkich. Ważne
jest to, że wszelkie dokumenty oraz zdjęcia jachtu może
dodać tylko właściciel jachtu.
Podczas regat w pewien majowy sobotni wieczór doszła
możliwość przypisywania różnych długości tras dla różnych
grup w danym wyścigu. Chodzi generalnie o wyścigi góra-dół, gdy
szybsze jachty płyną np. 3 okrążenia, a wolniejsze tylko
dwa. Wcześniej można to było zrobić dla grup ORC
definiując różne trasy ORC, ale to zbędny kłopot. No i nie
działało to dla innych klas.
Także w maju doszła obsługa liczenia wyników w klasie ORC
metodą WRS (Weather Routing Scoring). Jest to nowa metoda
w klasie ORC. W ramach tego można importować współczynniki
WRS z pliku xml otrzymanego przez sędziego od ORC przed
regatami. Można te współczynniki także dodawać i edytować
ręcznie.
W porównaniu jachtów doszła także i ta metoda liczenia
wyników.
W czerwcu 2025 powstały wstępne listy startowe. Wstępne w
sensie, że widać na nich jachty, które nie dopełniły
formalności wymaganych w regatach. Jest to tylko lista
informacyjna, nie ma wpływu na rzeczywiste listy startowe
i na obsługę zgłoszeń.
Także w czerwcu dodałem statystyki jachtów. To raczej ciekawostka, do dalszego może rozwoju. Jacht trafia do
statystyk tylko, gdy właściciel zaznaczy opcję
„Statystyki” w danych jachtu. Domyślnie tak nie jest.
Pod koniec lata 2025 uporządkowane zostały helpy i opisy,
program został uporządkowany zwłaszcza w części
administracyjnej i poprawiony wizualnie dla małych ekranów
(czyli smartfonów). Jego obsługa powinna być wygodniejsza.
Doszła też, pod kątem telefonów i ogólnie urządzeń z
Androidem, możliwość osobnej edycji sekund we wpisywanych
czasach startów i mety, jeżeli wybierze się taką opcję. To istotna funkcjonalność dla sędziów.
Mniej więcej wtedy wyniki wyścigów zyskały wyraźną informację, że nie są lub są oficjalne (i znacznik oficjalności).
To pokłosie problemów ze zbyt szybką widocznością wyników, które potem się zmieniły.
Ale taka jest filzofia systemu: wszystko widoczne od razu. Tylko że ma to też „plusy ujemne”, jak się okazało.
W październiku 2025 cała strona została przeniesiona na
nowy hosting. Przejście na nowszą wersję bazy danych
spowodowało trochę problemów (zajęcie na dwa wieczory).
System dalej jest porządkowany wizualnie (zwłaszcza pod
kątem smartfonów).
W trasach ORC doszła informacja o czasie zmiany danych
trasy, czego wcześniej nie było. Ale znaczniki zmian danego parametru doszły i w innych miejscach, np. przy współczynnikach jachtów.
Rzutem na taśmę, jeszcze w październiku 2025 została
przerobiona edycja i rodzej dokumentów regat i jachtów.
Funkcjonalnie wiele się nie zmieniło, ale jest prościej,
więc trudniej będzie pomylić dokumenty jachtu ze
zdjęciami.
Już w listopadzie 2025 termin zgłoszeń został rozbudowany. Są teraz dwie daty (zgłoszenia od dnia/godziny do dnia/godziny) i możłiwość włączenia automatycznej blokady zgłoszeń, gdy aktualny czas jest poza zdefiniowanym zakresem. Czyli gdy na zgłoszenia jest za wcześnie albo za późno.
Pod koniec listopada doszła możliwość składania protestów/próśb przez uczestników regat i/lub komisję sędziowską. Komisja protestowa może te protesty i prośby (np. o korektę wyników) obsłużyć i rozpatrzyć, a lista zgłoszonych protestów jest widoczna dla wszystkich, jak i decyzja komisji protestowej. System zgłoszeń i obsługi jest z założenia kompletny.
Od stycznia 2026 trasy wyścigów można zobaczyć w postaci rysunku. Główne dane dalej są w tabelce, ale można zobaczyć kształt trasy, co uznałem za przydatne.
Także w styczniu zostały poprawione niektóre wewnętrzne mechanizmy strony.
Drobiazgiem może wydawać się zmiana filtra regionu w widoku regat i imprez. Jest wygodniej, a będzie to miało większe znaczenie, gdy lista regionów się powiększy.
Już na początku lutego 2026 imprezy w systemie dostały własne (niezależne od organizatora) dane kontaktowe (e-mail i telefon) a strony www regat i organizatora są pokazywane osobno.
Także w lutym menu (które jest w kilku wariantach na różnych oknach systemu) zostało trochę przebudowane. Tak, żeby na telefonach najbardziej potrzebne przyciski były pod ręką.
Większość okien przeszła lifting wizualny, także pod kątem małych ekranów.
W marcu 2026 roku edycje spisów OSR i arkuszy spisowych zostały trochę uporządkowane. Spis jachtu można od teraz wydrukować w wygodnej postaci (pozycje, braki, uwagi) co może być przydatne w cyklach regat.
Doszła możliwość ładnego wydrukowania akrusza spisowego - w ten sposób można mieć listę kontrolną wyposażenia na regaty albo cykl regat.
Cały czas, ostatnio intensywniej, system i poszczególne widoki przechodzą poprawki wewnętrze. Zazwyczaj tego nie widać (chyba że zmiana spowoduje awarię), ale poprawia się logika działania oraz różne zabezpieczenia.
Od czerwca 2026 organizator w zgłoszeniach może podejrzeć spisy OSR jachtu. Na liście regat i imprez pojawił się znacznik, który pokazuje tylko imprezy i regaty aktualne i przyszłe.
Zrobiłem także sporo bardzo drobnych poprawek wizualnych w różnych oknach, co najbardziej widać w panelu regat.
System powstawał i powstaje w wolnych chwilach, wyłącznie
dla mojej przyjemności i satysfakcji.
Dodatkową frajdą było to, czego nie mam w pracy, czyli
pełna znajomość merytoryczna zagadnienia.
W pracy ciągle muszę ustalać, czego chce użytkownik, o co
mu chodzi, jaki ma problem. Zrozumieć zagadnienia od
księgowości po produkcję (i wiele innych).
W przypadku SOR merytorycznie wiem wszystko (okazało się, że niekoniecznie w przypadku protestów/próśb). Od metod
liczenia wyników w każdej metodzie i klasie, przez
problemy organizatorów, sędziów i żeglarzy.
To była i jest naprawdę wielka ulga i przyjemność, bo
zawsze wiedziałem o co chodzi i co chcę uzyskać.
Mogłem nie wiedzieć jak to uzyskać (i często nie
wiedziałem, jako nowicjusz w PHP), ale to zupełnie inny
poziom problemu.
Wiele dzieje się w procedurach mysql-a.
Reasumując: pisanie tego systemu jest przyjemnością.
Podstawową cechą i zaletą(?) systemu jest to, że wszystko
dzieje się on-line. Każde działanie jest natychmiast
widoczne dla wszystkich lub dla osób uprawnionych. Każde
działanie ma jakiś cel i służy czemuś.
Wysłanie zgłoszenia do regat powoduje, że zgłoszenie jest
od razu widoczne. Po obrobieniu przez organizatora
(formalności! i przydział grup) od razu powstają listy
startowe. Widać każdy wyścig, każdy finisz jachtu, tabele
mety i wyniki wyścigów. To wszystko jest od razu widoczne,
co ma ten plus, że łatwo wyłapać ewentualne błędy.
Kliknięcie jednego przycisku wylicza wyniki wyścigu.
Kliknięcie drugiego przycisku wylicza wyniki generalne
regat na dany moment. Przeliczane są wyniki każdej grupy a
jacht może należeć do wielu grup. Każdy jacht w wyścigu
widoczny jest tylko raz, ale w wynikach pokazuje się w
każdej grupie do jakiej należy. Wyniki każdej grupy
liczone są zawsze indywidualnie, tylko wśród jachtów danej
grupy.
Z innej strony: dodanie komunikatu, pliku, IŻ trwa kilka
sekund.
Można zablokować zgłoszenia, można podać link do trackingu
(widoczny na czerwono).
Pobieranie świadectw ze strony ORC jest lepiej przemyślane
niż w programie Scorer i elastyczne. Można pobrać
świadectwo nie tylko ze strony ORC, ale np. archiwalne z
pliku lub testowe.
Dla uczestników bardzo rozbudowane są porównania jachtów dla wszystkich klas i metod liczenia wyników.
System pokazuje dane świadectw ORC, nawet te, których na
świadectwach nie widać.
Sporo informacji można dodać do jachtów. Współczynniki
klas innych niż ORC, dokumenty jachtu, licencję sternika,
informacje o wymaganiach OSR (inspekcje wyposażenia).
Można, nie trzeba!
Spisów wyposażenie dla swojego jachtu zrobiłem kilka i są
one widoczne. Kilka innych jachtów również ma wpisane
inspekcje, a ich widoczność zależy od decyzji armatorów.
Niuansów i możliwości jest znacznie więcej.
Powstała instrukcja do programu w postaci pdf, a
helpy do każdego okna są mocno rozbudowane i
uzupełniane lub korygowane.
Jeszcze istotna rzecz. System zbiera dane o użytkownikach
w absolutnie minimalnym stopniu (w zasadzie tylko adres
e-mail) i tylko na potrzeby obsługi regat, jachtów i
klasyfikacji sezonu. Co jest naprawdę rzadkie.
Adres strony: https://zpokladu.pl/sor/