# marslanakram/naanomvp architecture

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

- Interactive diagram: https://gitdiagram.com/marslanakram/naanomvp
- Repository: https://github.com/marslanakram/naanomvp

## Overview

NaanoRebuild is an ASP.NET MVC creator-marketing marketplace and campaign manager. A user browses and filters creators, views profiles, and can attach creators to existing campaigns or create a campaign with selected creators; campaign details and an aggregate performance dashboard provide follow-up views. Controllers own service calls, while services query or update the EF Core context backed by SQL Server. The tree and sampled sources support these workflows; no README describes additional capabilities, and unsampled view details are not inferred.

Main entry points: [`NaanoRebuild/Program.cs`](https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Program.cs) (MVC routing), [`NaanoRebuild/Services/CreatorService.cs`](https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Services/CreatorService.cs) (Creator service), [`NaanoRebuild/Controllers/CampaignsController.cs`](https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Controllers/CampaignsController.cs) (Campaign controller), [`NaanoRebuild/Data/ApplicationDbContext.cs`](https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Data/ApplicationDbContext.cs) (EF Core context)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_creator["Creator marketplace"]
  node_home["Home controller<br/>[HomeController.cs]"]
  node_creators["Creators controller"]
  node_creator_service["Creator service<br/>[CreatorService.cs]"]
  node_creator_views["Creator views"]
  node_home_view["Home view<br/>[Index.cshtml]"]
end

subgraph group_campaign["Campaign management"]
  node_campaign_controller["Campaign controller"]
  node_campaign_service["Campaign service<br/>[CampaignService.cs]"]
  node_campaign_views["Campaign views"]
end

subgraph group_insights["Performance dashboard"]
  node_dashboard_controller["Dashboard controller"]
  node_dashboard_service["Dashboard service"]
  node_dashboard_view["Dashboard view<br/>[Index.cshtml]"]
end

subgraph group_runtime["Web and persistence"]
  node_routing["MVC routing<br/>[Program.cs]"]
  node_domain["Creator and campaign data"]
  node_context["EF Core context"]
  node_sql[("SQL Server")]
end

node_user(("User"))

node_user -->|"sends requests"| node_routing
node_routing -->|"dispatches"| node_home
node_routing -->|"dispatches"| node_creators
node_routing -->|"dispatches"| node_campaign_controller
node_routing -->|"dispatches"| node_dashboard_controller
node_home -->|"queries creators"| node_creator_service
node_creators -->|"searches creators"| node_creator_service
node_creators -->|"renders"| node_creator_views
node_home -->|"renders"| node_home_view
node_campaign_controller -->|"loads creators"| node_creator_service
node_campaign_controller -->|"manages campaigns"| node_campaign_service
node_campaign_controller -->|"renders"| node_campaign_views
node_dashboard_controller -->|"requests summary"| node_dashboard_service
node_dashboard_controller -->|"renders"| node_dashboard_view
node_creator_service -->|"queries"| node_context
node_campaign_service -->|"reads and writes"| node_context
node_dashboard_service -->|"aggregates"| node_context
node_context -->|"persists data"| node_sql
node_creator_service -->|"uses entities"| node_domain
node_campaign_service -->|"uses entities"| node_domain

click node_routing "https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Program.cs"
click node_home "https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Controllers/HomeController.cs"
click node_creators "https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Controllers/CreatorsController.cs"
click node_creator_service "https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Services/CreatorService.cs"
click node_creator_views "https://github.com/marslanakram/naanomvp/tree/master/NaanoRebuild/Views/Creators"
click node_home_view "https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Views/Home/Index.cshtml"
click node_campaign_controller "https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Controllers/CampaignsController.cs"
click node_campaign_service "https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Services/CampaignService.cs"
click node_campaign_views "https://github.com/marslanakram/naanomvp/tree/master/NaanoRebuild/Views/Campaigns"
click node_dashboard_controller "https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Controllers/DashboardController.cs"
click node_dashboard_service "https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Services/DashboardService.cs"
click node_dashboard_view "https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Views/Dashboard/Index.cshtml"
click node_domain "https://github.com/marslanakram/naanomvp/tree/master/NaanoRebuild/Models"
click node_context "https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Data/ApplicationDbContext.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,node_creators,node_creator_service,node_creator_views,node_home_view,node_user toneBlue
class node_campaign_controller,node_campaign_service,node_campaign_views toneAmber
class node_dashboard_controller,node_dashboard_service,node_dashboard_view toneMint
class node_routing,node_domain,node_context,node_sql toneRose
```

## Components

### Creator marketplace

- [Home controller](https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Controllers/HomeController.cs): `NaanoRebuild/Controllers/HomeController.cs`
- [Creators controller](https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Controllers/CreatorsController.cs): `NaanoRebuild/Controllers/CreatorsController.cs`
- [Creator service](https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Services/CreatorService.cs): `NaanoRebuild/Services/CreatorService.cs`
- [Creator views](https://github.com/marslanakram/naanomvp/tree/master/NaanoRebuild/Views/Creators): `NaanoRebuild/Views/Creators`
- [Home view](https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Views/Home/Index.cshtml): `NaanoRebuild/Views/Home/Index.cshtml`

### Campaign management

- [Campaign controller](https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Controllers/CampaignsController.cs): `NaanoRebuild/Controllers/CampaignsController.cs`
- [Campaign service](https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Services/CampaignService.cs): `NaanoRebuild/Services/CampaignService.cs`
- [Campaign views](https://github.com/marslanakram/naanomvp/tree/master/NaanoRebuild/Views/Campaigns): `NaanoRebuild/Views/Campaigns`

### Performance dashboard

- [Dashboard controller](https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Controllers/DashboardController.cs): `NaanoRebuild/Controllers/DashboardController.cs`
- [Dashboard service](https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Services/DashboardService.cs): `NaanoRebuild/Services/DashboardService.cs`
- [Dashboard view](https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Views/Dashboard/Index.cshtml): `NaanoRebuild/Views/Dashboard/Index.cshtml`

### Web and persistence

- [MVC routing](https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Program.cs): `NaanoRebuild/Program.cs`
- [Creator and campaign data](https://github.com/marslanakram/naanomvp/tree/master/NaanoRebuild/Models): `NaanoRebuild/Models`
- [EF Core context](https://github.com/marslanakram/naanomvp/blob/master/NaanoRebuild/Data/ApplicationDbContext.cs): `NaanoRebuild/Data/ApplicationDbContext.cs`
- **SQL Server**

### Other components

- **User**

## Connections

- User → MVC routing: sends requests
- MVC routing → Home controller: dispatches
- MVC routing → Creators controller: dispatches
- MVC routing → Campaign controller: dispatches
- MVC routing → Dashboard controller: dispatches
- Home controller → Creator service: queries creators
- Creators controller → Creator service: searches creators
- Creators controller → Creator views: renders
- Home controller → Home view: renders
- Campaign controller → Creator service: loads creators
- Campaign controller → Campaign service: manages campaigns
- Campaign controller → Campaign views: renders
- Dashboard controller → Dashboard service: requests summary
- Dashboard controller → Dashboard view: renders
- Creator service → EF Core context: queries
- Campaign service → EF Core context: reads and writes
- Dashboard service → EF Core context: aggregates
- EF Core context → SQL Server: persists data
- Creator service → Creator and campaign data: uses entities
- Campaign service → Creator and campaign data: uses entities
