Bracksy

Dokumentacja Bracksy

Bracksy to chmurowa platforma turniejowa dla sportów rakietowych. Umożliwia organizatorom prowadzenie rozgrywek z telefonu lub desktopu, wpisywanie wyników na żywo i udostępnianie tabel w czasie rzeczywistym.

Szybki start

Utwórz turniej w mniej niż minutę: wybierz format, dodaj zawodników i rozpocznij live scoring.

Mobile-first

Interfejs zoptymalizowany pod pracę przy korcie: szybkie wpisywanie punktów, duże przyciski i dolna nawigacja.

Dane tylko w chmurze

Stan aplikacji jest synchronizowany do Supabase, aby uniknąć utraty danych lokalnych i wspierać pracę na wielu urządzeniach.

Najważniejsze funkcje

  • Wiele formatów turniejów: Americano, Round Robin, Mexicano, Single Elimination, Double Elimination, Liga.
  • Wpisywanie wyników live z automatyczną tabelą i podium.
  • Warstwa społecznościowa: znajomi, kluby, zaproszenia i rywalizacje.
  • Logowanie przez Google OAuth oraz magic link e-mail przez Supabase Auth.
  • Interfejs wielojęzyczny: angielski i polski z trasami per locale.

Podstrony aplikacji

/pl

Panel startowy z ostatnimi turniejami i szybkimi akcjami.

/pl/new

Kreator turnieju: sport, format, tryb punktacji i zawodnicy.

/pl/t?id=...

Widok live turnieju z rundami, meczami, tabelą i zakończeniem.

/pl/me

Profil użytkownika i moduły społecznościowe (znajomi, kluby, rywalizacje).

/pl/sign-in

Strona logowania Google oraz magic link.

/pl/discover

Strefa discover pod publiczne turnieje i społeczność.

/pl/auth/callback

Trasa callback logowania, która wymienia kody OAuth i przywraca użytkownika do aplikacji.

/pl/docs

Dokumentacja produktu, architektury, ekranów i roadmapy.

/pl/privacy-policy

Informacje prawne o przetwarzaniu danych, przechowywaniu i prawach kontaktowych.

/pl/terms

Zasady korzystania z Bracksy i wymagania dotyczące dozwolonego użycia.

Wszystkie ekrany i stany UI

Ta sekcja opisuje każdą aktualną trasę, główny stan komponentu i widok widoczny dla użytkownika.

Przekierowanie root

Punkt wejścia `/` przenosi użytkownika statycznego eksportu na domyślną ścieżkę językową.

Hero strony startowej

Wyjaśnia wartość produktu i pokazuje główne akcje utworzenia turnieju oraz szybkiego startu.

Pusty stan strony startowej

Widoczny, gdy zalogowany użytkownik nie ma jeszcze turniejów zsynchronizowanych z Supabase.

Lista turniejów

Pokazuje turnieje użytkownika posortowane po czasie utworzenia ze statusami i akcją otwarcia.

Kreator krok 1: sport

Pozwala organizatorowi wybrać padel, tenis, pickleball, squash, tenis stołowy lub sport ogólny.

Kreator krok 2: format

Prezentuje obsługiwane formaty turniejów z nazwami, opisami i stanem dostępności.

Kreator krok 3: gracze i zasady

Zbiera nazwę turnieju, tryb punktacji i listę graczy przed zapisem do Supabase.

Pusty stan resolvera turnieju

Widoczny, gdy trasa live turnieju została otwarta bez parametru `id` w query.

Nie znaleziono turnieju

Widoczny po hydracji, gdy żądany turniej nie jest dostępny dla bieżącego użytkownika.

Nagłówek turnieju live

Pokazuje nazwę turnieju, aktualną rundę, format i status live.

Zakładka mecze

Wyświetla rundy i karty meczów z polami wyników, stanami oczekujący/zakończony i zapisem.

Zakładka tabela

Pokazuje ranking, punkty, różnicę punktową oraz statystyki wygranych/przegranych.

Zakończony turniej

Pokazuje podium, tabelę końcową, akcję ponownej gry, nowy turniej i opcję usunięcia.

Widok logowania dla niezalogowanych

Oferuje Google OAuth i magic link e-mail wraz ze sprawdzeniem konfiguracji Supabase.

Widok zalogowanego użytkownika

Potwierdza aktualne konto i pozwala wylogować się z trasy logowania.

Postęp callback logowania

Pokazuje proces logowania podczas obsługi kodów OAuth lub sesji z magic linka.

Ładowanie profilu

Widoczne podczas pobierania chmurowego profilu i danych społecznościowych z Supabase.

Profil: statystyki

Podsumowuje liczbę turniejów, zakończone turnieje, rozegrane mecze i zdobyte punkty.

Profil: znajomi

Zarządza znajomymi, notatkami, kodami zaproszeń i akceptacją zaproszeń.

Profil: kluby

Tworzy kluby, zapisuje metadane miasta/sportu i zarządza członkami.

Profil: rywalizacje

Tworzy pojedynki head-to-head i zapisuje historię zwycięzcy oraz wyniku.

Discover

Placeholder pod przyszłe publiczne wyszukiwanie turniejów i listy społecznościowe.

Dokumentacja

Aktualny ekran z opisem produktu, architektury, API, bezpieczeństwa i roadmapy.

Polityka prywatności

Strona prawna opisująca administratora, dane, cele, przechowywanie, prawa i kontakt.

Regulamin

Strona prawna opisująca zakres, odpowiedzialność, dozwolone użycie, dostępność i aktualizacje.

Globalna stopka

Zawiera skrót produktu, linki prawne, dokumentację i odnośnik do autora.

Baner cookies

Wyjaśnia wymagane cookie i zapisuje decyzję accept/decline w cookie.

Dolna nawigacja mobile

Przyklejona nawigacja mobilna dla startu, nowego turnieju, discover i profilu.

Przycisk logowania w headerze

Przełącza się między linkiem logowania a kontrolkami profilu i wylogowania.

Chmurowy bootstrap danych

Inicjuje albo czyści store turniejów/profilu z Supabase zależnie od stanu logowania.

Architektura danych i API

Bracksy korzysta z Supabase jako warstwy backendowej. Główne encje i usługi:

  • Auth: sesje i tożsamość użytkownika przez Supabase Auth.
  • Domena turniejowa: tabele tournaments, members, players, rounds i matches.
  • Domena społecznościowa: friend_invites, friendships, rivalries, rivalry_matches.
  • Stan profilu/social zapisany chmurowo w tabeli user_state.
  • Polityki Row Level Security ograniczają dostęp do uprawnionych użytkowników.

Bezpieczeństwo i prywatność

Bracksy wykorzystuje polityki RLS w Supabase, autoryzację użytkownika oraz ograniczenia schematu po stronie bazy. Szczegóły przetwarzania danych znajdują się w Polityce prywatności.

Roadmap

  • Rozszerzona logika drabinek i zaawansowane reguły harmonogramu.
  • Publiczne strony turniejów z linkami do udostępniania.
  • Powiadomienia push i bogatsza historia zdarzeń meczowych.
  • Pakowanie natywne iOS/Android przez Capacitor pod publikację w store.