# jasonlimmx/my_all_apps architecture

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

- Interactive diagram: https://gitdiagram.com/jasonlimmx/my_all_apps
- Repository: https://github.com/jasonlimmx/my_all_apps

## Overview

This repository combines three browser applications behind a Node/Express server: shared business templates, receipt scanning and export, and a used-phone business manager. Users manage reusable company templates, upload receipts for AI extraction and spreadsheet output, or process phone leads through pricing, approval, inspection, dispatch and inventory workflows. The tree and excerpts establish the principal app components; some route wiring and unsampled page behavior are not shown, so uncertain connections are omitted.

Main entry points: [`3-phone-business-ai-manager/src/App.tsx`](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/src/App.tsx) (Manager dashboard), [`2-receipt-scanner-excel-exporter/src/App.tsx`](https://github.com/jasonlimmx/my_all_apps/blob/main/2-receipt-scanner-excel-exporter/src/App.tsx) (Receipt scanner), [`3-phone-business-ai-manager/server.ts`](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server.ts) (Manager API and webhooks), [`server.js`](https://github.com/jasonlimmx/my_all_apps/blob/main/server.js) (Express app host)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_hosting["Combined hosting"]
  node_server["Express app host<br/>[server.js]"]
end

subgraph group_templates["Business templates"]
  node_business_ui["Template workspace<br/>[main.jsx]"]
  node_business_api["Template API<br/>[server.ts]"]
  node_business_store["Template data access<br/>[supabaseClient.js]"]
end

subgraph group_receipts["Receipt processing"]
  node_receipt_ui["Receipt scanner<br/>[App.tsx]"]
  node_receipt_api["Receipt extraction API<br/>[server.ts]"]
  node_receipt_files["File unpacking<br/>[zip.ts]"]
  node_receipt_image["Image processing<br/>[imageUtils.ts]"]
  node_receipt_excel["Excel export<br/>[excel.ts]"]
  node_receipt_a4["A4 export<br/>[a4Generator.ts]"]
end

subgraph group_manager["Phone business manager"]
  node_manager_ui["Manager dashboard<br/>[App.tsx]"]
  node_manager_api["Manager API and webhooks<br/>[server.ts]"]
  node_manager_inbox["Conversation inbox<br/>[InboxPage.tsx]"]
  node_manager_deals["Deal pipeline"]
  node_manager_inspection["Device inspection<br/>[InspectorPage.tsx]"]
  node_manager_dispatch["Dispatch management<br/>[DispatchPage.tsx]"]
  node_manager_inventory["Inventory management<br/>[InventoryPage.tsx]"]
  node_manager_analytics["Business analytics<br/>[AnalyticsPage.tsx]"]
  node_manager_db[("Manager data store<br/>[db.ts]")]
  node_pricing["Pricing engine<br/>[pricingEngine.ts]"]
  node_ai_service["AI conversation service<br/>[aiService.ts]"]
  node_supabase_service["Deal persistence<br/>[supabaseService.ts]"]
  node_meta_adapter["Meta messaging adapter<br/>[metaAdapter.ts]"]
  node_whatsapp_adapter["WhatsApp adapter<br/>[whatsappAdapter.ts]"]
  node_cloudinary_adapter["Photo upload adapter"]
end

subgraph group_integrations["External services"]
  node_gemini["Google Gemini"]
  node_supabase[("Supabase")]
  node_meta["Meta messaging"]
  node_whatsapp["WhatsApp"]
  node_cloudinary["Cloudinary"]
end

node_user(("User"))

node_user -->|"opens apps"| node_server
node_server -->|"mounts API"| node_business_api
node_server -->|"serves app"| node_business_ui
node_business_ui -->|"requests translation"| node_business_api
node_business_ui -->|"reads and writes"| node_business_store
node_business_api -->|"translates text"| node_gemini
node_user -->|"uploads receipts"| node_receipt_ui
node_receipt_ui -->|"unpacks uploads"| node_receipt_files
node_receipt_ui -->|"requests extraction"| node_receipt_api
node_receipt_api -->|"extracts receipt data"| node_gemini
node_receipt_ui -->|"crops receipt images"| node_receipt_image
node_receipt_ui -->|"exports spreadsheet"| node_receipt_excel
node_receipt_ui -->|"exports print layout"| node_receipt_a4
node_user -->|"manages phone deals"| node_manager_ui
node_manager_ui -->|"calls API"| node_manager_api
node_manager_api -->|"reads and updates"| node_manager_db
node_manager_api -->|"handles webhook"| node_meta_adapter
node_meta_adapter -->|"processes messages"| node_ai_service
node_ai_service -->|"calculates offer"| node_pricing
node_ai_service -->|"generates replies"| node_gemini
node_meta_adapter -->|"receives messages"| node_meta
node_manager_api -->|"persists approved deal"| node_supabase_service
node_supabase_service -->|"writes deal"| node_supabase
node_manager_api -->|"sends dispatch notice"| node_whatsapp_adapter
node_whatsapp_adapter -->|"sends notice"| node_whatsapp
node_manager_api -->|"uploads inspection photos"| node_cloudinary_adapter
node_cloudinary_adapter -->|"stores photos"| node_cloudinary
node_manager_ui -->|"routes to inbox"| node_manager_inbox
node_manager_ui -->|"routes to deals"| node_manager_deals
node_manager_ui -->|"routes to inspection"| node_manager_inspection
node_manager_ui -->|"routes to dispatch"| node_manager_dispatch
node_manager_ui -->|"routes to inventory"| node_manager_inventory
node_manager_ui -->|"routes to analytics"| node_manager_analytics
node_manager_deals -->|"dispatches deal action"| node_manager_ui

click node_server "https://github.com/jasonlimmx/my_all_apps/blob/main/server.js"
click node_business_ui "https://github.com/jasonlimmx/my_all_apps/blob/main/1-business-templates/src/main.jsx"
click node_business_api "https://github.com/jasonlimmx/my_all_apps/blob/main/1-business-templates/server.ts"
click node_business_store "https://github.com/jasonlimmx/my_all_apps/blob/main/1-business-templates/src/supabaseClient.js"
click node_receipt_ui "https://github.com/jasonlimmx/my_all_apps/blob/main/2-receipt-scanner-excel-exporter/src/App.tsx"
click node_receipt_api "https://github.com/jasonlimmx/my_all_apps/blob/main/2-receipt-scanner-excel-exporter/server.ts"
click node_receipt_files "https://github.com/jasonlimmx/my_all_apps/blob/main/2-receipt-scanner-excel-exporter/src/utils/zip.ts"
click node_receipt_image "https://github.com/jasonlimmx/my_all_apps/blob/main/2-receipt-scanner-excel-exporter/src/utils/imageUtils.ts"
click node_receipt_excel "https://github.com/jasonlimmx/my_all_apps/blob/main/2-receipt-scanner-excel-exporter/src/utils/excel.ts"
click node_receipt_a4 "https://github.com/jasonlimmx/my_all_apps/blob/main/2-receipt-scanner-excel-exporter/src/utils/a4Generator.ts"
click node_manager_ui "https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/src/App.tsx"
click node_manager_api "https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server.ts"
click node_manager_inbox "https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/src/pages/InboxPage.tsx"
click node_manager_deals "https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/src/pages/DealPipelinePage.tsx"
click node_manager_inspection "https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/src/pages/InspectorPage.tsx"
click node_manager_dispatch "https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/src/pages/DispatchPage.tsx"
click node_manager_inventory "https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/src/pages/InventoryPage.tsx"
click node_manager_analytics "https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/src/pages/AnalyticsPage.tsx"
click node_manager_db "https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server/db.ts"
click node_pricing "https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server/pricingEngine.ts"
click node_ai_service "https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server/aiService.ts"
click node_supabase_service "https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server/supabaseService.ts"
click node_meta_adapter "https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server/metaAdapter.ts"
click node_whatsapp_adapter "https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server/whatsappAdapter.ts"
click node_cloudinary_adapter "https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server/cloudinaryAdapter.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_server,node_user toneBlue
class node_business_ui,node_business_api,node_business_store toneAmber
class node_receipt_ui,node_receipt_api,node_receipt_files,node_receipt_image,node_receipt_excel,node_receipt_a4 toneMint
class node_manager_ui,node_manager_api,node_manager_inbox,node_manager_deals,node_manager_inspection,node_manager_dispatch,node_manager_inventory,node_manager_analytics,node_manager_db,node_pricing,node_ai_service,node_supabase_service,node_meta_adapter,node_whatsapp_adapter,node_cloudinary_adapter toneRose
class node_gemini,node_supabase,node_meta,node_whatsapp,node_cloudinary toneIndigo
```

## Components

### Combined hosting

- [Express app host](https://github.com/jasonlimmx/my_all_apps/blob/main/server.js): `server.js`

### Business templates

- [Template workspace](https://github.com/jasonlimmx/my_all_apps/blob/main/1-business-templates/src/main.jsx): `1-business-templates/src/main.jsx`
- [Template API](https://github.com/jasonlimmx/my_all_apps/blob/main/1-business-templates/server.ts): `1-business-templates/server.ts`
- [Template data access](https://github.com/jasonlimmx/my_all_apps/blob/main/1-business-templates/src/supabaseClient.js): `1-business-templates/src/supabaseClient.js`

### Receipt processing

- [Receipt scanner](https://github.com/jasonlimmx/my_all_apps/blob/main/2-receipt-scanner-excel-exporter/src/App.tsx): `2-receipt-scanner-excel-exporter/src/App.tsx`
- [Receipt extraction API](https://github.com/jasonlimmx/my_all_apps/blob/main/2-receipt-scanner-excel-exporter/server.ts): `2-receipt-scanner-excel-exporter/server.ts`
- [File unpacking](https://github.com/jasonlimmx/my_all_apps/blob/main/2-receipt-scanner-excel-exporter/src/utils/zip.ts): `2-receipt-scanner-excel-exporter/src/utils/zip.ts`
- [Image processing](https://github.com/jasonlimmx/my_all_apps/blob/main/2-receipt-scanner-excel-exporter/src/utils/imageUtils.ts): `2-receipt-scanner-excel-exporter/src/utils/imageUtils.ts`
- [Excel export](https://github.com/jasonlimmx/my_all_apps/blob/main/2-receipt-scanner-excel-exporter/src/utils/excel.ts): `2-receipt-scanner-excel-exporter/src/utils/excel.ts`
- [A4 export](https://github.com/jasonlimmx/my_all_apps/blob/main/2-receipt-scanner-excel-exporter/src/utils/a4Generator.ts): `2-receipt-scanner-excel-exporter/src/utils/a4Generator.ts`

### Phone business manager

- [Manager dashboard](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/src/App.tsx): `3-phone-business-ai-manager/src/App.tsx`
- [Manager API and webhooks](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server.ts): `3-phone-business-ai-manager/server.ts`
- [Conversation inbox](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/src/pages/InboxPage.tsx): `3-phone-business-ai-manager/src/pages/InboxPage.tsx`
- [Deal pipeline](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/src/pages/DealPipelinePage.tsx): `3-phone-business-ai-manager/src/pages/DealPipelinePage.tsx`
- [Device inspection](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/src/pages/InspectorPage.tsx): `3-phone-business-ai-manager/src/pages/InspectorPage.tsx`
- [Dispatch management](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/src/pages/DispatchPage.tsx): `3-phone-business-ai-manager/src/pages/DispatchPage.tsx`
- [Inventory management](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/src/pages/InventoryPage.tsx): `3-phone-business-ai-manager/src/pages/InventoryPage.tsx`
- [Business analytics](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/src/pages/AnalyticsPage.tsx): `3-phone-business-ai-manager/src/pages/AnalyticsPage.tsx`
- [Manager data store](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server/db.ts): `3-phone-business-ai-manager/server/db.ts`
- [Pricing engine](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server/pricingEngine.ts): `3-phone-business-ai-manager/server/pricingEngine.ts`
- [AI conversation service](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server/aiService.ts): `3-phone-business-ai-manager/server/aiService.ts`
- [Deal persistence](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server/supabaseService.ts): `3-phone-business-ai-manager/server/supabaseService.ts`
- [Meta messaging adapter](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server/metaAdapter.ts): `3-phone-business-ai-manager/server/metaAdapter.ts`
- [WhatsApp adapter](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server/whatsappAdapter.ts): `3-phone-business-ai-manager/server/whatsappAdapter.ts`
- [Photo upload adapter](https://github.com/jasonlimmx/my_all_apps/blob/main/3-phone-business-ai-manager/server/cloudinaryAdapter.ts): `3-phone-business-ai-manager/server/cloudinaryAdapter.ts`

### External services

- **Google Gemini**
- **Supabase**
- **Meta messaging**
- **WhatsApp**
- **Cloudinary**

### Other components

- **User**

## Connections

- User → Express app host: opens apps
- Express app host → Template API: mounts API
- Express app host → Template workspace: serves app
- Template workspace → Template API: requests translation
- Template workspace → Template data access: reads and writes
- Template API → Google Gemini: translates text
- User → Receipt scanner: uploads receipts
- Receipt scanner → File unpacking: unpacks uploads
- Receipt scanner → Receipt extraction API: requests extraction
- Receipt extraction API → Google Gemini: extracts receipt data
- Receipt scanner → Image processing: crops receipt images
- Receipt scanner → Excel export: exports spreadsheet
- Receipt scanner → A4 export: exports print layout
- User → Manager dashboard: manages phone deals
- Manager dashboard → Manager API and webhooks: calls API
- Manager API and webhooks → Manager data store: reads and updates
- Manager API and webhooks → Meta messaging adapter: handles webhook
- Meta messaging adapter → AI conversation service: processes messages
- AI conversation service → Pricing engine: calculates offer
- AI conversation service → Google Gemini: generates replies
- Meta messaging adapter → Meta messaging: receives messages
- Manager API and webhooks → Deal persistence: persists approved deal
- Deal persistence → Supabase: writes deal
- Manager API and webhooks → WhatsApp adapter: sends dispatch notice
- WhatsApp adapter → WhatsApp: sends notice
- Manager API and webhooks → Photo upload adapter: uploads inspection photos
- Photo upload adapter → Cloudinary: stores photos
- Manager dashboard → Conversation inbox: routes to inbox
- Manager dashboard → Deal pipeline: routes to deals
- Manager dashboard → Device inspection: routes to inspection
- Manager dashboard → Dispatch management: routes to dispatch
- Manager dashboard → Inventory management: routes to inventory
- Manager dashboard → Business analytics: routes to analytics
- Deal pipeline → Manager dashboard: dispatches deal action
