Live logging dla zawodów i eventów KF.

HamEvent to samodzielnie hostowany system do live logowania łączności krótkofalarskich. Obsługuje ADIF, N1MM, XML, QLog, heartbeat z wykrywaniem aktywności stacji i publikację przez Nchan SSE.

ADIF N1MM QLog Nchan SSE Heartbeat MariaDB

Funkcje operacyjne.

System zaprojektowany do pracy contestowej i live logowania.

Wiele formatów wejściowych

Parsuje ADIF, XML N1MM, JSON QLog oraz natywny ADIF — automatyczne wykrywanie formatu.

Heartbeat stacji

Wykrywanie aktywności stacji bez łączności. Wizualizacja na kafelkach z animacją pulsującą.

Multi-operator / contest

Obsługa wielu operatorów na różnych pasmach i modulacjach jednocześnie. Osobne kafelki na (pasmo, mode).

Nchan SSE

Natychmiastowe powiadomienia przez Server-Sent Events. Frontend odświeża się bez przeładowania strony.

🗃 N1MM kwarantanna

Naprawa uciętych pakietów N1MM + normalizacja tagów (band, freq, timestamp).

📊 Live statystyki

Licznik QSO, hunterów, krajów, aktywnych stacji — wszystko w czasie rzeczywistym.

Architektura systemu.

Lekki backend w C++ z interfejsem web w PHP, komunikacja przez Nchan.

UDP Server (C++)

Nasłuchuje pakiety ADIF/XML/JSON na porcie 2237, wykrywa format, przekazuje do procesora QSO.

QSO Processor

Parsuje dane, normalizuje, wyszukuje event w DB, zapisuje QSO lub upsertuje heartbeat do active_stations.

Nchan / nginx

Push notification do frontendu przez Server-Sent Events. Każdy event ma osobny kanał.

Frontend (PHP)

Rendering SSR + AJAX. Kilka szablonów (dark, light, tiny). Kafelki heartbeat z animacją.

Instalacja natywna.

System wymaga nginx + nchan, MariaDB i PHP 8.x.

1. Wymagania

nginx z modulem nchan, MariaDB 10+, PHP 8.x, curl, libxml2.

apt install nginx mariadb-server php-fpm
apt install libnginx-mod-nchan libcurl4-openssl-dev libxml2-dev libmariadb-dev

2. Kompilacja

Sklonuj repozytorium i zbuduj.

git clone https://github.com/sp3seb/hamevent
cd hamevent && make

3. Konfiguracja

Plik konfiguracyjny w /etc/hamevents/hamevents.conf. Ustaw dane bazy, port, opcje debug.

[database] dbhost = localhost dbpassword = TwojeHaslo

4. Uruchomienie

Daemon C++ + nginx + worker.

./hamevent --debug nginx -s reload

Demo na żywo.

Przeglądaj aktywny log eventu. Kafelki heartbeat pulsują na czerwono.

Aktywny event: HamEvent

Wybierz event z menu lub przejdź do szablonu.

Event 2 Event 7 Event 13