Minimal Library Management System
A basic Redux Toolkit + RTK Query learning project — simple CRUD for books and borrow records. Production-deployed on Vercel.

Overview
The Minimal Library Management System is a basic learning project I built to practice Redux Toolkit and RTK Query. It's intentionally small in scope — simple CRUD operations for books and borrowing records (add, edit, view, delete, track borrowing with due dates).
The frontend uses Redux Toolkit + RTK Query for state management and data fetching, React Hook Form + Zod for form validation, and shadcn/ui for accessible components. The CI/CD pipeline runs lint → type-check → build on Node 18.x and 20.x in a matrix, then auto-deploys to Vercel on pushes to main.
I'm keeping this project visible in my portfolio because it represents an important milestone in my learning journey — the first time I cleanly structured a React app with feature folders (redux, schema, types) per concern, and the first time I set up a CI matrix that tests on multiple Node versions.
Highlights
- 01Basic learning project — focused on practicing Redux Toolkit + RTK Query with simple book and borrow-record CRUD operations.
- 02Feature-oriented folder structure (assets, components, redux, routes, schema, types) — my first properly structured React app.
- 03CI matrix testing on Node 18.x and 20.x with auto-deploy to Vercel on every push to main.
- 04Form validation with React Hook Form + Zod, accessible UI with shadcn/ui, light/dark/system theme.
Key Features
- Book CRUD with schema validation
- Borrowing system (track borrowing + returns with due dates)
- Responsive UI with light/dark/system theme
- Form validation with React Hook Form + Zod
- Feature-oriented folder structure (assets, components, config, hooks, lib, pages, redux, routes, schema, types)
- CI matrix testing on Node 18.x and 20.x
- Auto-deploy to Vercel on push to main
Challenges Faced
Future Improvements & Plans
- Add user authentication and per-user borrowing history.
- Implement book reservations and waitlists.
- Add a search engine with full-text search and filters (genre, availability, rating).
- Generate PDF reports for borrowed books and overdue items.
- Add an admin dashboard with library analytics.
Interested in this project?
Check out the code, try the live demo, or get in touch to discuss similar work.