2026 · Archive · Car parts store
Avtobamper
A storefront for a car body-parts shop, recovered from a company that had shut down and made runnable without its API.
- Next.js 15
- React 19
- styled-components
- Redux Toolkit
- SWR
- Docker
- GitLab CI/CD
- pages checked in the responsive pass
- 20
- widths, from 280 to 2560 px
- 15
- assertions on every page and width
- 5
- timeout before the offline fallback
- 4 s
What I walked into
The company behind the storefront had shut down and its API was gone, so the pages had nothing to render.
The archive was desktop only, with width media queries in 15 of 136 styled files.
What I changed, and why
One offline seam
The fallback lives in exactly one file, offlineFallback.service.ts: the live call races a 4-second timeout and logs which endpoint went missing.
One path for everything
Server rendering, client pagination and the vehicle picker all share that single fallback path.
Eight bands, measured
The rebuild covers eight bands, verified by loading the production build into a resizable iframe.
A responsive rebuild verified by measurement: 20 pages, 15 widths, 5 assertions each.
Where it landed
The storefront runs without its API, falling back per endpoint and logging what went missing.
The layout covers eight bands, checked on 20 pages at 15 widths from 280 to 2560 px against 5 assertions each.