This project is a redesigned version of the "Choose Your Skip Size" page from https://wewantwaste.co.uk/, developed as part of a React coding challenge. The goal was to create a completely different UI while maintaining the original functionality, focusing on clean, maintainable code, responsiveness, and improved UI/UX. The redesign includes a modern stepper navigation, interactive skip cards, detailed skip information, and a filter section, optimized for both mobile and desktop browsers.
- React: Used for building the front-end with a component-based architecture.
- Next.js: Leveraged for server-side rendering and static site generation.
- Tailwind CSS: Applied for rapid UI development with a utility-first approach.
- Lucide React: Utilized for icons to enhance visual feedback.
- TypeScript: Employed for type safety and better code maintainability.
- Stepper Component: Added a horizontal stepper to guide users through the process, with visual indicators for completed and current steps.
- Responsive Layout: Implemented a flexible grid system to ensure the interface adapts seamlessly to mobile and desktop screens.
- Filter Section: Introduced a filter panel with dropdowns for skip size, price range, road placement, and waste type to enhance user control.
- Skip Cards: Designed interactive cards for skip selection with hover effects and a selected state indicator.
- Skip Details: Created a detailed view with categorized sections (e.g., capacity, placement) using cards and icons for better readability.
- Fetched skip data from https://app.wewantwaste.co.uk/api/skips/by-location?postcode=NR32&area=Lowestoft to populate the skip options dynamically.
- Used a custom hook (
useSkipFilter) to manage filtering logic based on user selections.
- Organized components in the
src/componentsdirectory (e.g.,Stepper,FilterSection,SkipCard,SkipDetails,Footer). - Defined types in
src/types/skip.tsfor type safety. - Managed global styles in
src/globals.csswith Tailwind CSS configuration.
- Enhanced visual hierarchy with color-coded sections and icons.
- Added tooltips and detailed insights (e.g., popularity, value rating) to inform user decisions.
- Ensured accessibility with proper contrast and focus states.
- Clone the repository:
git clone https://github.com/MainaMwangiy/skip-hire-app - Navigate to the project directory:
cd SKIP-HIRE-APP - Install dependencies:
npm installoryarn install - Run the development server:
npm run devoryarn dev - Open http://localhost:3000 to view the app.
- Use the filter options to narrow down skip choices.
- Click a skip card to view detailed information and select it.
- Navigate using the back and continue buttons in the footer.
- GitHub Repository: GitHub Link
- Sandbox Link: SandBox Link
- Submitted via https://forms.gle/N6nKLgW8CMqZ2eFY8 within 72 hours.
Feel free to reach out with any questions!


