# lalitdubey-glitch/naxora architecture

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

- Interactive diagram: https://gitdiagram.com/lalitdubey-glitch/naxora
- Repository: https://github.com/lalitdubey-glitch/naxora

## Overview

Naxora is an ASP.NET Core MVC storefront with customer accounts, a nested product catalog, cart operations, and an administrator portal. Shoppers browse or filter the catalog and manage cart items through the product endpoints; account actions cover registration, login, profile changes, and password recovery. Administrators manage users, categories, subcategories, and products, including image processing. The excerpts show controller-to-service calls and stored-procedure access; README statements support the documented browser workflows. Database internals and some view-to-endpoint wiring were not sampled, so those connections are limited to documented relationships.

Main entry points: [`Naxora/Controllers/ProductsController.cs`](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Controllers/ProductsController.cs) (Catalog and cart endpoints), [`Naxora/Controllers/HomeController.cs`](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Controllers/HomeController.cs) (Accounts and home), [`Naxora/Models/DbLayer.cs`](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/DbLayer.cs) (Stored-procedure data layer), [`Naxora/Controllers/AdminController.cs`](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Controllers/AdminController.cs) (Admin workflows)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Storefront and accounts"]
  node_home_controller["Accounts and home<br/>[HomeController.cs]"]
  node_home_views["Home views"]
  node_signup_model["Sign-up data<br/>[SignUpModel.cs]"]
  node_login_model["Login data<br/>[LoginModel.cs]"]
  node_edit_user_model["Profile data<br/>[EditUserModel.cs]"]
end

subgraph group_catalog["Catalog and cart"]
  node_products_controller["Catalog and cart endpoints"]
  node_product_views["Catalog views"]
  node_product_model["Product data<br/>[ProductModel.cs]"]
  node_category_model["Category data<br/>[CategoryModel.cs]"]
  node_subcategory_model["Subcategory data<br/>[SubCatModel.cs]"]
  node_product_js["Cart handlers<br/>[products.js]"]
end

subgraph group_admin["Administration"]
  node_admin_controller["Admin workflows<br/>[AdminController.cs]"]
  node_admin_view["Admin dashboard<br/>[Index.cshtml]"]
  node_category_js["Category handlers<br/>[Category.js]"]
  node_subcategory_js["Subcategory handlers<br/>[SubCategory.js]"]
  node_admin_js["Dashboard handlers<br/>[admin.js]"]
end

subgraph group_services["Application services"]
  node_db_layer["Stored-procedure data layer<br/>[DbLayer.cs]"]
  node_sql_server[("SQL Server")]
  node_image_resizer["Image processing"]
  node_uploads[("Uploaded images")]
  node_email_service["Email service<br/>[EmailService.cs]"]
  node_smtp["SMTP service"]
end

node_shopper(("Shopper"))
node_administrator(("Administrator"))

node_shopper -->|"uses accounts"| node_home_controller
node_home_controller -.->|"renders"| node_home_views
node_home_controller -->|"accepts"| node_signup_model
node_home_controller -->|"accepts"| node_login_model
node_home_controller -->|"accepts"| node_edit_user_model
node_home_controller -->|"queries"| node_db_layer
node_home_controller -->|"sends reset email"| node_email_service
node_shopper -->|"browses catalog"| node_product_views
node_product_views -.->|"requests catalog"| node_products_controller
node_products_controller -->|"queries"| node_db_layer
node_products_controller -->|"resizes images"| node_image_resizer
node_products_controller -->|"accepts product data"| node_product_model
node_products_controller -->|"uses category data"| node_category_model
node_products_controller -->|"uses subcategory data"| node_subcategory_model
node_shopper -->|"manages cart"| node_product_js
node_product_js -.->|"requests cart actions"| node_products_controller
node_administrator -->|"manages inventory"| node_admin_view
node_admin_view -->|"uses admin workflows"| node_admin_controller
node_admin_controller -->|"queries users"| node_db_layer
node_administrator -->|"manages categories"| node_category_js
node_administrator -->|"manages subcategories"| node_subcategory_js
node_administrator -->|"uses dashboard handlers"| node_admin_js
node_category_js -.->|"sends taxonomy requests"| node_products_controller
node_subcategory_js -.->|"sends taxonomy requests"| node_products_controller
node_admin_js -.->|"sends admin requests"| node_admin_controller
node_db_layer -->|"executes procedures"| node_sql_server
node_image_resizer -->|"saves images"| node_uploads
node_email_service -->|"sends mail"| node_smtp

click node_home_controller "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Controllers/HomeController.cs"
click node_home_views "https://github.com/lalitdubey-glitch/naxora/tree/main/Naxora/Views/Home"
click node_signup_model "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/SignUpModel.cs"
click node_login_model "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/LoginModel.cs"
click node_edit_user_model "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/EditUserModel.cs"
click node_products_controller "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Controllers/ProductsController.cs"
click node_product_views "https://github.com/lalitdubey-glitch/naxora/tree/main/Naxora/Views/Products"
click node_product_model "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/ProductModel.cs"
click node_category_model "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/CategoryModel.cs"
click node_subcategory_model "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/SubCatModel.cs"
click node_product_js "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/wwwroot/js/products.js"
click node_admin_controller "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Controllers/AdminController.cs"
click node_admin_view "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Views/Admin/Index.cshtml"
click node_category_js "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/wwwroot/js/Category.js"
click node_subcategory_js "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/wwwroot/js/SubCategory.js"
click node_admin_js "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/wwwroot/js/admin.js"
click node_db_layer "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/DbLayer.cs"
click node_image_resizer "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/ImageResizerHelper.cs"
click node_uploads "https://github.com/lalitdubey-glitch/naxora/tree/main/Naxora/wwwroot/Uploads"
click node_email_service "https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/EmailService.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_home_controller,node_home_views,node_signup_model,node_login_model,node_edit_user_model toneBlue
class node_products_controller,node_product_views,node_product_model,node_category_model,node_subcategory_model,node_product_js toneAmber
class node_admin_controller,node_admin_view,node_category_js,node_subcategory_js,node_admin_js toneMint
class node_db_layer,node_sql_server,node_image_resizer,node_uploads,node_email_service,node_smtp toneRose
class node_shopper,node_administrator toneIndigo
```

## Components

### Storefront and accounts

- [Accounts and home](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Controllers/HomeController.cs): `Naxora/Controllers/HomeController.cs`
- [Home views](https://github.com/lalitdubey-glitch/naxora/tree/main/Naxora/Views/Home): `Naxora/Views/Home`
- [Sign-up data](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/SignUpModel.cs): `Naxora/Models/SignUpModel.cs`
- [Login data](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/LoginModel.cs): `Naxora/Models/LoginModel.cs`
- [Profile data](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/EditUserModel.cs): `Naxora/Models/EditUserModel.cs`

### Catalog and cart

- [Catalog and cart endpoints](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Controllers/ProductsController.cs): `Naxora/Controllers/ProductsController.cs`
- [Catalog views](https://github.com/lalitdubey-glitch/naxora/tree/main/Naxora/Views/Products): `Naxora/Views/Products`
- [Product data](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/ProductModel.cs): `Naxora/Models/ProductModel.cs`
- [Category data](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/CategoryModel.cs): `Naxora/Models/CategoryModel.cs`
- [Subcategory data](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/SubCatModel.cs): `Naxora/Models/SubCatModel.cs`
- [Cart handlers](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/wwwroot/js/products.js): `Naxora/wwwroot/js/products.js`

### Administration

- [Admin workflows](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Controllers/AdminController.cs): `Naxora/Controllers/AdminController.cs`
- [Admin dashboard](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Views/Admin/Index.cshtml): `Naxora/Views/Admin/Index.cshtml`
- [Category handlers](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/wwwroot/js/Category.js): `Naxora/wwwroot/js/Category.js`
- [Subcategory handlers](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/wwwroot/js/SubCategory.js): `Naxora/wwwroot/js/SubCategory.js`
- [Dashboard handlers](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/wwwroot/js/admin.js): `Naxora/wwwroot/js/admin.js`

### Application services

- [Stored-procedure data layer](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/DbLayer.cs): `Naxora/Models/DbLayer.cs`
- **SQL Server**
- [Image processing](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/ImageResizerHelper.cs): `Naxora/Models/ImageResizerHelper.cs`
- [Uploaded images](https://github.com/lalitdubey-glitch/naxora/tree/main/Naxora/wwwroot/Uploads): `Naxora/wwwroot/Uploads`
- [Email service](https://github.com/lalitdubey-glitch/naxora/blob/main/Naxora/Models/EmailService.cs): `Naxora/Models/EmailService.cs`
- **SMTP service**

### Other components

- **Shopper**
- **Administrator**

## Connections

- Shopper → Accounts and home: uses accounts (evidence: `README.md`)
- Accounts and home → Home views: renders
- Accounts and home → Sign-up data: accepts (evidence: `Naxora/Controllers/HomeController.cs`)
- Accounts and home → Login data: accepts (evidence: `Naxora/Controllers/HomeController.cs`)
- Accounts and home → Profile data: accepts (evidence: `Naxora/Controllers/HomeController.cs`)
- Accounts and home → Stored-procedure data layer: queries (evidence: `Naxora/Controllers/HomeController.cs`)
- Accounts and home → Email service: sends reset email (evidence: `Naxora/Controllers/HomeController.cs`)
- Shopper → Catalog views: browses catalog (evidence: `README.md`)
- Catalog views → Catalog and cart endpoints: requests catalog
- Catalog and cart endpoints → Stored-procedure data layer: queries (evidence: `Naxora/Controllers/ProductsController.cs`)
- Catalog and cart endpoints → Image processing: resizes images (evidence: `Naxora/Controllers/ProductsController.cs`)
- Catalog and cart endpoints → Product data: accepts product data (evidence: `Naxora/Controllers/ProductsController.cs`)
- Catalog and cart endpoints → Category data: uses category data (evidence: `Naxora/Controllers/ProductsController.cs`)
- Catalog and cart endpoints → Subcategory data: uses subcategory data (evidence: `Naxora/Controllers/ProductsController.cs`)
- Shopper → Cart handlers: manages cart (evidence: `README.md`)
- Cart handlers → Catalog and cart endpoints: requests cart actions
- Administrator → Admin dashboard: manages inventory (evidence: `README.md`)
- Admin dashboard → Admin workflows: uses admin workflows (evidence: `README.md`)
- Admin workflows → Stored-procedure data layer: queries users (evidence: `Naxora/Controllers/AdminController.cs`)
- Administrator → Category handlers: manages categories (evidence: `README.md`)
- Administrator → Subcategory handlers: manages subcategories (evidence: `README.md`)
- Administrator → Dashboard handlers: uses dashboard handlers (evidence: `README.md`)
- Category handlers → Catalog and cart endpoints: sends taxonomy requests
- Subcategory handlers → Catalog and cart endpoints: sends taxonomy requests
- Dashboard handlers → Admin workflows: sends admin requests
- Stored-procedure data layer → SQL Server: executes procedures (evidence: `README.md`)
- Image processing → Uploaded images: saves images (evidence: `Naxora/Models/ImageResizerHelper.cs`)
- Email service → SMTP service: sends mail (evidence: `Naxora/Models/EmailService.cs`)
