Skip to content

Windows library application. Performs accounting and issuing of books.

Notifications You must be signed in to change notification settings

AlexPol1ak/Library

Repository files navigation

📚 “Library” desktop application for Windows

"Library" is an application for efficient management of book collections and book requests. It supports both local and remote database connectivity (using MySQL as the database), making it a flexible solution for a variety of library needs.

📝 Project Description

This application allows you to register and process book requests, keep records of books issued, and organize a queue for popular titles when all copies are checked out. The program also provides functions for managing readers and book stock, along with building analytical charts for deeper insights.

🚀 Main Features

  • Reader Management: register new readers, delete users.
  • Book Collection Management: add and remove books from the library.
  • Request Management: create requests, fulfill or queue requests, delete requests.
  • Analytics: create charts to analyze book collection and user activity.

📂 Project Structure

The project is organized into several key packages to separate concerns and streamline functionality:

  • Library.Domain - Contains domain entities and interfaces related to the library's core functions.
  • Library.DAL - Data Access Layer (DAL) responsible for managing database interactions.
  • Library.Business - Business logic layer implementing the application's algorithms and core processes.

⚙️ Technologies and Libraries Used

  • Language and Framework: C#, WPF
  • Database: MySQL (supports local and remote database connections)
  • Libraries:

🧩 Design Patterns Used

  • MVVM (Model-View-ViewModel) - for separating logic and interface.
  • Repository - to control access to data.
  • Factory - for creating object instances.
  • Unit of Work - to manage transactions and data consistency.

App Animation

Note: The animation above showcases the key features of the application in action.