BookLend is a web application that helps librarians to manage and access books and readers in an easy and efficient way. It provides librarians with dashboard where they can perform various tasks.
Live demo: https://booklend.vercel.app/
Project is built with:
- React 18
- React Router 6
- Redux Toolkit
- Material UI
- styled components
- i18next
- Axios
- Formik
- Yup
- React-Toastify
- User Authentication 🙋♂️: user can sign up and log in with email and password. The app uses JWT and refresh token for authentication. The axios custom instance handles the token refresh on every request to the server.
- Localization 🌐: user can switch between Polish and English language. The language preference is stored in the local storage and persists across sessions.
- Book management 📚: user can add, edit, delete, and categorize books, as well as monitor the inventory and availability of books.
- Reader management 👥: user can add, edit, and delete readers, lend books to readers, and see the list of borrowed books.
- Account management ⚙️: users can change their profile picture, email, and password from the dashboard. They can also log out or delete their account if they wish.
- Search 🔍: user can search for books or readers by various criteria, such as title, author, genre, or name. The search results are displayed in a paginated and sortable table and grid/list views, with filters and options to view, edit, or delete the items.
- Responsive design 📱: users can access the application on various devices and screen sizes, thanks to the Material UI and styled components libraries. The layout and components adapt to the viewport width and orientation.
Download or clone this repository.
Install dependencies:
npm install
Start a local web server by running:
npm start
Open http://localhost:5173 to view it in the browser.