# 🚀 Quick Start Guide ## Wymagania Upewnij się, że masz zainstalowane [uv](https://docs.astral.sh/uv/): ```bash # Instalacja uv curl -LsSf https://astral.sh/uv/install.sh | sh # Sprawdź instalację uv --version ``` ## Uruchomienie w 3 krokach ### 1. Instalacja zależności i pobranie danych ```bash ./setup.sh ``` Lub ręcznie: ```bash cd backend uv venv uv pip install -r requirements.txt uv run download_gtfs.py ``` ### 2. Uruchom backend ```bash ./run.sh ``` Lub ręcznie: ```bash cd backend uv run app.py ``` Serwer uruchomi się na `http://localhost:5000` ### 3. Otwórz frontend **Opcja A** - Bezpośrednio w przeglądarce: ```bash firefox frontend/index.html # lub open frontend/index.html # macOS ``` **Opcja B** - Przez serwer HTTP (zalecane): ```bash cd frontend python3 -m http.server 8000 ``` Następnie otwórz: `http://localhost:8000` ## Pierwsze kroki 1. W polu wyszukiwania wpisz nazwę stacji, np.: - "Wrocław Główny" - "Warszawa Centralna" - "Kraków Główny" - "Gdańsk Główny" 2. Wybierz stację z listy wyników 3. Zaznacz przedziały czasowe (np. 30, 60, 90 minut) 4. Kliknij "Oblicz izochrony" 5. Zobacz kolorowe obszary na mapie pokazujące gdzie możesz dojechać! ## Przykładowe testy ### Test 1: Wrocław Główny ``` Stacja: Wrocław Główny Przedziały: 30, 60, 90, 120 min Oczekiwany wynik: ~15-50 stacji w zależności od czasu ``` ### Test 2: Warszawa Centralna ``` Stacja: Warszawa Centralna Przedziały: 60, 120, 180 min Oczekiwany wynik: Duży obszar pokrycia centralnej Polski ``` ## Sprawdzanie API ```bash # Status serwera curl http://localhost:5000/api/health # Wyszukaj stacje curl "http://localhost:5000/api/stops/search?q=Wrocław" # Oblicz izochrony (wymaga ID stacji) curl -X POST http://localhost:5000/api/isochrones \ -H "Content-Type: application/json" \ -d '{"origin_stop_id": "5100069", "time_intervals": [30, 60]}' ``` Lub użyj przykładowego skryptu: ```bash python examples/api_examples.py ``` ## Rozwiązywanie problemów ### Błąd: "Nie znaleziono pliku GTFS" ```bash cd backend uv run download_gtfs.py ``` ### Błąd: "ModuleNotFoundError" ```bash cd backend uv pip install -r requirements.txt ``` ### Błąd: "uv: command not found" ```bash # Zainstaluj uv curl -LsSf https://astral.sh/uv/install.sh | sh # Lub pip install uv ``` ### Frontend nie łączy się z API - Sprawdź czy backend działa: `curl http://localhost:5000/api/health` - Sprawdź w konsoli przeglądarki (F12) czy nie ma błędów CORS ### Mapa się nie ładuje - Sprawdź połączenie z internetem (Leaflet pobiera kafelki z OSM) - Otwórz konsolę przeglądarki (F12) i sprawdź błędy ## Następne kroki - Przeczytaj `TECHNICAL.md` dla szczegółów technicznych - Eksperymentuj z różnymi stacjami i przedziałami czasowymi - Modyfikuj kod backendu aby dodać nowe funkcje - Customizuj frontend (kolory, style, kontrolki) ## Dodatkowe możliwości ### Zmiana zakresu danych GTFS Edytuj `backend/download_gtfs.py` aby dodać więcej źródeł: ```python GTFS_SOURCES = { 'polish_trains': 'https://mkuran.pl/gtfs/polish_trains.zip', 'koleje_dolnoslaskie': 'URL_DO_KD_GTFS', # dodaj tutaj } ``` ### Zmiana przedziałów czasowych W `frontend/index.html` dodaj nowe checkboxy lub edytuj istniejące. ### Zmiana kolorów izochron W `frontend/map.js` edytuj obiekt `ISOCHRONE_COLORS`: ```javascript const ISOCHRONE_COLORS = { 30: '#0080ff', // niebieski 60: '#00c864', // zielony 90: '#ffc800', // żółty // ... }; ``` ## Pomoc - Issues: Stwórz issue w repozytorium - Dokumentacja: Zobacz `README.md` i `TECHNICAL.md` - Źródła danych: [mkuran.pl/gtfs](https://mkuran.pl/gtfs/) --- **Miłej zabawy z izochronami! 🚂🗺️**