The link to the repo containing the challenge can be found here.
python -m venv .venv
source .venv/bin/activate
Add all requirements to requirements.txt. To install them:
pip install --upgrade pip
pip install -r requirements.txt
You need to create locally and .env file in order to be able to send requests.
cp .env.example .env
Inside the .env file, set the desired API key and the url base.
Here you can see the diagrams presenting the general logic and flow of the algorithm.
The histogram of the time it takes to process a kit at each airport:
On the provided that, we can see the utilisation faction of kits (passenger=pax/kit space per plane)
The average and median values of needed kits can be found here
An interactive React + TypeScript + Tailwind + shadcn/ui dashboard lives in frontend/. It ships a control center for the Flight Rotables Optimization stack, including dashboards, flights drill-down, airport inventory, and a strategy tuning lab with mock data and API stubs ready to swap to real endpoints.
cd frontend
npm install
npm run dev
# npm run build to verify prod bundle- React Router for navigation, TanStack Query for data fetching, Recharts for charts, Radix/shadcn components for UI primitives, Tailwind for styling with light/dark theme toggle.
src/lib/mock-data.tsandsrc/lib/api.tsprovide mock payloads and delay-simulated calls; wire them to real backend endpoints when available.- Shared layout components under
src/components/layoutcreate the persistent sidebar + top bar shell. UI primitives live insrc/components/ui. - Feature folders:
src/features/dashboard— KPI strip, cost/penalty time series, penalty breakdown donut, network snapshot, and strategy summary.src/features/flights— filter bar, sortable table, and a slide-over flight detail view with per-cabin service stats.src/features/airports— airport list, stock/capacity gauges, trend and flow charts, and upcoming flights near each station.src/features/strategy— tuning playground with sliders/toggles for heuristics, simulation runner, comparison KPIs, delta chart, and explainability notes.




