189 lines
3.7 KiB
Markdown
189 lines
3.7 KiB
Markdown
# 🚀 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! 🚂🗺️**
|