# web3-fatec-olimpia-2026-2/hub_central_marketplace architecture

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

- Interactive diagram: https://gitdiagram.com/web3-fatec-olimpia-2026-2/hub_central_marketplace
- Repository: https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace

## Overview

WEB III is a multi-tenant marketplace management hub. Operators enter through Django routes to manage stores and catalog data, assess campaign profitability, and synchronize marketplace activity; incoming order events can trigger order processing and stock deductions. The README also highlights real-time inventory synchronization, while app descriptions identify channel connectors and finance features. Sampled code confirms webhook order handling, transactional stock updates and audit logging; most view-to-service wiring and the sync/calculator internals were not sampled, so those connections are shown only where supported by the documented product structure.

Main entry points: [`hub/urls.py`](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/hub/urls.py) (Django routing), [`apps/marketplaces/services.py`](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/marketplaces/services.py) (Order processing), [`apps/tenancy/views.py`](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/tenancy/views.py) (Tenant access), [`apps/marketplaces/connectors/factory.py`](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/marketplaces/connectors/factory.py) (Marketplace connectors)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_tenancy["Tenancy &amp; Access"]
  node_tenant_ui["Tenant access<br/>[views.py]"]
  node_tenant_data[("Tenant &amp; identity<br/>[models.py]")]
  node_permissions["Access control<br/>[permissions.py]"]
end

subgraph group_catalog["Catalog &amp; Ads"]
  node_catalog_ui["Catalog interface<br/>[views.py]"]
  node_catalog_data[("Products &amp; prices<br/>[models.py]")]
  node_ad_ui["Ads &amp; kits<br/>[views.py]"]
  node_ad_data[("Ad compositions<br/>[models.py]")]
  node_inventory[("Inventory records<br/>[models.py]")]
end

subgraph group_channels["Marketplace Hub"]
  node_channel_ui["Channel management<br/>[views.py]"]
  node_channel_service["Channel services<br/>[services.py]"]
  node_connectors["Marketplace connectors<br/>[factory.py]"]
  node_marketplaces{{"Marketplace APIs"}}
end

subgraph group_finance["Financial Planning"]
  node_campaign_ui["Campaign calculator<br/>[views.py]"]
  node_finance_service["Profitability engine<br/>[services.py]"]
  node_finance_data[("Store fee settings<br/>[models.py]")]
end

subgraph group_sales["Orders &amp; Stock"]
  node_webhook["Order webhook<br/>[views.py]"]
  node_order_service["Order processing<br/>[services.py]"]
  node_order_data[("Orders &amp; line items<br/>[models.py]")]
  node_audit[("Audit records<br/>[models.py]")]
end

node_operator(("Operator"))
node_routing["Django routing<br/>[urls.py]"]

node_operator -->|"requests"| node_routing
node_routing -->|"routes to"| node_tenant_ui
node_routing -->|"routes to"| node_catalog_ui
node_routing -->|"routes to"| node_ad_ui
node_routing -->|"routes to"| node_channel_ui
node_routing -->|"routes to"| node_campaign_ui
node_tenant_ui -->|"checks access"| node_permissions
node_tenant_ui -->|"reads and writes"| node_tenant_data
node_catalog_ui -->|"manages"| node_catalog_data
node_ad_ui -->|"manages"| node_ad_data
node_channel_ui -->|"invokes"| node_channel_service
node_channel_service -->|"selects connector"| node_connectors
node_connectors -.->|"calls APIs"| node_marketplaces
node_campaign_ui -->|"calculates"| node_finance_service
node_finance_service -->|"reads parameters"| node_finance_data
node_webhook -->|"handles event"| node_order_service
node_order_service -->|"fetches order details"| node_connectors
node_marketplaces -.->|"sends events"| node_webhook
node_order_service -->|"persists order"| node_order_data
node_order_service -->|"locks and updates stock"| node_inventory
node_order_service -->|"records events"| node_audit

click node_routing "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/hub/urls.py"
click node_tenant_ui "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/tenancy/views.py"
click node_tenant_data "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/tenancy/models.py"
click node_permissions "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/tenancy/permissions.py"
click node_catalog_ui "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/catalogo/views.py"
click node_catalog_data "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/catalogo/models.py"
click node_ad_ui "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/anuncios/views.py"
click node_ad_data "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/anuncios/models.py"
click node_channel_ui "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/marketplaces/views.py"
click node_channel_service "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/marketplaces/services.py"
click node_connectors "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/marketplaces/connectors/factory.py"
click node_campaign_ui "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/financeiro/views.py"
click node_finance_service "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/financeiro/services.py"
click node_finance_data "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/financeiro/models.py"
click node_webhook "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/marketplaces/views.py"
click node_order_service "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/marketplaces/services.py"
click node_order_data "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/pedidos/models.py"
click node_inventory "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/catalogo/models.py"
click node_audit "https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/pedidos/models.py"

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_tenant_ui,node_tenant_data,node_permissions toneBlue
class node_catalog_ui,node_catalog_data,node_ad_ui,node_ad_data,node_inventory toneAmber
class node_channel_ui,node_channel_service,node_connectors,node_marketplaces toneMint
class node_campaign_ui,node_finance_service,node_finance_data toneRose
class node_webhook,node_order_service,node_order_data,node_audit,node_operator toneIndigo
class node_routing toneTeal
```

## Components

### Tenancy & Access

- [Tenant access](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/tenancy/views.py): `apps/tenancy/views.py`
- [Tenant & identity](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/tenancy/models.py): `apps/tenancy/models.py`
- [Access control](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/tenancy/permissions.py): `apps/tenancy/permissions.py`

### Catalog & Ads

- [Catalog interface](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/catalogo/views.py): `apps/catalogo/views.py`
- [Products & prices](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/catalogo/models.py): `apps/catalogo/models.py`
- [Ads & kits](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/anuncios/views.py): `apps/anuncios/views.py`
- [Ad compositions](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/anuncios/models.py): `apps/anuncios/models.py`
- [Inventory records](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/catalogo/models.py): `apps/catalogo/models.py`

### Marketplace Hub

- [Channel management](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/marketplaces/views.py): `apps/marketplaces/views.py`
- [Channel services](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/marketplaces/services.py): `apps/marketplaces/services.py`
- [Marketplace connectors](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/marketplaces/connectors/factory.py): `apps/marketplaces/connectors/factory.py`
- **Marketplace APIs**

### Financial Planning

- [Campaign calculator](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/financeiro/views.py): `apps/financeiro/views.py`
- [Profitability engine](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/financeiro/services.py): `apps/financeiro/services.py`
- [Store fee settings](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/financeiro/models.py): `apps/financeiro/models.py`

### Orders & Stock

- [Order webhook](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/marketplaces/views.py): `apps/marketplaces/views.py`
- [Order processing](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/marketplaces/services.py): `apps/marketplaces/services.py`
- [Orders & line items](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/pedidos/models.py): `apps/pedidos/models.py`
- [Audit records](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/apps/pedidos/models.py): `apps/pedidos/models.py`

### Other components

- **Operator**
- [Django routing](https://github.com/web3-fatec-olimpia-2026-2/hub_central_marketplace/blob/main/hub/urls.py): `hub/urls.py`

## Connections

- Operator → Django routing: requests
- Django routing → Tenant access: routes to
- Django routing → Catalog interface: routes to
- Django routing → Ads & kits: routes to
- Django routing → Channel management: routes to
- Django routing → Campaign calculator: routes to
- Tenant access → Access control: checks access
- Tenant access → Tenant & identity: reads and writes
- Catalog interface → Products & prices: manages
- Ads & kits → Ad compositions: manages
- Channel management → Channel services: invokes
- Channel services → Marketplace connectors: selects connector
- Marketplace connectors → Marketplace APIs: calls APIs
- Campaign calculator → Profitability engine: calculates
- Profitability engine → Store fee settings: reads parameters
- Order webhook → Order processing: handles event
- Order processing → Marketplace connectors: fetches order details
- Marketplace APIs → Order webhook: sends events
- Order processing → Orders & line items: persists order
- Order processing → Inventory records: locks and updates stock
- Order processing → Audit records: records events
