1- clone from the Repo . git clone :
2-npm install .
3-npm start.
I managed the project in small components each one represent elements in the App.
I tried to use statless components for better performance and not calling API in more than one component.
Book Shelfs are three components each one hold arry of objects for filtered books regarding the target shelf.
I separated the select option comonent for better maintainance.