Library Management System 📚

Model Count logo

4

Models

5

Controllers

Count time

10

Development Hours

saved hour logo

40

Saved Hours

Introduction:

This project is a Library Management System meant to handle book, user, and transaction processing inside a library efficiently. This system offers consistent handling of library data, user roles, and borrowing transactions, designed to showcase CRUD tasks spanning many database formats and database connections.

Key Features :

  • User Management: Track user information utilizing fields for user type, personal information, administrative tasks including staff members as well as library visitors.
  • Book Management: Title, alternate titles, author, categories, publisher, and current availability assist you to precisely manage book records.
  • Book Categories: Sort books in groups so that they may be easily accessed and controlled from one another.
  • Transactions: Record book borrow and return transactions completely including due dates, return status, and transaction types.

AVAILABLE API:

Tools Used:

Testing Tools Used:

Library :

  • bcryptjs
  • connect-mongo
  • body-parser
  • cors
  • dotenv
  • express
  • jsonwebtoken
  • moment
  • mongoose
  • nodemon
  • validator

Use Cases :

  1. User Registration and Management
    • Add/Update/Delete Users: User registration and administration allows you to register, change, or delete fresh system users.
    • User Roles: Assign roles—normal or administrative user—then exercise user rights.
  2. Book Management
    • Add/Update/Delete Books: add new books, change existing entries, or delete old ones.
    • Search Books: Search author; book names, genre; availability; classification;
  3. Category Management
    • See here a list of every book falling within a particular category: ** Sort books** according to category.
  4. Borrowing and Returning Books
    • Initiate Borrowing: Note a fresh borrowing transaction and adjust the book's availability state.
    • Return Book: Record the return, note the transaction as whole, then change availability.
  5. Transaction Management
    • View Transaction History: Track borrowing and return history in Transaction Management using either user or book.
    • Overdue Alerts: Examine past-due records and, if needed, notify customers or apply penalties.

Database Structure :

The platform will require a relational database to manage Purchase Order and Items . Below is a proposed database structure with the key tables.