Libra is a clean, responsive, and fully functional Library Management System built with React, TypeScript, and Redux Toolkit Query. This project enables users to perform core library operations such as viewing, creating, editing, deleting, and borrowing books all without authentication or complex integrations.
Live: Link
API Documentation: https://github.com/afsar-dev/Library-management-server/blob/main/README.md
- Public access β no authentication required
- View, add, edit, and delete books
- Borrow books with quantity and due date
- Auto-update availability based on copies
- View aggregated borrow summary (book title, ISBN, total quantity)
- React β UI library for building interactive interfaces
- TypeScript β Type-safe JavaScript for better development experience
- Redux Toolkit + RTK Query β State and API data management
- React Router β Client-side routing for navigation
- Tailwind CSS β Utility-first CSS framework for styling
- Vite β Fast bundler and development server
# 1. Clone the repository
git clone https://github.com/afsar-dev/Library-management-client
cd Library-management-client
# 2. Install dependencies
bun install
# 3. Set up environment variables
touch .envVITE_CLOUDINARY_CLOUD_NAME=******
LIBRARY-MANAGEMENT-CLIENT/
βββ .vercel/ # Vercel deployment configuration
βββ dist/ # Production build output
βββ node_modules/ # Project dependencies
βββ public/ # Static public assets
βββ src/ # Source code
β βββ assets/ # Images, logos, and static files
β βββ components/ # Reusable UI components
β βββ hooks/ # Custom React hooks
β βββ lib/ # Utility functions and helpers
β βββ pages/ # Page-level components for routes
β βββ provider/ # Context and provider components (e.g., Redux Provider)
β βββ redux/ # Redux Toolkit slices and RTK Query setup
β βββ routes/ # Route configurations using React Router
β βββ types/ # Global TypeScript types and interfaces
β βββ App.tsx # Root app component
β βββ index.css # Global CSS with Tailwind imports
β βββ main.tsx # App entry point
β βββ vite-env.d.ts # Vite environment type declarations
βββ .env # Environment variables
βββ .gitignore # Git ignore rules
βββ bun.lock # bun lockfile
βββ components.json # (Optional) Component mapping/config
βββ eslint.config.js # ESLint configuration
βββ index.html # Root HTML template
βββ org.png # Logo or illustration image
βββ package.json # Project metadata and scripts
βββ README.md # Project documentation
βββ tsconfig.app.json # TypeScript config (for app scope)
βββ tsconfig.json # Base TypeScript configuration
βββ tsconfig.node.json # TypeScript config (for Node usage)
βββ vercel.json # Vercel project settings
βββ vite.config.ts # Vite bundler configuration-
Home Page (
/)
Displays all books. -
All Books Page (
/all-books)
Shows a list of all books with available actions such as edit, delete, borrow, and view. -
Book Details Page (
/all-books/:id)
Displays detailed information about a selected book. -
Add Book Page (
/add-book)
Contains the form to create a new book entry. -
Borrow Summary Page (
/borrow-summary)
Shows a summary of all borrowed books.
Md Afsar Mahmud
Full Stack Developer
HackerRank β’
LinkedIn
