Skip to content

Modern library management system in C#/.NET with lending, fines, Repository Pattern & Unit Of Work, AutoMapper, Serilog, Cashing ,and more.

Notifications You must be signed in to change notification settings

Tareq-Bilal/Bookit

Repository files navigation

📚 Bookit – Modern Library Management System

Bookit is a powerful and modern library management system designed to simplify book tracking, user management, and lending workflows. Built with C# and .NET, it offers an elegant and efficient platform for libraries of any size to digitize their operations and improve member engagement.


🚀 Features

Inventory Management
Track books, authors, genres, and multiple copies with full lifecycle support.

Member Management
Register members, manage profiles, and maintain lending histories.

Smart Lending System
Handle book loans, returns, due dates, and overdue reminders seamlessly.

Reviews & Ratings
Allow members to rate and review books to enhance discovery.

Wishlists & Recommendations
Enable users to create wishlists and get personalized suggestions.

Fines & Transactions
Automated fine calculation for late returns and complete transaction history.

Advanced Reporting
Generate insights for collection development and library growth strategies.


🧠 Technologies Used

Bookit is built with a clean, maintainable architecture and modern .NET practices:

  • 🔄 AutoMapper – Streamlines object-to-object mapping (DTOs, ViewModels, etc.)
  • 🎯 FluentValidation – Ensures robust and readable model validation
  • 🏛 Repository Pattern + Unit of Work – Clean, testable, and decoupled data access logic
  • 🔐 Authentication & Authorization – Secure access with token-based (JWT) authentication and role-based access
  • 📊 Serilog – Structured logging with support for file, console, and external sinks
  • Caching – Boosts performance via in-memory or distributed caching strategies
  • 🧪 Entity Framework Core – Modern ORM with LINQ support and database migration handling
  • 🌐 ASP.NET Web API – RESTful endpoints for smooth frontend-backend communication
  • 📚 Library Management – Handles books, multiple copies, categories, authors, and genres
  • 🔁 Loan & Return System – Manages checkouts, returns, due dates, and fine calculations
  • Ratings & Reviews – Allows members to review and rate books to aid discovery
  • 📝 Wishlists & Recommendations – Personalized book suggestions and user-curated wishlists
  • 📈 Analytics & Reporting – Insights into borrowing trends, overdue stats, and collection performance
  • 🧱 Modular & Scalable Architecture – Built for long-term maintainability and easy feature expansion

🛠️ Tech Stack

  • .NET Core
  • C#
  • SQL Server

📦 Getting Started

  1. Clone the repo

    git clone https://github.com/your-username/Bookit.git
    cd Bookit
    
  2. Set up the database

    dotnet ef database update
    
  3. Run the project

    dotnet run
    

📄 License

This project is open-source and available under the MIT License.

🙌 Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you’d like to change.

API Documentation📜

🔹Authors

Authors

🔹Book

Books

🔹BookCopy

BookCopy

🔹Publisher

Publisher

🔹Category

Category

🔹User

User

🔹Loans

image

🔹Transactoins

image

🔹Wishlist

image

🔹Review

image

Database Diagram 📈

Bookit - Light

Crafted with ❤️ by Tareq Bilal

About

Modern library management system in C#/.NET with lending, fines, Repository Pattern & Unit Of Work, AutoMapper, Serilog, Cashing ,and more.

Topics

Resources

Stars

Watchers

Forks

Languages