# irwanbc79/repo-m2b architecture

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

## Overview

This is a Laravel business portal for a customs/logistics consultancy, with customer and staff workflows plus finance, accounting, HR, and administrative tools. A principal workflow is customer shipment management and document submission, with invoicing and payment handling as a related business stage. The graph also preserves major customs, reconciliation, workforce, and communications capabilities visible in the tree. Source excerpts are partial and the README describes Laravel rather than this application, so several subsystem links are intentionally omitted where call ownership cannot be verified.

Main entry points: [`app/Livewire/Admin/InvoiceManager.php`](https://github.com/irwanbc79/repo-m2b/blob/main/app/Livewire/Admin/InvoiceManager.php) (Invoice Management), [`app/Http/Controllers/Api/HsCodeApiController.php`](https://github.com/irwanbc79/repo-m2b/blob/main/app/Http/Controllers/Api/HsCodeApiController.php) (HS Code API), [`app/Livewire/Customer/ShipmentList.php`](https://github.com/irwanbc79/repo-m2b/blob/main/app/Livewire/Customer/ShipmentList.php) (Shipment Portal), [`app/Http/Controllers/FieldDocumentationController.php`](https://github.com/irwanbc79/repo-m2b/blob/main/app/Http/Controllers/FieldDocumentationController.php) (Field Documentation)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_operations["Shipment Operations"]
  node_shipment_ui["Shipment Portal<br/>[ShipmentList.php]"]
  node_field_docs["Field Documentation"]
  node_shipment_service["Shipment Services"]
  node_shipment_model["Shipment Records<br/>[Shipment.php]"]
end

subgraph group_finance["Finance And Accounting"]
  node_invoice_ui["Invoice Management<br/>[InvoiceManager.php]"]
  node_invoice_model["Invoice Records<br/>[Invoice.php]"]
  node_accounting["Accounting Tools"]
  node_reconciliation["Bank Reconciliation"]
  node_bank_integration["Mandiri Banking"]
end

subgraph group_customs["Customs Tools"]
  node_customs_ui["HS Code Explorer<br/>[HsCodeExplorer.php]"]
  node_hs_api["HS Code API"]
  node_hs_records["HS Code Records<br/>[HsCode.php]"]
  node_lartas["Lartas References"]
end

subgraph group_workforce["Workforce Management"]
  node_hr["HR And Payroll"]
  node_attendance["Attendance"]
end

subgraph group_platform["Portal And Communications"]
  node_auth["Portal Access"]
  node_communications["Email And Chat"]
end

node_customer(("Customer"))
node_staff(("Staff"))
node_database[("Application Database")]
node_google(("Google Identity"))

node_customer -->|"manages shipments"| node_shipment_ui
node_customer -->|"submits documents"| node_field_docs
node_staff -->|"manages invoices"| node_invoice_ui
node_staff -->|"reconciles statements"| node_reconciliation
node_staff -->|"manages workforce"| node_hr
node_customer -->|"looks up codes"| node_customs_ui
node_shipment_ui -->|"shipment data"| node_shipment_model
node_field_docs -->|"stores documents"| node_database
node_shipment_service -->|"shipment data"| node_shipment_model
node_invoice_ui -->|"reads and writes"| node_invoice_model
node_invoice_ui -->|"loads customers and shipments"| node_database
node_accounting -->|"accounting records"| node_database
node_reconciliation -->|"bank records"| node_database
node_bank_integration -->|"statement records"| node_database
node_customs_ui -->|"requests code data"| node_hs_api
node_hs_api -->|"queries codes"| node_hs_records
node_hs_api -->|"reads customs data"| node_database
node_lartas -->|"reference data"| node_database
node_hr -->|"workforce records"| node_database
node_attendance -->|"attendance records"| node_database
node_customer -->|"signs in"| node_auth
node_auth -.->|"authenticates with"| node_google
node_communications -->|"message records"| node_database

click node_shipment_ui "https://github.com/irwanbc79/repo-m2b/blob/main/app/Livewire/Customer/ShipmentList.php"
click node_field_docs "https://github.com/irwanbc79/repo-m2b/blob/main/app/Http/Controllers/FieldDocumentationController.php"
click node_shipment_service "https://github.com/irwanbc79/repo-m2b/blob/main/app/Services/ShipmentService.php"
click node_shipment_model "https://github.com/irwanbc79/repo-m2b/blob/main/app/Models/Shipment.php"
click node_invoice_ui "https://github.com/irwanbc79/repo-m2b/blob/main/app/Livewire/Admin/InvoiceManager.php"
click node_invoice_model "https://github.com/irwanbc79/repo-m2b/blob/main/app/Models/Invoice.php"
click node_accounting "https://github.com/irwanbc79/repo-m2b/blob/main/app/Services/AccountingService.php"
click node_reconciliation "https://github.com/irwanbc79/repo-m2b/blob/main/app/Services/BankReconciliationService.php"
click node_bank_integration "https://github.com/irwanbc79/repo-m2b/blob/main/app/Services/Mandiri/MandiriApiService.php"
click node_customs_ui "https://github.com/irwanbc79/repo-m2b/blob/main/app/Livewire/Customer/HsCodeExplorer.php"
click node_hs_api "https://github.com/irwanbc79/repo-m2b/blob/main/app/Http/Controllers/Api/HsCodeApiController.php"
click node_hs_records "https://github.com/irwanbc79/repo-m2b/blob/main/app/Models/HsCode.php"
click node_lartas "https://github.com/irwanbc79/repo-m2b/blob/main/app/Services/LartasAiService.php"
click node_hr "https://github.com/irwanbc79/repo-m2b/blob/main/app/Livewire/Admin/HRD/EmployeeManagement.php"
click node_attendance "https://github.com/irwanbc79/repo-m2b/blob/main/app/Http/Controllers/Api/V1/AttendanceController.php"
click node_auth "https://github.com/irwanbc79/repo-m2b/blob/main/app/Http/Controllers/Auth/GoogleAuthController.php"
click node_communications "https://github.com/irwanbc79/repo-m2b/blob/main/app/Services/InternalChatService.php"

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_shipment_ui,node_field_docs,node_shipment_service,node_shipment_model toneBlue
class node_invoice_ui,node_invoice_model,node_accounting,node_reconciliation,node_bank_integration,node_database toneAmber
class node_customs_ui,node_hs_api,node_hs_records,node_lartas toneMint
class node_hr,node_attendance toneRose
class node_auth,node_communications,node_customer,node_staff,node_google toneIndigo
```

## Components

### Shipment Operations

- [Shipment Portal](https://github.com/irwanbc79/repo-m2b/blob/main/app/Livewire/Customer/ShipmentList.php): `app/Livewire/Customer/ShipmentList.php`
- [Field Documentation](https://github.com/irwanbc79/repo-m2b/blob/main/app/Http/Controllers/FieldDocumentationController.php): `app/Http/Controllers/FieldDocumentationController.php`
- [Shipment Services](https://github.com/irwanbc79/repo-m2b/blob/main/app/Services/ShipmentService.php): `app/Services/ShipmentService.php`
- [Shipment Records](https://github.com/irwanbc79/repo-m2b/blob/main/app/Models/Shipment.php): `app/Models/Shipment.php`

### Finance And Accounting

- [Invoice Management](https://github.com/irwanbc79/repo-m2b/blob/main/app/Livewire/Admin/InvoiceManager.php): `app/Livewire/Admin/InvoiceManager.php`
- [Invoice Records](https://github.com/irwanbc79/repo-m2b/blob/main/app/Models/Invoice.php): `app/Models/Invoice.php`
- [Accounting Tools](https://github.com/irwanbc79/repo-m2b/blob/main/app/Services/AccountingService.php): `app/Services/AccountingService.php`
- [Bank Reconciliation](https://github.com/irwanbc79/repo-m2b/blob/main/app/Services/BankReconciliationService.php): `app/Services/BankReconciliationService.php`
- [Mandiri Banking](https://github.com/irwanbc79/repo-m2b/blob/main/app/Services/Mandiri/MandiriApiService.php): `app/Services/Mandiri/MandiriApiService.php`

### Customs Tools

- [HS Code Explorer](https://github.com/irwanbc79/repo-m2b/blob/main/app/Livewire/Customer/HsCodeExplorer.php): `app/Livewire/Customer/HsCodeExplorer.php`
- [HS Code API](https://github.com/irwanbc79/repo-m2b/blob/main/app/Http/Controllers/Api/HsCodeApiController.php): `app/Http/Controllers/Api/HsCodeApiController.php`
- [HS Code Records](https://github.com/irwanbc79/repo-m2b/blob/main/app/Models/HsCode.php): `app/Models/HsCode.php`
- [Lartas References](https://github.com/irwanbc79/repo-m2b/blob/main/app/Services/LartasAiService.php): `app/Services/LartasAiService.php`

### Workforce Management

- [HR And Payroll](https://github.com/irwanbc79/repo-m2b/blob/main/app/Livewire/Admin/HRD/EmployeeManagement.php): `app/Livewire/Admin/HRD/EmployeeManagement.php`
- [Attendance](https://github.com/irwanbc79/repo-m2b/blob/main/app/Http/Controllers/Api/V1/AttendanceController.php): `app/Http/Controllers/Api/V1/AttendanceController.php`

### Portal And Communications

- [Portal Access](https://github.com/irwanbc79/repo-m2b/blob/main/app/Http/Controllers/Auth/GoogleAuthController.php): `app/Http/Controllers/Auth/GoogleAuthController.php`
- [Email And Chat](https://github.com/irwanbc79/repo-m2b/blob/main/app/Services/InternalChatService.php): `app/Services/InternalChatService.php`

### Other components

- **Customer**
- **Staff**
- **Application Database**
- **Google Identity**

## Connections

- Customer → Shipment Portal: manages shipments
- Customer → Field Documentation: submits documents
- Staff → Invoice Management: manages invoices
- Staff → Bank Reconciliation: reconciles statements
- Staff → HR And Payroll: manages workforce
- Customer → HS Code Explorer: looks up codes
- Shipment Portal → Shipment Records: shipment data
- Field Documentation → Application Database: stores documents
- Shipment Services → Shipment Records: shipment data
- Invoice Management → Invoice Records: reads and writes
- Invoice Management → Application Database: loads customers and shipments
- Accounting Tools → Application Database: accounting records
- Bank Reconciliation → Application Database: bank records
- Mandiri Banking → Application Database: statement records
- HS Code Explorer → HS Code API: requests code data
- HS Code API → HS Code Records: queries codes
- HS Code API → Application Database: reads customs data
- Lartas References → Application Database: reference data
- HR And Payroll → Application Database: workforce records
- Attendance → Application Database: attendance records
- Customer → Portal Access: signs in
- Portal Access → Google Identity: authenticates with
- Email And Chat → Application Database: message records
