# sharminrumpa/librarymanagementsystem-mvc architecture

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

- Interactive diagram: https://gitdiagram.com/sharminrumpa/librarymanagementsystem-mvc
- Repository: https://github.com/sharminrumpa/librarymanagementsystem-mvc

## Overview

This is an ASP.NET MVC library-management system. A user reaches book catalog and administration actions through MVC controllers; book listings support search, filtering, sorting, and pagination, while book changes can include image uploads. Separate controller areas cover library reference data, member accounts, profiles, and authentication. Entity Framework and SQL Server are documented as the persistence layer. The tree also contains Popper.js positioning utilities; they are a bundled client-side dependency, not part of the library domain workflow. Unsampled controller internals limit which relationships can be shown confidently.

Main entry points: [`MVC_Project-8th_Module/Controllers/LibraryManagement/BooksController.cs`](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/LibraryManagement/BooksController.cs) (Book catalog), [`MVC_Project-8th_Module/Controllers/AccountController.cs`](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/AccountController.cs) (Authentication), [`MVC_Project-8th_Module/Models/IdentityModels.cs`](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Models/IdentityModels.cs) (Identity entities), [`MVC_Project-8th_Module/Models/LibraryManagement.Context.cs`](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Models/LibraryManagement.Context.cs) (Library context)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_library["Library management"]
  node_books["Book catalog<br/>[BooksController.cs]"]
  node_authors["Authors"]
  node_publishers["Publishers"]
  node_departments["Departments"]
  node_faculties["Faculties"]
  node_details["Library details"]
end

subgraph group_identity["Identity and members"]
  node_account["Authentication"]
  node_account_ops["Account settings"]
  node_members["Member profiles<br/>[UsersController.cs]"]
  node_profile["Profile details"]
  node_roles["Role management<br/>[RoleController.cs]"]
end

subgraph group_persistence["Data model"]
  node_entities["Library entities"]
  node_identity_models["Identity entities<br/>[IdentityModels.cs]"]
  node_library_context[("Library context")]
end

subgraph group_client["Client utilities"]
  node_popper["Popper positioning"]
end

node_visitor(("Library user"))
node_sql[("SQL Server")]

node_visitor -.->|"requests catalog"| node_books
node_books -->|"queries and saves"| node_library_context
node_books -->|"uses book data"| node_entities
node_visitor -.->|"signs in"| node_account
node_account -.->|"authenticates users"| node_identity_models
node_members -->|"manages users"| node_identity_models
node_sql -.->|"persists data"| node_library_context

click node_books "https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/LibraryManagement/BooksController.cs"
click node_authors "https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/LibraryManagement/AuthorsController.cs"
click node_publishers "https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/LibraryManagement/PublishersController.cs"
click node_departments "https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/LibraryManagement/DepartmentsController.cs"
click node_faculties "https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/LibraryManagement/FacultiesController.cs"
click node_details "https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/LibraryManagement/DetailsController.cs"
click node_account "https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/AccountController.cs"
click node_account_ops "https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/ManageController.cs"
click node_members "https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/UsersController.cs"
click node_profile "https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/ProfileController.cs"
click node_roles "https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/RoleController.cs"
click node_entities "https://github.com/sharminrumpa/librarymanagementsystem-mvc/tree/master/MVC_Project-8th_Module/Models"
click node_identity_models "https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Models/IdentityModels.cs"
click node_library_context "https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Models/LibraryManagement.Context.cs"
click node_popper "https://github.com/sharminrumpa/librarymanagementsystem-mvc/tree/master/MVC_Project-8th_Module/Scripts/src"

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_books,node_authors,node_publishers,node_departments,node_faculties,node_details,node_visitor toneBlue
class node_account,node_account_ops,node_members,node_profile,node_roles,node_sql toneAmber
class node_entities,node_identity_models,node_library_context toneMint
class node_popper toneRose
```

## Components

### Library management

- [Book catalog](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/LibraryManagement/BooksController.cs): `MVC_Project-8th_Module/Controllers/LibraryManagement/BooksController.cs`
- [Authors](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/LibraryManagement/AuthorsController.cs): `MVC_Project-8th_Module/Controllers/LibraryManagement/AuthorsController.cs`
- [Publishers](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/LibraryManagement/PublishersController.cs): `MVC_Project-8th_Module/Controllers/LibraryManagement/PublishersController.cs`
- [Departments](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/LibraryManagement/DepartmentsController.cs): `MVC_Project-8th_Module/Controllers/LibraryManagement/DepartmentsController.cs`
- [Faculties](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/LibraryManagement/FacultiesController.cs): `MVC_Project-8th_Module/Controllers/LibraryManagement/FacultiesController.cs`
- [Library details](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/LibraryManagement/DetailsController.cs): `MVC_Project-8th_Module/Controllers/LibraryManagement/DetailsController.cs`

### Identity and members

- [Authentication](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/AccountController.cs): `MVC_Project-8th_Module/Controllers/AccountController.cs`
- [Account settings](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/ManageController.cs): `MVC_Project-8th_Module/Controllers/ManageController.cs`
- [Member profiles](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/UsersController.cs): `MVC_Project-8th_Module/Controllers/UsersController.cs`
- [Profile details](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/ProfileController.cs): `MVC_Project-8th_Module/Controllers/ProfileController.cs`
- [Role management](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Controllers/RoleController.cs): `MVC_Project-8th_Module/Controllers/RoleController.cs`

### Data model

- [Library entities](https://github.com/sharminrumpa/librarymanagementsystem-mvc/tree/master/MVC_Project-8th_Module/Models): `MVC_Project-8th_Module/Models`
- [Identity entities](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Models/IdentityModels.cs): `MVC_Project-8th_Module/Models/IdentityModels.cs`
- [Library context](https://github.com/sharminrumpa/librarymanagementsystem-mvc/blob/master/MVC_Project-8th_Module/Models/LibraryManagement.Context.cs): `MVC_Project-8th_Module/Models/LibraryManagement.Context.cs`

### Client utilities

- [Popper positioning](https://github.com/sharminrumpa/librarymanagementsystem-mvc/tree/master/MVC_Project-8th_Module/Scripts/src): `MVC_Project-8th_Module/Scripts/src`

### Other components

- **Library user**
- **SQL Server**

## Connections

- Library user → Book catalog: requests catalog
- Book catalog → Library context: queries and saves (evidence: `MVC_Project-8th_Module/Controllers/LibraryManagement/BooksController.cs`)
- Book catalog → Library entities: uses book data (evidence: `MVC_Project-8th_Module/Controllers/LibraryManagement/BooksController.cs`)
- Library user → Authentication: signs in (evidence: `MVC_Project-8th_Module/Controllers/AccountController.cs`)
- Authentication → Identity entities: authenticates users
- Member profiles → Identity entities: manages users (evidence: `MVC_Project-8th_Module/Controllers/UsersController.cs`)
- SQL Server → Library context: persists data
