A full-stack web application for managing library operations — books, members, issue/return tracking, and reports. Built with React, Node.js, Express, and MongoDB.
🚧 Status: In active development — building as part of a structured full-stack learning plan.
Coming soon — will be deployed on Vercel (frontend) + Railway (backend)
- Add, edit, and delete books
- Search by title or author
- Filter by genre and availability
- Track total vs available copies
- Register and manage library members
- Member profiles with issue history
- Search and filter members
- Issue books to members with due dates
- Return flow with automatic copy count update
- Overdue detection with fine calculation (₹5/day)
- Summary stats: total books, members, active issues, overdue count
- Issue history table with sorting, filtering, and pagination
- Charts: borrowing trends, top books, genre distribution
- JWT-based login/register
- Role-based access: Admin and Librarian roles
- Protected routes
- Responsive design (mobile + desktop)
- Dark / light mode toggle
- Toast notification system
- Skeleton loaders
| Technology | Purpose |
|---|---|
| React 18 | UI framework |
| React Router v6 | Client-side routing |
| Context API + useReducer | State management |
| Tailwind CSS | Styling |
| Recharts | Data visualisation |
| Axios | HTTP client |
| Vite | Build tool |
| Technology | Purpose |
|---|---|
| Node.js | Runtime |
| Express.js | Web framework |
| MongoDB | Database |
| Mongoose | ODM |
| JWT | Authentication |
| bcrypt | Password hashing |
| express-validator | Input validation |