Największym wyzwaniem było dla mnie ułożenie uprawnień tak, żebym nie musiał sam wprowadzać każdego wyniku. Wprowadziłem trzy role główne: Admin, Organizator i Gracz. Organizator danego turnieju może przekazać prawa do współedycji meczów innemu graczowi (np. sędziemu przy tarczy), ale bez prawa do kasowania imprezy. Wewnątrz ankiet organizator ustala osobne reguły - gracze mogą dopisywać pytania, ale nie mogą zmieniać etykiet. Żeby nie zablokować sobie dostępu, jako administrator mam nadrzędny bypass, który pozwala mi edytować dowolny element w systemie bez sprawdzania przypisania do turnieju.
Zamiast trzymać wszystko w jednym monolitycznym projekcie, wydzieliłem darta na subdomenę dart.kkol.pl, a powiadomienia powierzyłem botowi na Discordzie. Zrobiłem wspólne logowanie (SSO), dzięki czemu gracz loguje się do darta tym samym kontem co na kkol.pl. Bot Discorda komunikuje się z backendem kkol.pl przez zabezpieczone endpointy REST z kluczem API: sprawdza zbliżające się wydarzenia, publikuje ankiety i odznacza w bazie wysłane ciekawostki, żeby żadna wiadomość nie powtórzyła się dwa razy.