A modern, responsive web application built with React and Tailwind CSS to manage a digital library. This application allows users to add, edit, delete, and search for books in real-time, featuring a clean UI with modal confirmations and strict data validation.
| Dashboard (Home) | Book Details |
|---|---|
![]() |
![]() |
- βοΈ Cloud Database: Uses MockAPI.io, so you don't need to run a local backend server.
- π Full CRUD System: Create, Read, Update, and Delete books seamlessly.
- π Real-time Search: Instantly filter books by Title, Author, or Publisher as you type.
- π‘οΈ Smart Validation:
- Prevents negative numbers or decimals in Age.
- Enforces strict Email formatting.
- Live error messages for invalid inputs.
- πΌοΈ Image Previews: Paste an image URL and see a live preview before saving.
- π Interactive UI:
- Custom Modal Popups for safe deletion.
- Toast Notifications for success/error messages.
- Split-screen Details Page for a professional reading view.
- π± Fully Responsive: Looks great on mobile, tablet, and desktop.
- Frontend: React.js (Vite)
- Styling: Tailwind CSS
- Routing: React Router DOM
- HTTP Client: Axios
- Backend: JSON Server (Mock REST API)
Follow these steps to get the project running on your local machine.
git clone [https://github.com/your-username/book-inventory.git](https://github.com/your-username/book-inventory.git)
cd book-inventory First, download all the required libraries (like React and Tailwind) listed in the package.json file.
npm installnpm run devsrc/
βββ components/
β βββ BookForm.jsx # Form with strict validation & live preview
β βββ BookTable.jsx # Main inventory list with badges
β βββ Navbar.jsx # Responsive navigation bar
β βββ Notification.jsx # Toast popup for alerts
βββ pages/
β βββ BookDetails.jsx # Detailed split-screen view
β βββ Home.jsx # Dashboard logic (Search + Table)
βββ services/
β βββ api.js # Centralized Axios API calls
βββ App.jsx # Routing configuration
βββ main.jsx # App entry pointThis project was built to master:
- Connecting a React app to a remote REST API.
- React Hooks (useState, useEffect, useParams).
- Managing complex state (Modals, Search Filters, Forms).
- Building reusable components.
- Handling asynchronous API calls with Axios.
This project is open source and available under the MIT License.

