Kontekst i wyzwanie
dotlaw szkoli pracowników innych firm z RODO, ochrony danych w konkretnych branżach, bezpieczeństwa informacji i ISO 27001. Kurs kończy się egzaminem i certyfikatem, a ten certyfikat dział HR pokazuje potem podczas audytu. Przy jednej firmie wystarczy arkusz i kilka maili. Przy dwudziestu trzech już nie. Każda ma własnych ludzi, własny zestaw kursów i menedżera, który chce wiedzieć, kto jeszcze nie skończył.
Kancelaria nie ma działu IT. Codzienna obsługa musiała się więc zmieścić w panelu: dodać firmę, wgrać listę osób, przypisać kurs, przypomnieć spóźnionym, unieważnić certyfikat. Bez pisania do programisty i czekania na odpowiedź.
Rozwiązanie
Zaprojektowałem i zbudowałem całą platformę: stronę, na której firma zakłada konto, część dla uczestnika, panel menedżera i administrację kancelarii. Wszystkie firmy stoją na jednej bazie danych, a menedżer widzi tylko swoich ludzi. Tę granicę sprawdza serwer przy każdym zapytaniu. Uczestnik ogląda lekcje wideo, a platforma co kilka sekund zapisuje, ile obejrzał, więc przy następnym wejściu proponuje wrócić do tego miejsca. Egzamin otwiera się dopiero po obejrzeniu całego materiału. Ma limit czasu, limit podejść i przerwę między nimi, a kto nie zda, ogląda lekcje jeszcze raz. Po zdanym egzaminie serwer generuje certyfikat PDF.
Menedżer firmy widzi postęp zespołu, jednym przyciskiem wysyła przypomnienie i pobiera raport w Excelu albo certyfikaty całej grupy w jednym pliku. Kancelaria zakłada organizacje z ich kodami rejestracji, wgrywa ludzi z pliku CSV, ustawia limity miejsc na kursach i dociąga nowe nagrania z Vimeo. Certyfikat może unieważnić albo wystawić ponownie. Dziennik zdarzeń zapisuje logowania, resety haseł, zmiany certyfikatów i synchronizacje. W osobnej zakładce widać stan systemu: bazę danych, kolejkę maili, błędy z ostatniej doby i maile, które nie wyszły.
Platforma działa na produkcji i ją utrzymuję. Logowanie, rejestracja i reset hasła mają własne limity prób, a po 30 minutach bezczynności system wylogowuje. Przy przejściu na nowy model danych historia postępów, egzaminów i certyfikatów przeszła osobną migracją, bez kasowania starych tabel. Od tamtej pory baza zmienia się tylko przez wersjonowane migracje. Jest ich 24. Interfejs ma tryb ciemny i wyszukiwarkę pod Ctrl+K, która z każdego ekranu znajdzie firmę, kurs albo osobę. Panel ładuje się osobno, więc strona publiczna nie ściąga jego kodu.
Efekty i stack
Wielofirmowa platforma szkoleniowa: lekcje wideo, egzaminy, certyfikaty i osobny panel dla menedżera każdej firmy.
- 23
- organizacje, każda z własnymi ludźmi i kursami
- 804
- konta uczestników, menedżerów i administratorów, stan z września 2026
- 899
- certyfikatów wystawionych po zdanych egzaminach, stan z września 2026
Angular 16RxJSAngular MaterialNode.js 18ExpressMySQLVimeo APIpdf-libWinstonSentryPlesk