Aplikacja do prowadzenia typera dla lig Hattrick. Pozwala na wprowadzanie typów, śledzenie wyników i wyświetlanie rankingów.
- 🔐 Autentykacja - zabezpieczenie aplikacji loginem i hasłem
- ✅ Wprowadzanie typów dla meczów (pojedyncze lub bulk)
- ✅ Automatyczny zapis po wyjściu z pola tekstowego
- ✅ Ranking per kolejka i ranking całości
- ✅ Wybór drużyn do typowania
- ✅ Synchronizacja wyboru rundy między sekcjami
- ✅ Automatyczne pobieranie wyników z API Hattrick
- ✅ Punktacja zgodna z regulaminem typera
- Sklonuj lub pobierz projekt
- Zainstaluj zależności:
pip install -r requirements.txt-
Skonfiguruj zmienne środowiskowe:
- Skopiuj
env_example.txtdo.env - Wypełnij klucze OAuth Hattrick:
HATTRICK_CONSUMER_KEY=twoj_consumer_key HATTRICK_CONSUMER_SECRET=twoj_consumer_secret HATTRICK_ACCESS_TOKEN=twoj_access_token HATTRICK_ACCESS_TOKEN_SECRET=twoj_access_token_secret - Skonfiguruj autentykację (login i hasło):
- Wygeneruj hash hasła:
python generate_password.py - Dodaj do
.env:APP_USERNAME=admin APP_PASSWORD_HASH=wygenerowany_hash APP_PASSWORD_SALT=wygenerowana_sol - Domyślnie: login
admin, hasłoadmin(zmień przed użyciem!)
- Wygeneruj hash hasła:
- Skopiuj
-
Uruchom aplikację:
streamlit run app.pyAplikacja wymaga logowania przed dostępem do funkcji.
Konfiguracja użytkownika:
-
Wygeneruj hash hasła:
python generate_password.py
-
Dodaj do pliku
.env:APP_USERNAME=twoja_nazwa_uzytkownika APP_PASSWORD_HASH=wygenerowany_hash APP_PASSWORD_SALT=wygenerowana_sol -
Dla wielu użytkowników (opcjonalnie):
APP_USER_1_USERNAME=user1 APP_USER_1_PASSWORD_HASH=hash1 APP_USER_1_PASSWORD_SALT=salt1 APP_USER_2_USERNAME=user2 APP_USER_2_PASSWORD_HASH=hash2 APP_USER_2_PASSWORD_SALT=salt2
Domyślne dane logowania:
- Login:
admin - Hasło:
admin ⚠️ Zmień przed użyciem w produkcji!
Aby uzyskać klucze OAuth:
- Zarejestruj aplikację na https://www.hattrick.org/Community/CHPP/Default.aspx
- Uzyskaj
consumer_keyiconsumer_secret - Użyj skryptu do autoryzacji (lub ręcznie) aby uzyskać
access_tokeniaccess_token_secret
Domyślnie aplikacja pobiera mecze z lig:
- Liga 1: 32612
- Liga 2: 9399
Możesz zmienić te wartości w sidebarze aplikacji.
Zgodnie z regulaminem typera:
- Dokładny wynik: 12 punktów
- Prawidłowy rezultat (zwycięstwo/remis): 10 punktów
- Nieprawidłowy rezultat: 5 punktów
- Odejmowanie: minus różnica bramek (gospodarze i goście osobno)
- Minimum: 0 punktów (nie dopuszcza się wartości ujemnych)
tipper_project/
├── app.py # Główna aplikacja Streamlit
├── auth.py # Moduł autentykacji (login/hasło)
├── tipper.py # Logika punktacji i parsowania
├── tipper_storage.py # Przechowywanie danych (JSON)
├── hattrick_oauth_simple.py # Klient OAuth dla Hattrick API
├── generate_password.py # Skrypt do generowania hash hasła
├── requirements.txt # Zależności Python
├── README.md # Ten plik
├── .env # Zmienne środowiskowe (nie commituj!)
└── tipper_data.json # Dane typera (tworzy się automatycznie)
- Wybór drużyn: W sidebarze zaznacz drużyny, które chcesz uwzględnić w typerze
- Wybór rundy: Wybierz kolejkę z listy
- Wprowadzanie typów:
- Wybierz gracza z listy (lub dodaj nowego)
- Wprowadź typy pojedynczo lub wklej wszystkie naraz (bulk)
- Typy zapisują się automatycznie po wyjściu z pola
- Ranking: Sprawdź ranking per kolejka lub ranking całości
Jeśli opublikowałeś aplikację w Streamlit Community Cloud i chcesz wgrać już zapisane dane (tipper_data.json), masz kilka opcji:
- Zaloguj się do aplikacji w Streamlit Cloud
- W sidebarze znajdź sekcję "💾 Import/Eksport danych"
- Kliknij "📤 Import danych z pliku" (expander)
- Wgraj plik
tipper_data.jsonz komputera - Sprawdź podsumowanie danych (liczba graczy, rund)
- Kliknij "💾 Zaimportuj dane"
- ✅ Dane zostały zaimportowane!
- Dodaj plik
tipper_data.jsondo repozytorium GitHub - Commit i push zmian
- Streamlit Cloud automatycznie zaktualizuje aplikację
- Plik zostanie wczytany przy następnym uruchomieniu
.gitignore, upewnij się że tipper_data.json nie jest ignorowany (lub usuń go z .gitignore tymczasowo).
- Wejdź do Streamlit Cloud Dashboard
- Wybierz swoją aplikację
- Przejdź do "Files" lub "Manage app"
- Wgraj plik
tipper_data.jsonprzez interfejs - Plik zostanie zapisany w katalogu głównym aplikacji
Aby pobrać backup danych z aplikacji:
- W sidebarze kliknij "📥 Pobierz backup danych"
- Kliknij "⬇️ Pobierz plik JSON"
- Plik zostanie pobrany na Twój komputer
💡 Wskazówka: Regularnie rób backup danych używając funkcji eksportu!
Nazwa drużyny1 - Nazwa drużyny2 Wynik
Przykład:
Borciuchy International - WKS BRONEK 50 7:0
Moli Team - Szmacianka Szynwałdzian 1:1
LegiaWawa - ks Jastrowie 2:1
- Sprawdź czy plik
.envistnieje i zawiera wszystkie wymagane klucze - Uruchom skrypt autoryzacji OAuth
- Sprawdź połączenie z internetem
- Sprawdź czy ID lig są poprawne
- Sprawdź czy klucze OAuth są ważne
Ten projekt jest częścią większego projektu Hattrick Predictor.