These are the main parts of the project:
-
components
Reusable UI components
-
apiHooks
Custom hooks to call API endpoints, and facilitate their use
-
fake-api
Retrieves the elements from the data.json in an async way (simulating an API call)
-
Vite:
Used to setup a development server quickly, with reduced build times
-
Tailwind:
I decided to use Tailwind cause I'm already familiar with it and I think it offers a lot of pros, like pre-defined classes and versatility
-
useDebounce:
Used this hook to debounce some user interactions with the search box, like input and closing the search