Objective: A backend API for a Library Management System allowing staff and members to manage books, memberships, and borrowing activities. Built with Node.js, Prisma ORM, PostgreSQL, and Express.js, this API supports CRUD operations for books, members, and borrow records with UUID-based unique identifiers.
- Live URL: [Live Link ]
You can view the full API documentation for this project on Postman HERE.
- Book Table: Manages book records (e.g., title, genre, availability)
- Member Table: Manages library members (e.g., name, email, membership details)
- BorrowRecord Table: Tracks borrowing activities with references to books and members
- Create Book:
POST /api/books - Get All Books:
GET /api/books - Get Book by ID:
GET /api/books/:bookId - Update Book:
PUT /api/books/:bookId - Delete Book:
DELETE /api/books/:bookId
- Create Member:
POST /api/members - Get All Members:
GET /api/members - Get Member by ID:
GET /api/members/:memberId - Update Member:
PUT /api/members/:memberId - Delete Member:
DELETE /api/members/:memberId
- Borrow Book:
POST /api/borrow - Return Book:
POST /api/return - Overdue List:
GET /api/borrow/overdue
Unified structure for error responses with success, status, and message fields.
- Clone the repository.
- Install dependencies:
npm install - Set up PostgreSQL and Prisma ORM.
- Run migrations:
npx prisma migrate dev - Start the server:
npm start
- Overdue Tracking: Currently set for a 14-day return policy but may require customization for variable return policies.
This API is structured for scalability, with clean code and organized comments for easy navigation.