# loancrm/loancrm-frontend architecture

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

## Overview

Eloanspro is an Angular loan-origination and lending-operations application, with an admin workspace for managing leads, documents, credit evaluation, lender logins, disbursals, and accounting. The main user journey is organized around those distinct operational stages, alongside communications and reporting capabilities. The routing excerpt confirms guarded, lazy-loaded admin areas; sampled service excerpts show backend API access. The README is only Angular CLI boilerplate, and component-to-component workflow wiring is not established by the sampled source, so uncertain handoffs are not drawn.

Main entry points: [`src/app/admin/admin-routing.module.ts`](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/admin-routing.module.ts) (Admin shell and routes), [`src/app/services/service-meta.ts`](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/services/service-meta.ts) (Application API), [`src/app/auth.service.ts`](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/auth.service.ts) (Authentication), [`src/app/admin/leads/leads.component.ts`](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/leads/leads.component.ts) (Lead management)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workspace["Workspace and Leads"]
  node_admin["Admin shell and routes"]
  node_auth["Authentication<br/>[auth.service.ts]"]
  node_leads["Lead management<br/>[leads.component.ts]"]
  node_enquiries["Public enquiries"]
end

subgraph group_underwriting["Credit and Documents"]
  node_files["File management<br/>[files.component.ts]"]
  node_credit["Credit evaluation"]
  node_eligibility["BRE eligibility"]
  node_integrations["Credit integrations"]
end

subgraph group_operations["Lender Operations"]
  node_bankers["Lender directory"]
  node_logins["Lender logins"]
  node_approvals["Approvals"]
  node_disbursals["Disbursals"]
end

subgraph group_finance["Finance and Reporting"]
  node_accounting["Accounting"]
  node_reports["Reports"]
end

subgraph group_engagement["Engagement"]
  node_whatsapp["WhatsApp campaigns"]
  node_whatsapp_service["WhatsApp API service"]
  node_callbacks["Callbacks"]
  node_workflow["Workflow automation"]
end

node_staff(("Staff user"))
node_api{{"Application API<br/>[service-meta.ts]"}}

node_staff -->|"opens workspace"| node_admin
node_admin -->|"guards access"| node_auth
node_admin -->|"loads leads"| node_leads
node_admin -->|"loads files"| node_files
node_admin -->|"loads credit"| node_credit
node_admin -->|"loads integrations"| node_integrations
node_admin -->|"loads lenders"| node_bankers
node_admin -->|"loads logins"| node_logins
node_admin -->|"loads approvals"| node_approvals
node_admin -->|"loads disbursals"| node_disbursals
node_admin -->|"loads accounting"| node_accounting
node_admin -->|"loads reports"| node_reports
node_admin -->|"loads campaigns"| node_whatsapp
node_admin -->|"loads callbacks"| node_callbacks
node_admin -->|"loads workflows"| node_workflow
node_staff -->|"submits enquiry"| node_enquiries
node_credit -->|"checks eligibility"| node_eligibility
node_auth -->|"requests profile"| node_api
node_leads -->|"requests lead data"| node_api
node_accounting -->|"requests accounting data"| node_api
node_whatsapp -->|"uses campaign service"| node_whatsapp_service
node_whatsapp_service -->|"calls API"| node_api

click node_admin "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/admin-routing.module.ts"
click node_auth "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/auth.service.ts"
click node_leads "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/leads/leads.component.ts"
click node_enquiries "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/public-enquiry/public-enquiry.component.ts"
click node_files "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/files/files.component.ts"
click node_credit "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/credit-evaluation/credit-evaluation.component.ts"
click node_eligibility "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/credit-evaluation/bre-eligibility.service.ts"
click node_integrations "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/integrations/integrations.component.ts"
click node_bankers "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/bankers/bankers.component.ts"
click node_logins "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/logins/logins.component.ts"
click node_approvals "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/approvals/approvals.component.ts"
click node_disbursals "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/disbursals/disbursals.component.ts"
click node_accounting "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/accounting/accounting.component.ts"
click node_reports "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/reports/reports.component.ts"
click node_whatsapp "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/whatsapp/whatsapp.component.ts"
click node_whatsapp_service "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/whatsapp/whatsapp.service.ts"
click node_callbacks "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/callbacks/callbacks.component.ts"
click node_workflow "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/workflows/workflows.service.ts"
click node_api "https://github.com/loancrm/loancrm-frontend/blob/main/src/app/services/service-meta.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_admin,node_auth,node_leads,node_enquiries,node_staff toneBlue
class node_files,node_credit,node_eligibility,node_integrations toneAmber
class node_bankers,node_logins,node_approvals,node_disbursals,node_api toneMint
class node_accounting,node_reports toneRose
class node_whatsapp,node_whatsapp_service,node_callbacks,node_workflow toneIndigo
```

## Components

### Workspace and Leads

- [Admin shell and routes](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/admin-routing.module.ts): `src/app/admin/admin-routing.module.ts`
- [Authentication](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/auth.service.ts): `src/app/auth.service.ts`
- [Lead management](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/leads/leads.component.ts): `src/app/admin/leads/leads.component.ts`
- [Public enquiries](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/public-enquiry/public-enquiry.component.ts): `src/app/public-enquiry/public-enquiry.component.ts`

### Credit and Documents

- [File management](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/files/files.component.ts): `src/app/admin/files/files.component.ts`
- [Credit evaluation](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/credit-evaluation/credit-evaluation.component.ts): `src/app/admin/credit-evaluation/credit-evaluation.component.ts`
- [BRE eligibility](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/credit-evaluation/bre-eligibility.service.ts): `src/app/admin/credit-evaluation/bre-eligibility.service.ts`
- [Credit integrations](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/integrations/integrations.component.ts): `src/app/admin/integrations/integrations.component.ts`

### Lender Operations

- [Lender directory](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/bankers/bankers.component.ts): `src/app/admin/bankers/bankers.component.ts`
- [Lender logins](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/logins/logins.component.ts): `src/app/admin/logins/logins.component.ts`
- [Approvals](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/approvals/approvals.component.ts): `src/app/admin/approvals/approvals.component.ts`
- [Disbursals](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/disbursals/disbursals.component.ts): `src/app/admin/disbursals/disbursals.component.ts`

### Finance and Reporting

- [Accounting](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/accounting/accounting.component.ts): `src/app/admin/accounting/accounting.component.ts`
- [Reports](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/reports/reports.component.ts): `src/app/admin/reports/reports.component.ts`

### Engagement

- [WhatsApp campaigns](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/whatsapp/whatsapp.component.ts): `src/app/admin/whatsapp/whatsapp.component.ts`
- [WhatsApp API service](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/whatsapp/whatsapp.service.ts): `src/app/admin/whatsapp/whatsapp.service.ts`
- [Callbacks](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/callbacks/callbacks.component.ts): `src/app/admin/callbacks/callbacks.component.ts`
- [Workflow automation](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/admin/workflows/workflows.service.ts): `src/app/admin/workflows/workflows.service.ts`

### Other components

- **Staff user**
- [Application API](https://github.com/loancrm/loancrm-frontend/blob/main/src/app/services/service-meta.ts): `src/app/services/service-meta.ts`

## Connections

- Staff user → Admin shell and routes: opens workspace
- Admin shell and routes → Authentication: guards access
- Admin shell and routes → Lead management: loads leads
- Admin shell and routes → File management: loads files
- Admin shell and routes → Credit evaluation: loads credit
- Admin shell and routes → Credit integrations: loads integrations
- Admin shell and routes → Lender directory: loads lenders
- Admin shell and routes → Lender logins: loads logins
- Admin shell and routes → Approvals: loads approvals
- Admin shell and routes → Disbursals: loads disbursals
- Admin shell and routes → Accounting: loads accounting
- Admin shell and routes → Reports: loads reports
- Admin shell and routes → WhatsApp campaigns: loads campaigns
- Admin shell and routes → Callbacks: loads callbacks
- Admin shell and routes → Workflow automation: loads workflows
- Staff user → Public enquiries: submits enquiry
- Credit evaluation → BRE eligibility: checks eligibility
- Authentication → Application API: requests profile
- Lead management → Application API: requests lead data
- Accounting → Application API: requests accounting data
- WhatsApp campaigns → WhatsApp API service: uses campaign service
- WhatsApp API service → Application API: calls API
