Add books manually, random from local JSON or random via API. List of Books saves in localStorage.
Branch main - filter state and other states are stored in Redux store
Branch router - filter state stored in URL query string while other states are stored in Redux store
Working demo (from router branch) : https://sampleq.github.io/book-library-app-ts/