Skip to content

Library Manager is a cross-platform application designed to streamline and simplify the management of library resources.

Notifications You must be signed in to change notification settings

katereverie/LibraryManager

Repository files navigation

Library Manager (To be updated)

Overview

Library Manager is a cross-platform application designed to streamline and simplify the management of library resources.

Core Features

  • Borrower Management: register, track, and manage library users, including their borrow history (in the form of checkout logs), personal information.
  • Media Management: catalog, organize, and manage the details of different types of media, such as books, DVDs, and digital audios; generate reports, such as most popular media items.
  • Checkout Management: oversee the borrowering and returning of media, tracking due dates of borrowed media.

Architecture

Pattern (n-Tier-architecture)

  • UI: Provides a console-based user interface for managing library operations.
  • API: This is the entry point for external clients. It handles HTTP requests and routing to services through controllers for borrowers, media, and checkouts. The API includes Swagger documentation for API endpoint description and testing, and it also implements validation to ensure data integrity.
  • Application: Contains business logic for managing borrowers, media, and checkouts.
  • Core: Defines the domain models and repository interfaces that represent the core entities in the system.
  • Data: Manages data persistence through Dapper and Entity Framework, providing flexibility in database access.
  • UnitTest: Ensures the correctness of the business logic and repository implementations through unit testing.

Tech-Stack

  • Language: C#
  • Frameworks: ASP.NET Core (Web APIs), Entity Framework Core (ORM), Dapper (light ORM), Swagger (API documentation), FluentValidation (model validation), etc.
  • Database-related Operations: Microsoft SQL Server (Database Management), Docker (Containerization), Dapper and Entity Framework Core (Data Access)
  • Tests: NUnit
  • Other tools: Postman, Azure Data Studio, Swagger, Visual Studio (IDE)

Visual Demonstration

Borrower Management

BorrowerManagementDemo.mp4

Media Management

MediaManagementDemo.mp4

Checkout Management

CheckoutManagementDemo.mp4

API Testing (Swagger, Console Logging)

API.-.01.mp4

About

Library Manager is a cross-platform application designed to streamline and simplify the management of library resources.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages