# hasanofz/simple-library-management-system architecture

> Architecture diagram of the GitHub repository hasanofz/simple-library-management-system, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/hasanofz/simple-library-management-system
- Repository: https://github.com/hasanofz/simple-library-management-system

## Overview

This is a small C# console library manager. The user selects catalog, member, borrowing, or return operations in Program; Library owns the in-memory book and member collections, while Member tracks borrowed books and updates each Book’s availability. The excerpts show the principal calls and state changes. The README documents catalog and member management alongside borrowing and returning; no persistent store or external integration is shown.

Main entry points: [`Library Management System/Program.cs`](https://github.com/hasanofz/simple-library-management-system/blob/main/Library%20Management%20System/Program.cs) (Menu and workflows), [`Library Management System/Library.cs`](https://github.com/hasanofz/simple-library-management-system/blob/main/Library%20Management%20System/Library.cs) (Catalog and members), [`Library Management System/Member.cs`](https://github.com/hasanofz/simple-library-management-system/blob/main/Library%20Management%20System/Member.cs) (Member and loans), [`Library Management System/Book.cs`](https://github.com/hasanofz/simple-library-management-system/blob/main/Library%20Management%20System/Book.cs) (Book availability)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_cli["Console interaction"]
  node_program["Menu and workflows<br/>[Program.cs]"]
end

subgraph group_domain["Library domain"]
  node_library["Catalog and members<br/>[Library.cs]"]
  node_member["Member and loans<br/>[Member.cs]"]
  node_book["Book availability<br/>[Book.cs]"]
end

node_user(("Library user"))

node_user -->|"chooses actions"| node_program
node_program -->|"manages records"| node_library
node_program -->|"borrows or returns"| node_member
node_program -->|"creates books"| node_book
node_library -->|"stores and displays"| node_book
node_library -->|"stores and displays"| node_member
node_member -->|"updates loan state"| node_book

click node_program "https://github.com/hasanofz/simple-library-management-system/blob/main/Library%20Management%20System/Program.cs"
click node_library "https://github.com/hasanofz/simple-library-management-system/blob/main/Library%20Management%20System/Library.cs"
click node_member "https://github.com/hasanofz/simple-library-management-system/blob/main/Library%20Management%20System/Member.cs"
click node_book "https://github.com/hasanofz/simple-library-management-system/blob/main/Library%20Management%20System/Book.cs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_program,node_user toneBlue
class node_library,node_member,node_book toneAmber
```

## Components

### Console interaction

- [Menu and workflows](https://github.com/hasanofz/simple-library-management-system/blob/main/Library%20Management%20System/Program.cs): `Library Management System/Program.cs`

### Library domain

- [Catalog and members](https://github.com/hasanofz/simple-library-management-system/blob/main/Library%20Management%20System/Library.cs): `Library Management System/Library.cs`
- [Member and loans](https://github.com/hasanofz/simple-library-management-system/blob/main/Library%20Management%20System/Member.cs): `Library Management System/Member.cs`
- [Book availability](https://github.com/hasanofz/simple-library-management-system/blob/main/Library%20Management%20System/Book.cs): `Library Management System/Book.cs`

### Other components

- **Library user**

## Connections

- Library user → Menu and workflows: chooses actions (evidence: `Library Management System/Program.cs`)
- Menu and workflows → Catalog and members: manages records (evidence: `Library Management System/Program.cs`)
- Menu and workflows → Member and loans: borrows or returns (evidence: `Library Management System/Program.cs`)
- Menu and workflows → Book availability: creates books (evidence: `Library Management System/Program.cs`)
- Catalog and members → Book availability: stores and displays (evidence: `Library Management System/Library.cs`)
- Catalog and members → Member and loans: stores and displays (evidence: `Library Management System/Library.cs`)
- Member and loans → Book availability: updates loan state (evidence: `Library Management System/Member.cs`)
