A responsive bike listing page built with React, TypeScript, and Vite, featuring filters, price range, pagination, and dark mode.
Check the live demo here: https://nastia7408.github.io/testTask
- Filter bikes by type/specifications
- Filter by minimum and maximum price
- Histogram slider for price range
- Sort bikes by price, closest, newest, or retailer
- Pagination with adjustable results per page
- Dark mode toggle
- Fully responsive design
- React 19 with TypeScript
- Vite for bundling and development server
- Sass for styling
- Git & GitHub for version control
- gh-pages for deployment
- Clone the repository:
git clone https://github.com/nastia7408/testTask.git cd testTask
- Install dependencies:
npm install
- Start the development server:
npm run dev
The app will be available at http://localhost:5173 (or another port if 5173 is busy).
The project is deployed via GitHub Pages:
npm run deploy
testTask/ ├─ src/ │ ├─ App.tsx │ ├─ bikes.ts │ ├─ HistogramSlider.tsx │ └─ App.css ├─ public/ ├─ package.json ├─ tsconfig.json └─ README.md
- Make sure to adjust the
homepagefield inpackage.json:
"homepage": "https://nastia7408.github.io/testTask"
- All changes are version-controlled with Git. Commit often for easier tracking.