Platforma do analizy danych F1 z wykorzystaniem OpenF1 API i MongoDB.
cd /Users/piotradamski/Programowanie/f1analysis
source venv/bin/activatePobiera dane z OpenF1 API (sesje, okrążenia, kierowcy, pit-stopy, pogoda, race control) i zapisuje do MongoDB.
# Pobierz dane dla 2023 i 2024
python data_pipeline/fetch_history.py
# Tylko rok 2024
python data_pipeline/fetch_history.py --years 2024
# Szybki test (tylko 1 sesja)
python data_pipeline/fetch_history.py --testWażne: MongoDB musi być uruchomione przed startem pipeline.
Uruchom:brew services start mongodb-community
Po pobraniu danych otwórz MongoDB Compass → połącz z mongodb://localhost:27017 → baza: f1analysis
Pokazuje dane na żywo podczas sesji F1 (czasy okrążeń, pozycje, pit-stopy, flagi, pogoda).
Odświeżanie co 5 sekund z OpenF1 API.
cd live_dashboard
python app.pyOtwórz: http://localhost:5000
cd notebooks
jupyter notebook f1_analysis_template.ipynbZawiera:
- Połączenie z MongoDB
- Wykresy (czasy okrążeń, pit-stopy)
- Feature engineering
- Model Random Forest + Gradient Boosting
f1analysis/
├── venv/ # Środowisko Python (nie commituj!)
├── requirements.txt # Biblioteki
├── data_pipeline/
│ └── fetch_history.py # Pipeline historyczny
├── live_dashboard/
│ ├── app.py # Serwer Flask
│ ├── templates/index.html # Dashboard UI
│ └── static/style.css # Styl
└── notebooks/
└── f1_analysis_template.ipynb # Szablon ML
| Kolekcja | Opis |
|---|---|
sessions |
Sesje F1 (FP1-3, Qualy, Race) |
drivers |
Kierowcy per sesja |
laps |
Czasy okrążeń |
pit |
Pit-stopy |
race_control |
Flagi, Safety Car, VSC |
weather |
Temperatura, opady, wiatr |
position |
Pozycje podczas wyścigu |