# rudrasalokhe/dealinbox architecture

> Architecture diagram of the GitHub repository rudrasalokhe/dealinbox, 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/rudrasalokhe/dealinbox
- Repository: https://github.com/rudrasalokhe/dealinbox

## Overview

DealInbox is a creator brand-deal inbox: creators publish a public brief form, brands submit enquiries, and creators manage deal status and responses in a dashboard. The product also documents brand tracking, analytics/CSV export, AI reply templates, positioning, negotiation replay, heatmaps, and paid plans. The Flask backend is a single sampled-as-a-whole module; backend internals and several page-to-API calls are not evidenced in the excerpts, so those links are omitted or grounded in README statements.

Main entry points: [`frontend/src/App.jsx`](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/App.jsx) (Application routes), [`app.py`](https://github.com/rudrasalokhe/dealinbox/blob/main/app.py) (Flask application), [`frontend/src/pages/PublicPage.jsx`](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/PublicPage.jsx) (Public enquiry page), [`frontend/src/pages/LandingPage.jsx`](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/LandingPage.jsx) (Landing page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Public entry"]
  node_landing["Landing page<br/>[LandingPage.jsx]"]
  node_signup["Signup<br/>[SignupPage.jsx]"]
  node_public_form["Public enquiry page<br/>[PublicPage.jsx]"]
  node_brand_tracking["Brand tracking"]
end

subgraph group_workspace["Deal workspace"]
  node_dashboard["Deal dashboard<br/>[DashboardPage.jsx]"]
  node_enquiries["Enquiry pipeline<br/>[EnquiriesPage.jsx]"]
  node_deal_detail["Deal details"]
  node_response["Response studio<br/>[ResponsePage.jsx]"]
  node_replay["Negotiation replay"]
end

subgraph group_insights["Creator insights"]
  node_analytics["Analytics and export<br/>[AnalyticsPage.jsx]"]
  node_heatmap["Deal heatmap<br/>[HeatmapPage.jsx]"]
  node_positioning["Creator positioning"]
end

subgraph group_platform["Platform services"]
  node_auth["Authentication state<br/>[AuthContext.jsx]"]
  node_router["Application routes<br/>[App.jsx]"]
  node_backend["Flask application<br/>[app.py]"]
  node_mongo[("MongoDB Atlas")]
  node_payments["Razorpay payments"]
  node_upgrade["Plan upgrade<br/>[UpgradePage.jsx]"]
end

node_creator(("Creator"))
node_brand(("Brand"))

node_creator -->|"visits"| node_landing
node_landing -->|"starts signup"| node_signup
node_creator -->|"publishes link"| node_public_form
node_brand -->|"submits brief"| node_public_form
node_brand -->|"tracks enquiry"| node_brand_tracking
node_public_form -.->|"submits enquiry"| node_backend
node_brand_tracking -.->|"requests status"| node_backend
node_signup -->|"signs up"| node_auth
node_auth -->|"calls auth API"| node_backend
node_router -->|"provides auth"| node_auth
node_router -->|"routes to"| node_landing
node_router -->|"routes to"| node_public_form
node_router -->|"routes to"| node_brand_tracking
node_router -->|"routes to"| node_dashboard
node_router -->|"routes to"| node_enquiries
node_router -->|"routes to"| node_deal_detail
node_router -->|"routes to"| node_response
node_router -->|"routes to"| node_replay
node_router -->|"routes to"| node_analytics
node_router -->|"routes to"| node_heatmap
node_router -->|"routes to"| node_positioning
node_router -->|"routes to"| node_upgrade
node_creator -->|"manages deals"| node_dashboard
node_backend -.->|"stores product data"| node_mongo
node_upgrade -.->|"pays for Pro"| node_payments
node_backend -.->|"integrates payments"| node_payments

click node_landing "https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/LandingPage.jsx"
click node_signup "https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/SignupPage.jsx"
click node_public_form "https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/PublicPage.jsx"
click node_brand_tracking "https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/BrandPortalPage.jsx"
click node_auth "https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/context/AuthContext.jsx"
click node_router "https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/App.jsx"
click node_backend "https://github.com/rudrasalokhe/dealinbox/blob/main/app.py"
click node_dashboard "https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/DashboardPage.jsx"
click node_enquiries "https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/EnquiriesPage.jsx"
click node_deal_detail "https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/EnquiryDetailPage.jsx"
click node_response "https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/ResponsePage.jsx"
click node_replay "https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/NegotiationReplayPage.jsx"
click node_analytics "https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/AnalyticsPage.jsx"
click node_heatmap "https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/HeatmapPage.jsx"
click node_positioning "https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/PositioningPage.jsx"
click node_upgrade "https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/UpgradePage.jsx"

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_landing,node_signup,node_public_form,node_brand_tracking toneBlue
class node_dashboard,node_enquiries,node_deal_detail,node_response,node_replay toneAmber
class node_analytics,node_heatmap,node_positioning toneMint
class node_auth,node_router,node_backend,node_mongo,node_payments,node_upgrade toneRose
class node_creator,node_brand toneIndigo
```

## Components

### Public entry

- [Landing page](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/LandingPage.jsx): `frontend/src/pages/LandingPage.jsx`
- [Signup](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/SignupPage.jsx): `frontend/src/pages/SignupPage.jsx`
- [Public enquiry page](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/PublicPage.jsx): `frontend/src/pages/PublicPage.jsx`
- [Brand tracking](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/BrandPortalPage.jsx): `frontend/src/pages/BrandPortalPage.jsx`

### Deal workspace

- [Deal dashboard](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/DashboardPage.jsx): `frontend/src/pages/DashboardPage.jsx`
- [Enquiry pipeline](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/EnquiriesPage.jsx): `frontend/src/pages/EnquiriesPage.jsx`
- [Deal details](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/EnquiryDetailPage.jsx): `frontend/src/pages/EnquiryDetailPage.jsx`
- [Response studio](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/ResponsePage.jsx): `frontend/src/pages/ResponsePage.jsx`
- [Negotiation replay](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/NegotiationReplayPage.jsx): `frontend/src/pages/NegotiationReplayPage.jsx`

### Creator insights

- [Analytics and export](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/AnalyticsPage.jsx): `frontend/src/pages/AnalyticsPage.jsx`
- [Deal heatmap](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/HeatmapPage.jsx): `frontend/src/pages/HeatmapPage.jsx`
- [Creator positioning](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/PositioningPage.jsx): `frontend/src/pages/PositioningPage.jsx`

### Platform services

- [Authentication state](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/context/AuthContext.jsx): `frontend/src/context/AuthContext.jsx`
- [Application routes](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/App.jsx): `frontend/src/App.jsx`
- [Flask application](https://github.com/rudrasalokhe/dealinbox/blob/main/app.py): `app.py`
- **MongoDB Atlas**
- **Razorpay payments**
- [Plan upgrade](https://github.com/rudrasalokhe/dealinbox/blob/main/frontend/src/pages/UpgradePage.jsx): `frontend/src/pages/UpgradePage.jsx`

### Other components

- **Creator**
- **Brand**

## Connections

- Creator → Landing page: visits (evidence: `README.md`)
- Landing page → Signup: starts signup (evidence: `frontend/src/pages/LandingPage.jsx`)
- Creator → Public enquiry page: publishes link (evidence: `README.md`)
- Brand → Public enquiry page: submits brief (evidence: `README.md`)
- Brand → Brand tracking: tracks enquiry (evidence: `README.md`)
- Public enquiry page → Flask application: submits enquiry (evidence: `README.md`)
- Brand tracking → Flask application: requests status (evidence: `README.md`)
- Signup → Authentication state: signs up (evidence: `frontend/src/pages/SignupPage.jsx`)
- Authentication state → Flask application: calls auth API (evidence: `frontend/src/context/AuthContext.jsx`)
- Application routes → Authentication state: provides auth (evidence: `frontend/src/App.jsx`)
- Application routes → Landing page: routes to (evidence: `frontend/src/App.jsx`)
- Application routes → Public enquiry page: routes to (evidence: `frontend/src/App.jsx`)
- Application routes → Brand tracking: routes to (evidence: `frontend/src/App.jsx`)
- Application routes → Deal dashboard: routes to (evidence: `frontend/src/App.jsx`)
- Application routes → Enquiry pipeline: routes to (evidence: `frontend/src/App.jsx`)
- Application routes → Deal details: routes to (evidence: `frontend/src/App.jsx`)
- Application routes → Response studio: routes to (evidence: `frontend/src/App.jsx`)
- Application routes → Negotiation replay: routes to (evidence: `frontend/src/App.jsx`)
- Application routes → Analytics and export: routes to (evidence: `frontend/src/App.jsx`)
- Application routes → Deal heatmap: routes to (evidence: `frontend/src/App.jsx`)
- Application routes → Creator positioning: routes to (evidence: `frontend/src/App.jsx`)
- Application routes → Plan upgrade: routes to (evidence: `frontend/src/App.jsx`)
- Creator → Deal dashboard: manages deals (evidence: `README.md`)
- Flask application → MongoDB Atlas: stores product data (evidence: `README.md`)
- Plan upgrade → Razorpay payments: pays for Pro (evidence: `README.md`)
- Flask application → Razorpay payments: integrates payments (evidence: `README.md`)
