Skip to content

Latest commit

Β 

History

History
87 lines (67 loc) Β· 2.94 KB

File metadata and controls

87 lines (67 loc) Β· 2.94 KB

πŸ“š Book Inventory Manager

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.

πŸ“Έ Screenshots

Dashboard (Home) Book Details
Home Page Details Page

✨ Features

  • ☁️ 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.

πŸ› οΈ Tech Stack

  • Frontend: React.js (Vite)
  • Styling: Tailwind CSS
  • Routing: React Router DOM
  • HTTP Client: Axios
  • Backend: JSON Server (Mock REST API)

πŸš€ Getting Started

Follow these steps to get the project running on your local machine.

1. Clone the Repository

git clone [https://github.com/your-username/book-inventory.git](https://github.com/your-username/book-inventory.git)
cd book-inventory 

2.Install Dependencies

First, download all the required libraries (like React and Tailwind) listed in the package.json file.

npm install

3. Start the application

npm run dev

πŸ“‚ Project Structure

src/
β”œβ”€β”€ 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 point

πŸ“ Learning Highlights

This 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.

πŸ“„ License

This project is open source and available under the MIT License.