Books store
A small test task, which is an emulation of a bookstore. The application displays a list of books, it is possible to add books, change information about the book, view information about the book. This application does not use a backend, all information is stored in an array and will be lost when the page or application is reloaded.
This application uses the following frameworks and libraries:
- Next.js
- Redux/Redux Toolkit (normalized store!)
- Bootstrap/react-bootstrap (sorry)
- React Icons
During the execution of the task, I changed its functionality a little:
- When you click on the "Add book" button, a modal window opens with a form for entering information about the book. Added basic form validation
- Book information opens on a new page
- Editing a book takes place on a page with a list of all books, but instead of information about the book, a form for editing appears
- If the list of books is empty, then a message is displayed about this.
To run it localy
- Clone GitHub repo Bookstore Task
cd bookstore-test
npm install
npm run dev
- Open
http://localhost:3000
Try online
Working prototype you can find fere: https://bookstore-test-7lq1.vercel.app/
Or watch how it works
Screen.Recording.2023-05-17.at.12.10.26.mov
Some topics to improve
- Remove inline styling and use
styled-components
, for example - Add memoization for some components and functions
- Create some additional components to make the layout cleaner
- Normal validation
- And tests!
- etc.
All these actions will not greatly affect the performance of this small application, but require considerable additional time. In a large real application, all this, of course, must be done.