Current version of Books
The Google Books Finder is a React-based web application that demonstrates proficiency in modern web development technologies. It allows users to search and explore books from the Google Books database.
/src
: Main source code directory/components
: Reusable UI components/hooks
: Custom React hooks/pages
: Page-level components/redux
: Redux store, slices, and actions/styles
: Global styles and theme configuration/types
: TypeScript type definitions/utils
: Utility functions and helpersRouting elements rewritten with rendering props pattern
React updated to 18.2.0
Stricter typing of Favorites
removed dep. @mui/styles and babel-plugin-styled-components
removed withstyles in favor of styled
junk files removed
link to fetch details stored for re-fetch after page refresh
promise.allSettled for better fetching performance applied
When getting number of books, now only data for 1 is taken to limit transfer. Also, some redundant code is removed
050 fixed
better logic for updating component after localstorage change
regression. As Google Books API has changed, there was a need to update the implementation accordingly.It means come back to recursive fetching of books data
Rearrange SearchPage in order to follow single responsibility rule and make it more readable
fixed sorting and sorting test
fix(ValidationAlert): improve styling and alignment consistency
-001 fixed
feat: implement comprehensive internationalization (i18n) system
Create organized translation structure with semantic namespacing:
Internationalize all user-facing text across components:
Improve validation system with translated error messages:
Maintain backward compatibility while establishing scalable i18n architecture
Enhance i18n support and error handling in book fetching functionality
—001 convertToPolish pewnie trza by przerobić na mapę
—-007 błędy przez notistacka a nie podstronę
——008 set or map instead of object in case of sorting/filtering
——010 Use the React-Redux Hooks API# -właściwie łapanie errora w fetch dziwnie wygląda czy nie prościej z ajaxem to zrobić
—015 przyjrzeć sie remove i removefromfavorites dokładnie w kontekście usuwania z ulubionych bo wygląda dziwnie. Później: nie stwierdzono
— 018 podczas walidacji po np. wyczyszczeniu nie znika informacja o błędzie a powinna,poza tym wywala tylko jedne błąd pola. Zawalczyć o yupa a przynajmniej poprawić
Poza tym okienko walidacji przesuwa resztę w dół
—19 przywalidacji jeżeli mamy jedno pole dobrze a jedno źle ogólnie mamy dobrze - do rozważenia
—021 bookstablefilter mógłby być z Formikiem albo React Form Hooks
——025 strona indywidualnej książki po wybraniu na scho jest
pusta.http://localhost:3000/books#/books/individual_book Czy tak ma być czy komunikat o braku ksiązki do
wyświetlenia. Nie jest pusta. Jest komunikat, że nie dostarczono adresu.
——026 problem, co pojawi się na podstronie po wybraniu jej z palca na sucho bez żadnych danych. Zdaje się że to
przekrojowe zagadnienie wszystkich projektów do ogarnięcia przez referencje albo local storage. W
rzecyzwistości sprowadza się to do decyzji co do http://localhost:3000/books#/books/books czy ma być tabelka
pusta, czy nie. Byłbym chyba za komunikatem, że nie wybrano książek.
—028 paginacja: kiedy usuwamy książki z widoku i dochodzi do jednej strony nadal widać guzik ‘poprzedni’ i
tak zostanie, tak to przyszło z materialUI
—36 tableHelpers pewnie by lepiej było bardziej zintegrować z BooksManagerem
—037 Uwaga: wiadomy kotek łapie również Powrót Taty “ zroku 1928” gdzie to jest w podtytułacha, sprawdzić
czy to tak ma właśnie być. Jeżeli tak to robi Google Books to nie poradzę. Później -nie stwierdzono
—38 Do przepisania na usedispatch: SnackBar/ToggleSnackbar
41 poprawić test sortowania bo jest zmiana w metodzie sortowania (jest tabela którą trzeba by zmockować
zamiast używać magicznych wartości)
—42 propsy w http://localhost:3000/books#/books/individual_book wyglądają źle, trzeba pokombinować z ich
domyslnymi wartościami albo zrobić opcjonalne albo jedno i drugie.
43 dograć extended assertions i przejrzeć testy
45 Ze względu na zmiany w konstrukcji sprawdzanie pod kątem IE nie jest realizowane, czy da się to obejść.
—046 modal ostrzegający przed uwunięciem maniebieską ramkę wskazującą na focusa Czy to musi być bo wygląda psakudnie a normalnie tego nie widuje się w modalach w modalu ostrzegającym przed usunięciem initial focus powinien być na pozostaw BYła próba ale chyba najpierw trzeba przerowbić cały modal. Na dzieńdobry modal jako całość ma focus. Żaden myk z initialfocus tego nie zmienia Aczkolwiek nawigacja wewnątrz działa.
—047 Sprawdzić czy takie uzycie getBooks w useEffect nie powoduje przepełnienia. Ogólnie tam, gdzie są pobierane i używane dane. Cofnąć się do artykułu na temat
—048 dziwna sytuacja z logiką po stronie API:
https://www.googleapis.com/books/v1/volumes?q=john
powyższe zwraca niby 773 rekordy
https://www.googleapis.com/books/v1/volumes?q=intitle:john
zwraca tylko 200. I każde gdzie jest intitle itd zwraca nie więcej niż 200
jeżeli tak będzie to trza by doać opcję keyword do wyszukiwania
——049 dwa razy zdarzył się przypadek, że po pobraniu z favorites i przesortowaniu zwracało pustą tabelę. Może sort wymaga uproszczenia w sensie wywalenia try catch
—050 jeżeli paginacja nie zawiera stron nie powinna być wogóle widoczna.
This software is distributed under MIT license
Copyright © 2023 Piotr Maksymiuk. All rights reserved.