# itschrisedu/nexora_web architecture

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

- Interactive diagram: https://gitdiagram.com/itschrisedu/nexora_web
- Repository: https://github.com/itschrisedu/nexora_web

## Overview

NEXORA is a browser-based SaaS for footwear retailers, combining store operations with a public digital catalog and platform administration. The main staff workflow enters the operational app, selects a business area, and works with the API; the customer-facing path browses a branch catalog and can view a shared receipt. The tree shows broad business capabilities, while sampled code confirms API access, local database use in customer management, and receipt-link generation. Wiring among most unsampled modules is intentionally not inferred.

Main entry points: [`src/services/api.service.ts`](https://github.com/itschrisedu/nexora_web/blob/main/src/services/api.service.ts) (API client), [`src/components/clientes.tsx`](https://github.com/itschrisedu/nexora_web/blob/main/src/components/clientes.tsx) (Customer management), [`src/app/page.tsx`](https://github.com/itschrisedu/nexora_web/blob/main/src/app/page.tsx) (Operations app), [`src/services/comprobante-url.service.ts`](https://github.com/itschrisedu/nexora_web/blob/main/src/services/comprobante-url.service.ts) (Receipt links)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Application entry"]
  node_app["Operations app<br/>[page.tsx]"]
end

subgraph group_operations["Store operations"]
  node_dashboard["Dashboard<br/>[dashboard.tsx]"]
  node_pos["Point of sale<br/>[pos.tsx]"]
  node_inventory["Inventory<br/>[inventario.tsx]"]
  node_orders["Commercial orders<br/>[comercial.tsx]"]
  node_customers["Customer management<br/>[clientes.tsx]"]
  node_suppliers["Suppliers<br/>[proveedores.tsx]"]
  node_finance["Finance<br/>[financiero.tsx]"]
  node_financials["Financial tools<br/>[finanzas.tsx]"]
  node_reports["Reports<br/>[reportes.tsx]"]
  node_audit["Audit<br/>[auditoria.tsx]"]
  node_locations["Locations<br/>[ubicaciones.tsx]"]
  node_forecast["Demand forecast"]
  node_sri["SRI integration<br/>[sri.tsx]"]
end

subgraph group_commerce["Commerce channels"]
  node_catalog["Digital catalog<br/>[page.tsx]"]
  node_catalog_home["Catalog landing<br/>[page.tsx]"]
  node_catalog_ui["Catalog experience"]
  node_receipt["Receipt viewer<br/>[page.tsx]"]
  node_pdf["Receipt PDF service"]
  node_receipt_urls["Receipt links"]
end

subgraph group_platform["Platform services"]
  node_api["API client<br/>[api.service.ts]"]
  node_localdb[("Local database<br/>[local-db.ts]")]
  node_sync["Offline sync<br/>[sync.service.ts]"]
end

subgraph group_admin["SaaS administration"]
  node_superadmin["Super admin<br/>[super-admin.tsx]"]
  node_saas_page["SaaS page<br/>[page.tsx]"]
  node_subscription_report["Subscription report"]
end

node_staff(("Store staff"))
node_customer(("Online shopper"))
node_backend{{"NEXORA backend"}}

node_staff -->|"opens"| node_app
node_app -->|"requests data"| node_api
node_api -->|"sends requests"| node_backend
node_customers -->|"requests data"| node_api
node_customers -->|"reads and writes"| node_localdb
node_customer -->|"browses"| node_catalog_home
node_customer -->|"opens branch"| node_catalog
node_customer -->|"opens link"| node_receipt
node_pdf -->|"generates links"| node_receipt_urls
node_receipt_urls -->|"encodes receipt data"| node_receipt

click node_app "https://github.com/itschrisedu/nexora_web/blob/main/src/app/page.tsx"
click node_dashboard "https://github.com/itschrisedu/nexora_web/blob/main/src/components/dashboard.tsx"
click node_pos "https://github.com/itschrisedu/nexora_web/blob/main/src/components/pos.tsx"
click node_inventory "https://github.com/itschrisedu/nexora_web/blob/main/src/components/inventario.tsx"
click node_orders "https://github.com/itschrisedu/nexora_web/blob/main/src/components/comercial.tsx"
click node_customers "https://github.com/itschrisedu/nexora_web/blob/main/src/components/clientes.tsx"
click node_suppliers "https://github.com/itschrisedu/nexora_web/blob/main/src/components/proveedores.tsx"
click node_finance "https://github.com/itschrisedu/nexora_web/blob/main/src/components/financiero.tsx"
click node_financials "https://github.com/itschrisedu/nexora_web/blob/main/src/components/finanzas.tsx"
click node_reports "https://github.com/itschrisedu/nexora_web/blob/main/src/components/reportes.tsx"
click node_audit "https://github.com/itschrisedu/nexora_web/blob/main/src/components/auditoria.tsx"
click node_locations "https://github.com/itschrisedu/nexora_web/blob/main/src/components/ubicaciones.tsx"
click node_forecast "https://github.com/itschrisedu/nexora_web/blob/main/src/components/prediccion-demanda.tsx"
click node_catalog "https://github.com/itschrisedu/nexora_web/blob/main/src/app/catalogo/%5BsucursalId%5D/page.tsx"
click node_catalog_home "https://github.com/itschrisedu/nexora_web/blob/main/src/app/landing/page.tsx"
click node_catalog_ui "https://github.com/itschrisedu/nexora_web/blob/main/src/components/catalogo-digital.tsx"
click node_receipt "https://github.com/itschrisedu/nexora_web/blob/main/src/app/comprobante/page.tsx"
click node_pdf "https://github.com/itschrisedu/nexora_web/blob/main/src/services/pdf-factura.service.ts"
click node_receipt_urls "https://github.com/itschrisedu/nexora_web/blob/main/src/services/comprobante-url.service.ts"
click node_api "https://github.com/itschrisedu/nexora_web/blob/main/src/services/api.service.ts"
click node_localdb "https://github.com/itschrisedu/nexora_web/blob/main/src/db/local-db.ts"
click node_sync "https://github.com/itschrisedu/nexora_web/blob/main/src/services/sync.service.ts"
click node_sri "https://github.com/itschrisedu/nexora_web/blob/main/src/components/sri.tsx"
click node_superadmin "https://github.com/itschrisedu/nexora_web/blob/main/src/components/super-admin.tsx"
click node_saas_page "https://github.com/itschrisedu/nexora_web/blob/main/src/app/saas/page.tsx"
click node_subscription_report "https://github.com/itschrisedu/nexora_web/blob/main/src/services/pdf-super-admin-reporte.service.ts"

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_app toneBlue
class node_dashboard,node_pos,node_inventory,node_orders,node_customers,node_suppliers,node_finance,node_financials,node_reports,node_audit,node_locations,node_forecast,node_sri toneAmber
class node_catalog,node_catalog_home,node_catalog_ui,node_receipt,node_pdf,node_receipt_urls toneMint
class node_api,node_localdb,node_sync toneRose
class node_superadmin,node_saas_page,node_subscription_report,node_staff,node_customer,node_backend toneIndigo
```

## Components

### Application entry

- [Operations app](https://github.com/itschrisedu/nexora_web/blob/main/src/app/page.tsx): `src/app/page.tsx`

### Store operations

- [Dashboard](https://github.com/itschrisedu/nexora_web/blob/main/src/components/dashboard.tsx): `src/components/dashboard.tsx`
- [Point of sale](https://github.com/itschrisedu/nexora_web/blob/main/src/components/pos.tsx): `src/components/pos.tsx`
- [Inventory](https://github.com/itschrisedu/nexora_web/blob/main/src/components/inventario.tsx): `src/components/inventario.tsx`
- [Commercial orders](https://github.com/itschrisedu/nexora_web/blob/main/src/components/comercial.tsx): `src/components/comercial.tsx`
- [Customer management](https://github.com/itschrisedu/nexora_web/blob/main/src/components/clientes.tsx): `src/components/clientes.tsx`
- [Suppliers](https://github.com/itschrisedu/nexora_web/blob/main/src/components/proveedores.tsx): `src/components/proveedores.tsx`
- [Finance](https://github.com/itschrisedu/nexora_web/blob/main/src/components/financiero.tsx): `src/components/financiero.tsx`
- [Financial tools](https://github.com/itschrisedu/nexora_web/blob/main/src/components/finanzas.tsx): `src/components/finanzas.tsx`
- [Reports](https://github.com/itschrisedu/nexora_web/blob/main/src/components/reportes.tsx): `src/components/reportes.tsx`
- [Audit](https://github.com/itschrisedu/nexora_web/blob/main/src/components/auditoria.tsx): `src/components/auditoria.tsx`
- [Locations](https://github.com/itschrisedu/nexora_web/blob/main/src/components/ubicaciones.tsx): `src/components/ubicaciones.tsx`
- [Demand forecast](https://github.com/itschrisedu/nexora_web/blob/main/src/components/prediccion-demanda.tsx): `src/components/prediccion-demanda.tsx`
- [SRI integration](https://github.com/itschrisedu/nexora_web/blob/main/src/components/sri.tsx): `src/components/sri.tsx`

### Commerce channels

- [Digital catalog](https://github.com/itschrisedu/nexora_web/blob/main/src/app/catalogo/%5BsucursalId%5D/page.tsx): `src/app/catalogo/[sucursalId]/page.tsx`
- [Catalog landing](https://github.com/itschrisedu/nexora_web/blob/main/src/app/landing/page.tsx): `src/app/landing/page.tsx`
- [Catalog experience](https://github.com/itschrisedu/nexora_web/blob/main/src/components/catalogo-digital.tsx): `src/components/catalogo-digital.tsx`
- [Receipt viewer](https://github.com/itschrisedu/nexora_web/blob/main/src/app/comprobante/page.tsx): `src/app/comprobante/page.tsx`
- [Receipt PDF service](https://github.com/itschrisedu/nexora_web/blob/main/src/services/pdf-factura.service.ts): `src/services/pdf-factura.service.ts`
- [Receipt links](https://github.com/itschrisedu/nexora_web/blob/main/src/services/comprobante-url.service.ts): `src/services/comprobante-url.service.ts`

### Platform services

- [API client](https://github.com/itschrisedu/nexora_web/blob/main/src/services/api.service.ts): `src/services/api.service.ts`
- [Local database](https://github.com/itschrisedu/nexora_web/blob/main/src/db/local-db.ts): `src/db/local-db.ts`
- [Offline sync](https://github.com/itschrisedu/nexora_web/blob/main/src/services/sync.service.ts): `src/services/sync.service.ts`

### SaaS administration

- [Super admin](https://github.com/itschrisedu/nexora_web/blob/main/src/components/super-admin.tsx): `src/components/super-admin.tsx`
- [SaaS page](https://github.com/itschrisedu/nexora_web/blob/main/src/app/saas/page.tsx): `src/app/saas/page.tsx`
- [Subscription report](https://github.com/itschrisedu/nexora_web/blob/main/src/services/pdf-super-admin-reporte.service.ts): `src/services/pdf-super-admin-reporte.service.ts`

### Other components

- **Store staff**
- **Online shopper**
- **NEXORA backend**

## Connections

- Store staff → Operations app: opens
- Operations app → API client: requests data
- API client → NEXORA backend: sends requests
- Customer management → API client: requests data
- Customer management → Local database: reads and writes
- Online shopper → Catalog landing: browses
- Online shopper → Digital catalog: opens branch
- Online shopper → Receipt viewer: opens link
- Receipt PDF service → Receipt links: generates links
- Receipt links → Receipt viewer: encodes receipt data
