# cfi21/ancline-global-erp1 architecture

> Architecture diagram of the GitHub repository cfi21/ancline-global-erp1, 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/cfi21/ancline-global-erp1
- Repository: https://github.com/cfi21/ancline-global-erp1

## Overview

ANCLINE is a global-forwarding and NVOCC ERP. Users work through web workspaces and the API to progress commercial opportunities and rates into bookings, shipment execution, documents, finance, and closeout. The README documents these transaction stages; sampled controllers confirm CRM, portal, procurement, and period-close operations, while sampled services show authentication, risk alerts, and object-storage behavior. Many domain service implementations were not sampled, so the graph omits uncertain internal call wiring; optional OIDC and S3 links are shown separately.

Main entry points: [`apps/web/app/api-proxy/[...path]/route.ts`](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/web/app/api-proxy/%5B...path%5D/route.ts) (API proxy), [`apps/api/src/modules/carrier-operations/carrier-operations.service.ts`](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/carrier-operations/carrier-operations.service.ts) (Carrier operations), [`apps/api/src/modules/auth/auth.service.ts`](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/auth/auth.service.ts) (Authentication), [`apps/api/src/modules/bookings/bookings.service.ts`](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/bookings/bookings.service.ts) (Bookings)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["User experience"]
  node_web["ERP workspaces"]
  node_api["API proxy<br/>[route.ts]"]
end

subgraph group_commercial["Commercial and booking"]
  node_crm["Sales CRM"]
  node_rates["Rates and quotes<br/>[rates.service.ts]"]
  node_bookings["Bookings"]
  node_portal["Customer portals<br/>[portal.service.ts]"]
  node_procurement["Procurement"]
end

subgraph group_execution["Shipment execution"]
  node_carrier["Carrier operations"]
  node_shipment["Shipment control"]
  node_documents["Documents and compliance"]
end

subgraph group_finance["Finance and control"]
  node_finance["Finance and closeout<br/>[finance.service.ts]"]
  node_monthend["Period close"]
  node_alerts["Operational risk alerts"]
end

subgraph group_platform["Identity and platform"]
  node_auth["Authentication<br/>[auth.service.ts]"]
  node_database[("ERP database<br/>[prisma.service.ts]")]
  node_oidc["OIDC identity provider"]
  node_storage["Object storage adapter<br/>[storage.service.ts]"]
end

node_operator(("ERP user"))
node_s3["S3-compatible storage"]
node_carriers["Carrier systems"]

node_operator -->|"uses"| node_web
node_web -->|"API requests"| node_api
node_api -->|"authenticates"| node_auth
node_api -->|"routes CRM"| node_crm
node_api -->|"routes portal"| node_portal
node_api -->|"routes procurement"| node_procurement
node_crm -->|"develops quotes"| node_rates
node_rates -->|"prices booking"| node_bookings
node_portal -->|"accepts quote"| node_bookings
node_bookings -->|"submits booking"| node_carrier
node_carrier -->|"advances shipment"| node_shipment
node_shipment -->|"supports documentation"| node_documents
node_documents -->|"supports closeout"| node_finance
node_finance -->|"feeds period close"| node_monthend
node_alerts -->|"reads and updates"| node_database
node_auth -->|"reads accounts"| node_database
node_auth -.->|"exchanges code"| node_oidc
node_storage -.->|"signs upload requests"| node_s3
node_carrier -.->|"external submission"| node_carriers

click node_web "https://github.com/cfi21/ancline-global-erp1/tree/main/apps/web/app"
click node_api "https://github.com/cfi21/ancline-global-erp1/blob/main/apps/web/app/api-proxy/%5B...path%5D/route.ts"
click node_auth "https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/auth/auth.service.ts"
click node_crm "https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/sales-crm/sales-crm.service.ts"
click node_rates "https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/rates/rates.service.ts"
click node_bookings "https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/bookings/bookings.service.ts"
click node_portal "https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/portal/portal.service.ts"
click node_procurement "https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/procurement/procurement.service.ts"
click node_carrier "https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/carrier-operations/carrier-operations.service.ts"
click node_shipment "https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/shipment-control/shipment-control.service.ts"
click node_documents "https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/documents/documents.service.ts"
click node_finance "https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/finance/finance.service.ts"
click node_monthend "https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/month-end/month-end.service.ts"
click node_alerts "https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/operations/alert-engine.service.ts"
click node_database "https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/prisma/prisma.service.ts"
click node_storage "https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/storage/storage.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_web,node_api,node_operator toneBlue
class node_crm,node_rates,node_bookings,node_portal,node_procurement,node_s3 toneAmber
class node_carrier,node_shipment,node_documents toneMint
class node_finance,node_monthend,node_alerts toneRose
class node_auth,node_database,node_oidc,node_storage,node_carriers toneIndigo
```

## Components

### User experience

- [ERP workspaces](https://github.com/cfi21/ancline-global-erp1/tree/main/apps/web/app): `apps/web/app`
- [API proxy](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/web/app/api-proxy/%5B...path%5D/route.ts): `apps/web/app/api-proxy/[...path]/route.ts`

### Commercial and booking

- [Sales CRM](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/sales-crm/sales-crm.service.ts): `apps/api/src/modules/sales-crm/sales-crm.service.ts`
- [Rates and quotes](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/rates/rates.service.ts): `apps/api/src/modules/rates/rates.service.ts`
- [Bookings](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/bookings/bookings.service.ts): `apps/api/src/modules/bookings/bookings.service.ts`
- [Customer portals](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/portal/portal.service.ts): `apps/api/src/modules/portal/portal.service.ts`
- [Procurement](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/procurement/procurement.service.ts): `apps/api/src/modules/procurement/procurement.service.ts`

### Shipment execution

- [Carrier operations](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/carrier-operations/carrier-operations.service.ts): `apps/api/src/modules/carrier-operations/carrier-operations.service.ts`
- [Shipment control](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/shipment-control/shipment-control.service.ts): `apps/api/src/modules/shipment-control/shipment-control.service.ts`
- [Documents and compliance](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/documents/documents.service.ts): `apps/api/src/modules/documents/documents.service.ts`

### Finance and control

- [Finance and closeout](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/finance/finance.service.ts): `apps/api/src/modules/finance/finance.service.ts`
- [Period close](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/month-end/month-end.service.ts): `apps/api/src/modules/month-end/month-end.service.ts`
- [Operational risk alerts](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/operations/alert-engine.service.ts): `apps/api/src/modules/operations/alert-engine.service.ts`

### Identity and platform

- [Authentication](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/auth/auth.service.ts): `apps/api/src/modules/auth/auth.service.ts`
- [ERP database](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/prisma/prisma.service.ts): `apps/api/src/prisma/prisma.service.ts`
- **OIDC identity provider**
- [Object storage adapter](https://github.com/cfi21/ancline-global-erp1/blob/main/apps/api/src/modules/storage/storage.service.ts): `apps/api/src/modules/storage/storage.service.ts`

### Other components

- **ERP user**
- **S3-compatible storage**
- **Carrier systems**

## Connections

- ERP user → ERP workspaces: uses
- ERP workspaces → API proxy: API requests
- API proxy → Authentication: authenticates
- API proxy → Sales CRM: routes CRM
- API proxy → Customer portals: routes portal
- API proxy → Procurement: routes procurement
- Sales CRM → Rates and quotes: develops quotes
- Rates and quotes → Bookings: prices booking
- Customer portals → Bookings: accepts quote
- Bookings → Carrier operations: submits booking
- Carrier operations → Shipment control: advances shipment
- Shipment control → Documents and compliance: supports documentation
- Documents and compliance → Finance and closeout: supports closeout
- Finance and closeout → Period close: feeds period close
- Operational risk alerts → ERP database: reads and updates
- Authentication → ERP database: reads accounts
- Authentication → OIDC identity provider: exchanges code
- Object storage adapter → S3-compatible storage: signs upload requests
- Carrier operations → Carrier systems: external submission
