A React + TypeScript project styled with Tailwind CSS, featuring dynamic filter management and dark mode functionality.
To run this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/shimrah-mahjabeen/idoon cd idoon -
Install dependencies:
npm install- Run the project:
npm run startThis will start the application on http://localhost:3000.
- React: A JavaScript library for building user interfaces.
- TypeScript: A typed superset of JavaScript that compiles to plain JavaScript, enhancing development with static typing.
- Tailwind CSS: A utility-first CSS framework for styling.
- Heroicons: A set of free, MIT-licensed high-quality SVG icons for you to use in your web projects.
During the development of this project, I encountered several challenges, particularly in managing the state of filters. Some key points include:
-
State Management: I initially struggled with effectively managing the state of various filters, especially given the complexity of the filter structure. Storing filter values in the state proved challenging.
-
Displaying Applied Filters: Ensuring that the applied filters were displayed correctly and were easy to remove was another challenge. This required a modular approach to build reusable components that could handle the display and interaction logic seamlessly.
- Dark Mode Support: The project includes a dark mode feature, allowing users to switch between light and dark themes effortlessly, improving usability in low-light conditions.