Dokumentacja Architektury: Powiadomienia i Analityka
Dokument opisuje architekturę i implementację zautomatyzowanych modułów komunikacyjnych oraz autorskiego silnika analitycznego w platformie EnterSlot.
1. System Powiadomień SMS i Transakcyjność
Architektura wysyłki wiadomości opiera się na bezpiecznej integracji z zewnętrznymi bramkami operatorów oraz wbudowanym, transakcyjnym systemie rozliczeń (Internal Billing).
- Optymalizacja Ładunku (Payload Optimization): Przed wysłaniem ładunku, treść wiadomości przechodzi przez dedykowane parsery, które transkodują polskie znaki diakrytyczne na ich bezpieczne odpowiedniki ASCII. Pozwala to na optymalne wykorzystanie standardowego kodowania GSM, co drastycznie redukuje koszty operacyjne poprzez maksymalizację limitu znaków w pojedynczej ramce.
- Operacje Atomowe (Atomic Operations): System wirtualnej waluty wewnątrz platformy opiera się na rygorystycznych procedurach bazodanowych (RPC). Pobieranie środków za wysłane wiadomości realizowane jest jako w pełni atomowa transakcja na poziomie jądra bazy danych, co gwarantuje całkowitą odporność na błędy współbieżności (Concurrency Issues) i zapobiega anomaliom finansowym.
- Niezmienny Audyt: Każda próba interakcji z zewnętrznym API (udana lub odrzucona) jest trwale logowana w niezależnej strukturze audytowej. Zapewnia to pełną rozliczalność (Accountability) oraz stanowi podstawę do zautomatyzowanego rozstrzygania ewentualnych reklamacji.
2. Powiadomienia Push (PWA & FCM)
System powiadomień Push w architekturze Progressive Web App (PWA) obsługiwany jest przez bezpieczne strumienie Firebase Cloud Messaging (FCM).
- Przetwarzanie w Tle (Background Processing): Dedykowane procesy robocze (Service Workers) przejmują kontrolę nad cyklem życia aplikacji. Asynchronicznie nasłuchują one na binarne pakiety danych (data-only payloads) nawet wtedy, gdy aplikacja nie jest aktywna w przeglądarce.
- Dynamiczne Grupowanie: Service Worker inteligentnie renderuje powiadomienia natywne z wymuszeniem interakcji użytkownika, implementując dynamiczne tagowanie. Zapobiega to spamowaniu interfejsu systemu operacyjnego wieloma powiadomieniami dotyczącymi tego samego zdarzenia.
- Zarządzanie Cyklem Życia Tokenów: Bezpieczne tokeny subskrypcji są dynamicznie negocjowane po stronie klienta, a następnie szyfrowane i ściśle wiązane z identyfikatorem profilu użytkownika w warstwie backendowej za pośrednictwem zaufanych akcji serwera.
3. Zautomatyzowane Kolejkowanie (Event-Driven Reminders)
Zarządzanie asynchroniczną wysyłką powiadomień opiera się na rozproszonym harmonogramowaniu zadań (Background Jobs / Cron) i architekturze sterowanej zdarzeniami.
- Bezpieczny Polling: Wydzielone endpointy API, chronione kryptograficznymi tokenami serwerowymi, są cyklicznie wyzwalane w celu analizy nadchodzących zdarzeń czasowych w wyznaczonym oknie czasowym.
- Idempotentność Wykonania (Idempotency): System gwarantuje idempotentność operacji. Każde pomyślnie przetworzone powiadomienie natychmiast modyfikuje stan maszyny stanów, co całkowicie i bezwzględnie zapobiega możliwości zdublowania wysyłki w kolejnych cyklach przetwarzania.
- Mechanizmy Zastępcze (Fallback Mechanisms): Platforma implementuje inteligentne ścieżki awaryjne. Jeśli główny kanał komunikacji (np. bramka SMS) jest niedostępny lub nie został skonfigurowany przez najemcę, system automatycznie przełącza się na niezawodny, asynchroniczny kanał transakcyjny e-mail, zapewniając nieprzerwaną dostarczalność kluczowych informacji.
4. Wewnętrzny Silnik Analityczny (Privacy-First Telemetry)
Platforma EnterSlot wykorzystuje potężny, autorski system telemetryczny. Całkowicie eliminuje on konieczność wstrzykiwania skryptów podmiotów trzecich (Zero Third-Party Trackers), minimalizując narzuty na wydajność (Performance Overhead) i spełniając najbardziej rygorystyczne normy prywatności.
- Niezawodna Ingestia (Beacon API): Kliencki moduł śledzący wykorzystuje asynchroniczne interfejsy przeglądarki (np.
navigator.sendBeaconz wbudowanymi mechanizmami awaryjnymi). Gwarantuje to bezstratne dostarczenie pakietów telemetrycznych (Page Views, Conversion Events) do serwera nawet podczas brutalnego przerywania cyklu życia strony (np. zamknięcie karty). - Zoptymalizowane Przetwarzanie (Data Ingestion): Strumień zdarzeń analitycznych jest przyjmowany przez wysoce zoptymalizowane endpointy, które autoryzują pakiety na poziomie brzegowym (Edge).
- Agregacja w Czasie Rzeczywistym: Zdarzenia są logowane do płaskich struktur danych. Dzięki zastosowaniu zaawansowanego indeksowania (B-Tree Indexing) na kluczach identyfikujących najemców, dedykowane procedury składowane (RPC) potrafią błyskawicznie agregować miliony wierszy, serwując właścicielom biznesów zaawansowane raporty ruchu z opóźnieniem bliskim zeru (Real-Time Analytics).