# eslamalbaik/admin_dshbaord_pfi architecture

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

- Interactive diagram: https://gitdiagram.com/eslamalbaik/admin_dshbaord_pfi
- Repository: https://github.com/eslamalbaik/admin_dshbaord_pfi

## Overview

This repository contains a Laravel API for the Palestinian Contractors Union and a separate Vue-based administration frontend, alongside another Laravel application with contractor-management endpoints. The main domain workflow is contractor administration and membership: staff manage contractor records, membership and dues, and payments; contractors also have equipment listings and subscriptions. The API additionally exposes content, events, tenders, certificates, and support features. The tree and excerpts establish these product areas, but do not reveal all route wiring; uncertain links are omitted.

Main entry points: [`arab-contractors-union-api/routes/api.php`](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/routes/api.php) (Union API), [`arab-contractors-union-api/app/Http/Controllers/Api/ContractorEquipmentController.php`](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/Api/ContractorEquipmentController.php) (Equipment listings), [`arab-contractors-union-front/resources/ts/App.vue`](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-front/resources/ts/App.vue) (Admin dashboard), [`arab-contractors-union-api/app/Http/Controllers/AuthController.php`](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/AuthController.php) (Authentication)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_admin["Admin frontend"]
  node_dashboard["Admin dashboard<br/>[App.vue]"]
  node_terms_ui["Terms manager<br/>[TermsManager.vue]"]
end

subgraph group_identity["Identity and records"]
  node_auth["Authentication<br/>[AuthController.php]"]
  node_contractors["Contractor records"]
  node_contractor_store[("Contractor data<br/>[Contractor.php]")]
end

subgraph group_finance["Membership and finance"]
  node_membership["Membership"]
  node_dues["Dues management"]
  node_payments["Payment confirmation"]
  node_payment_store[("Payment records<br/>[Payment.php]")]
end

subgraph group_market["Equipment marketplace"]
  node_equipment["Equipment listings"]
  node_equipment_store[("Equipment data<br/>[Equipment.php]")]
  node_subscription[("Equipment subscriptions")]
end

subgraph group_services["Union services"]
  node_content["News and announcements"]
  node_events["Events and tenders"]
  node_certificates["Certificate requests"]
  node_support["Support tickets"]
end

node_staff(("Staff user"))
node_contractor(("Contractor"))
node_api["Union API<br/>[api.php]"]
node_google["Google OAuth"]

node_staff -->|"uses"| node_dashboard
node_dashboard -->|"requests data"| node_api
node_terms_ui -->|"manages terms"| node_api
node_contractor -->|"uses"| node_api
node_api -->|"dispatches"| node_auth
node_auth -.->|"exchanges code"| node_google
node_api -->|"dispatches"| node_contractors
node_contractors -->|"creates and updates"| node_contractor_store
node_api -->|"dispatches"| node_membership
node_api -->|"dispatches"| node_dues
node_api -->|"dispatches"| node_payments
node_payments -->|"confirms records"| node_payment_store
node_api -->|"dispatches"| node_equipment
node_equipment -->|"manages listings"| node_equipment_store
node_equipment -->|"checks subscription"| node_subscription
node_api -->|"dispatches"| node_content
node_api -->|"dispatches"| node_events
node_api -->|"dispatches"| node_certificates
node_api -->|"dispatches"| node_support

click node_dashboard "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-front/resources/ts/App.vue"
click node_terms_ui "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-front/resources/ts/components/TermsManager.vue"
click node_api "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/routes/api.php"
click node_auth "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/AuthController.php"
click node_contractors "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/Api/ContractorController.php"
click node_contractor_store "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Models/Contractor.php"
click node_membership "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/Api/MembershipController.php"
click node_dues "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Services/DuesGenerationService.php"
click node_payments "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Services/PaymentConfirmationService.php"
click node_payment_store "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Models/Payment.php"
click node_equipment "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/Api/ContractorEquipmentController.php"
click node_equipment_store "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Models/Equipment.php"
click node_subscription "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Models/ContractorEquipmentSubscription.php"
click node_content "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/Api/AnnouncementController.php"
click node_events "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/Api/EventController.php"
click node_certificates "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/Api/CertificateRequestController.php"
click node_support "https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/Api/SupportTicketController.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_dashboard,node_terms_ui,node_staff toneBlue
class node_auth,node_contractors,node_contractor_store toneAmber
class node_membership,node_dues,node_payments,node_payment_store,node_api toneMint
class node_equipment,node_equipment_store,node_subscription toneRose
class node_content,node_events,node_certificates,node_support,node_contractor,node_google toneIndigo
```

## Components

### Admin frontend

- [Admin dashboard](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-front/resources/ts/App.vue): `arab-contractors-union-front/resources/ts/App.vue`
- [Terms manager](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-front/resources/ts/components/TermsManager.vue): `arab-contractors-union-front/resources/ts/components/TermsManager.vue`

### Identity and records

- [Authentication](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/AuthController.php): `arab-contractors-union-api/app/Http/Controllers/AuthController.php`
- [Contractor records](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/Api/ContractorController.php): `arab-contractors-union-api/app/Http/Controllers/Api/ContractorController.php`
- [Contractor data](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Models/Contractor.php): `arab-contractors-union-api/app/Models/Contractor.php`

### Membership and finance

- [Membership](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/Api/MembershipController.php): `arab-contractors-union-api/app/Http/Controllers/Api/MembershipController.php`
- [Dues management](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Services/DuesGenerationService.php): `arab-contractors-union-api/app/Services/DuesGenerationService.php`
- [Payment confirmation](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Services/PaymentConfirmationService.php): `arab-contractors-union-api/app/Services/PaymentConfirmationService.php`
- [Payment records](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Models/Payment.php): `arab-contractors-union-api/app/Models/Payment.php`

### Equipment marketplace

- [Equipment listings](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/Api/ContractorEquipmentController.php): `arab-contractors-union-api/app/Http/Controllers/Api/ContractorEquipmentController.php`
- [Equipment data](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Models/Equipment.php): `arab-contractors-union-api/app/Models/Equipment.php`
- [Equipment subscriptions](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Models/ContractorEquipmentSubscription.php): `arab-contractors-union-api/app/Models/ContractorEquipmentSubscription.php`

### Union services

- [News and announcements](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/Api/AnnouncementController.php): `arab-contractors-union-api/app/Http/Controllers/Api/AnnouncementController.php`
- [Events and tenders](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/Api/EventController.php): `arab-contractors-union-api/app/Http/Controllers/Api/EventController.php`
- [Certificate requests](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/Api/CertificateRequestController.php): `arab-contractors-union-api/app/Http/Controllers/Api/CertificateRequestController.php`
- [Support tickets](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/app/Http/Controllers/Api/SupportTicketController.php): `arab-contractors-union-api/app/Http/Controllers/Api/SupportTicketController.php`

### Other components

- **Staff user**
- **Contractor**
- [Union API](https://github.com/eslamalbaik/admin_dshbaord_pfi/blob/feature/arab-contractors-union/arab-contractors-union-api/routes/api.php): `arab-contractors-union-api/routes/api.php`
- **Google OAuth**

## Connections

- Staff user → Admin dashboard: uses
- Admin dashboard → Union API: requests data
- Terms manager → Union API: manages terms
- Contractor → Union API: uses
- Union API → Authentication: dispatches
- Authentication → Google OAuth: exchanges code
- Union API → Contractor records: dispatches
- Contractor records → Contractor data: creates and updates
- Union API → Membership: dispatches
- Union API → Dues management: dispatches
- Union API → Payment confirmation: dispatches
- Payment confirmation → Payment records: confirms records
- Union API → Equipment listings: dispatches
- Equipment listings → Equipment data: manages listings
- Equipment listings → Equipment subscriptions: checks subscription
- Union API → News and announcements: dispatches
- Union API → Events and tenders: dispatches
- Union API → Certificate requests: dispatches
- Union API → Support tickets: dispatches
