Jak działa platforma od środka
Zestaw narzędzi, frameworków i rozwiązań, które umożliwiają dostarczanie interaktywnych kursów i testów wiedzy dla uczestników z całego kraju.
Stos technologiczny
Platforma opiera się na sprawdzonych rozwiązaniach open-source, uzupełnionych o własne moduły odpowiedzialne za logikę quizów i śledzenie postępów uczestnika.
Każda warstwa stosu została dobrana pod kątem konkretnych wymagań: niskie opóźnienia przy ładowaniu pytań, stabilność przy setkach jednoczesnych sesji, możliwość rozbudowy bez przebudowy całego systemu.
Integracja między warstwami odbywa się przez REST API z tokenową autoryzacją - żadne dane uczestnika nie są przesyłane bez weryfikacji sesji.
Frontend
Interfejs zbudowany w React z renderowaniem po stronie serwera. Czas pierwszego wyrenderowania strony quizu wynosi poniżej 1,2 sekundy na połączeniu mobilnym.
Backend
Node.js z frameworkiem Fastify obsługuje logikę quizów i ocenianie odpowiedzi. Każde żądanie przechodzi przez walidację schematu przed przetworzeniem.
Baza danych
PostgreSQL przechowuje dane kursów i wyniki testów. Oddzielna instancja Redis obsługuje sesje i kolejkowanie wyników w czasie rzeczywistym.
Infrastruktura
Kontenery Docker orkiestrowane przez Kubernetes. Autoskalowanie reaguje na wzrost liczby aktywnych sesji bez ręcznej interwencji operatora.
Bezpieczeństwo
Szyfrowanie TLS 1.3 na wszystkich połączeniach. Dane uczestników są przechowywane zgodnie z RODO - lokalizacja serwerów wyłącznie w obrębie EOG.
Monitoring
Prometheus zbiera metryki co 15 sekund. Grafana wyświetla pulpity dla każdego modułu - od liczby aktywnych quizów po czas odpowiedzi bazy danych.
Mierzalne zmiany w praktyce
Poniższe dane pokazują, jak wybory technologiczne przełożyły się na konkretne wskaźniki działania platformy po wdrożeniu kolejnych warstw stosu - bez porównań marketingowych, tylko liczby z systemu monitoringu.
| Wskaźnik | Przed | Po | Zmiana |
|---|---|---|---|
| Czas ładowania quizu | 3,8 s | 1,1 s | −71% |
| Równoczesne sesje (stabilnie) | 120 | 840 | +600 |
| Dostępność miesięczna | 97,2% | 99,6% | +2,4 pp |
| Czas odpowiedzi API (p95) | 480 ms | 62 ms | −87% |
| Średni wynik testu uczestników | 61 pkt | 74 pkt | +13 pkt |