# sonikaaalla/stepin_librarymanagmentsystem architecture

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

- Interactive diagram: https://gitdiagram.com/sonikaaalla/stepin_librarymanagmentsystem
- Repository: https://github.com/sonikaaalla/stepin_librarymanagmentsystem

## Overview

This is a small C library-management application. A user selects an operation in the menu; the entry point dispatches book add, delete, view, search, or issue actions. These operations use a binary book file, with deletion rewriting it through a temporary file. The README also describes member search, book returns, and late fines, but those workflows are not present in the sampled implementation; they are shown as documented, unverified capabilities. The graph reflects sampled source and README evidence only.

Main entry points: [`3_Implementation/main.c`](https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/main.c) (Menu dispatcher), [`3_Implementation/src/Addbook.c`](https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/src/Addbook.c) (Add books), [`3_Implementation/src/Deletebook.c`](https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/src/Deletebook.c) (Delete books), [`3_Implementation/src/viewbooks.c`](https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/src/viewbooks.c) (View books)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Library application"]
  node_menu["Menu dispatcher<br/>[main.c]"]
  node_book_model["Book model and API"]
end

subgraph group_records["Book records"]
  node_add["Add books<br/>[Addbook.c]"]
  node_delete["Delete books<br/>[Deletebook.c]"]
  node_view["View books<br/>[viewbooks.c]"]
  node_search["Search books<br/>[Searchbook.c]"]
  node_issue["Issue books<br/>[issuebook.c]"]
  node_book_file[("Book data file")]
end

subgraph group_docs["Documented workflows"]
  node_circulation_docs["Returns and fines"]
end

node_user(("Library user"))

node_user -->|"chooses operation"| node_menu
node_menu -->|"calls addition"| node_add
node_menu -->|"calls deletebook"| node_delete
node_menu -->|"calls viewbook"| node_view
node_menu -->|"calls searchbook"| node_search
node_menu -->|"calls issuebook"| node_issue
node_add -->|"appends records"| node_book_file
node_delete -->|"rewrites records"| node_book_file
node_view -->|"reads records"| node_book_file
node_search -->|"searches records"| node_book_file
node_issue -->|"checks availability"| node_book_file
node_user -.->|"uses documented features"| node_circulation_docs

click node_menu "https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/main.c"
click node_book_model "https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/inc/library_Managment_system.h"
click node_add "https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/src/Addbook.c"
click node_delete "https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/src/Deletebook.c"
click node_view "https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/src/viewbooks.c"
click node_search "https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/src/Searchbook.c"
click node_issue "https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/src/issuebook.c"
click node_circulation_docs "https://github.com/sonikaaalla/stepin_librarymanagmentsystem/tree/main/3_Implementation"

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_menu,node_book_model,node_user toneBlue
class node_add,node_delete,node_view,node_search,node_issue,node_book_file toneAmber
class node_circulation_docs toneMint
```

## Components

### Library application

- [Menu dispatcher](https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/main.c): `3_Implementation/main.c`
- [Book model and API](https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/inc/library_Managment_system.h): `3_Implementation/inc/library_Managment_system.h`

### Book records

- [Add books](https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/src/Addbook.c): `3_Implementation/src/Addbook.c`
- [Delete books](https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/src/Deletebook.c): `3_Implementation/src/Deletebook.c`
- [View books](https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/src/viewbooks.c): `3_Implementation/src/viewbooks.c`
- [Search books](https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/src/Searchbook.c): `3_Implementation/src/Searchbook.c`
- [Issue books](https://github.com/sonikaaalla/stepin_librarymanagmentsystem/blob/main/3_Implementation/src/issuebook.c): `3_Implementation/src/issuebook.c`
- **Book data file**

### Documented workflows

- [Returns and fines](https://github.com/sonikaaalla/stepin_librarymanagmentsystem/tree/main/3_Implementation): `3_Implementation`

### Other components

- **Library user**

## Connections

- Library user → Menu dispatcher: chooses operation (evidence: `3_Implementation/main.c`)
- Menu dispatcher → Add books: calls addition (evidence: `3_Implementation/main.c`)
- Menu dispatcher → Delete books: calls deletebook (evidence: `3_Implementation/main.c`)
- Menu dispatcher → View books: calls viewbook (evidence: `3_Implementation/main.c`)
- Menu dispatcher → Search books: calls searchbook (evidence: `3_Implementation/main.c`)
- Menu dispatcher → Issue books: calls issuebook (evidence: `3_Implementation/main.c`)
- Add books → Book data file: appends records (evidence: `3_Implementation/src/Addbook.c`)
- Delete books → Book data file: rewrites records (evidence: `3_Implementation/src/Deletebook.c`)
- View books → Book data file: reads records (evidence: `3_Implementation/src/viewbooks.c`)
- Search books → Book data file: searches records (evidence: `3_Implementation/src/Searchbook.c`)
- Issue books → Book data file: checks availability (evidence: `3_Implementation/src/issuebook.c`)
- Library user → Returns and fines: uses documented features (evidence: `README.md`)
