How idris-p/f1-strategy-analyser works
The product is an interactive F1 race-strategy explorer: users select a season and Grand Prix, then inspect race information, available tyres, finishing order and driver stint strategies. The React app obtains season and round choices from a FastAPI backend, which serves filtered data from two CSV files. The README also identifies FastF1 and Jupyter as part of the data stack, and the tree contains strategy-related notebooks; their implementation details and connections to the served CSVs are not established by the sampled source.
Main entry points: server.py FastAPI endpoints · App.jsx App · Carousels.jsx Season and round selectors · AvailableCompounds.jsx Available compounds
Components 15
Race explorer UI
- App
frontend/src/App.jsx - Season and round selectors
frontend/src/components/Carousels.jsx - Year carousel
frontend/src/components/CarouselYear.jsx - Round carousel
frontend/src/components/CarouselRounds.jsx - Available compounds
frontend/src/components/AvailableCompounds.jsx - Race results table
frontend/src/components/Table.jsx - Stint strategy view
frontend/src/components/StrategyTable.jsx
API and data
- FastAPI endpoints
backend/server/server.py - Strategy dataset
backend/f1_strategy_data.csv - Grand Prix dataset
backend/f1_grand_prix_data.csv - Compound data
backend/available_compounds.py
Data preparation
- Strategy notebook
backend/get_strategy.ipynb - Update notebook
backend/update_strategy.ipynb
Other components
- User
- FastF1
Connections 15
- User → App: uses
- App → Season and round selectors: renders
- App → Available compounds: renders
- App → Race results table: renders
- App → Stint strategy view: renders
- Season and round selectors → Year carousel: renders
- Season and round selectors → Round carousel: renders
- Season and round selectors → FastAPI endpoints: fetches years and rounds
- Available compounds → FastAPI endpoints: fetches Grand Prix
- Race results table → FastAPI endpoints: fetches strategies
- Stint strategy view → FastAPI endpoints: fetches race data
- FastAPI endpoints → Strategy dataset: reads
- FastAPI endpoints → Grand Prix dataset: reads
- FastF1 → Strategy notebook: data source
- FastF1 → Update notebook: data source