# mohammedsamisagheer-code/fixflow architecture

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

- Interactive diagram: https://gitdiagram.com/mohammedsamisagheer-code/fixflow
- Repository: https://github.com/mohammedsamisagheer-code/fixflow

## Overview

This is a Laravel API for shop and repair management, with customer records, repair tracking, shop administration, user authentication, and plan-based subscriptions. Shop users authenticate, manage their shop and customers, create and advance repairs, and can view shop statistics; account registration assigns a free-trial subscription. Controllers own calls to the sampled services, while Eloquent models represent persisted domain data. The tree also shows queued SMS components and provider implementations, but their wiring was not sampled, so those links remain uncertain.

Main entry points: [`routes/api.php`](https://github.com/mohammedsamisagheer-code/fixflow/blob/main/routes/api.php) (API routes), [`app/Models`](https://github.com/mohammedsamisagheer-code/fixflow/tree/main/app/Models) (Domain models), [`app/Http/Controllers/AuthController.php`](https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Http/Controllers/AuthController.php) (Authentication), [`app/Http/Controllers/Api/V1/CustomerController.php`](https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Http/Controllers/Api/V1/CustomerController.php) (Customer API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_api["API and access"]
  node_routes["API routes<br/>[api.php]"]
  node_auth["Authentication<br/>[AuthController.php]"]
  node_access["Access middleware"]
end

subgraph group_operations["Shop operations"]
  node_customers["Customer API"]
  node_customer_service["Customer service"]
  node_repairs["Repair API"]
  node_repair_service["Repair service<br/>[RepairService.php]"]
  node_shops["Shop API<br/>[ShopController.php]"]
  node_shop_service["Shop service<br/>[ShopService.php]"]
end

subgraph group_billing["Plans and subscriptions"]
  node_plans["Plan API<br/>[PlanController.php]"]
  node_subscriptions["Subscription API"]
  node_subscription_service["Subscription service"]
end

subgraph group_messaging["SMS messaging"]
  node_sms_job["SMS job<br/>[SendSmsJob.php]"]
  node_sms_interface["SMS contract"]
  node_sms_providers["SMS providers"]
end

subgraph group_persistence["Domain data"]
  node_models["Domain models"]
  node_database[("Relational database")]
end

node_client(("API client"))

node_client -->|"sends requests"| node_routes
node_routes -->|"dispatches"| node_auth
node_routes -->|"dispatches"| node_customers
node_routes -->|"dispatches"| node_repairs
node_routes -->|"dispatches"| node_shops
node_routes -->|"dispatches"| node_plans
node_routes -->|"dispatches"| node_subscriptions
node_auth -->|"assigns trial"| node_subscription_service
node_customers -->|"calls on delete"| node_customer_service
node_repairs -->|"calls"| node_repair_service
node_shops -->|"calls"| node_shop_service
node_subscriptions -->|"calls"| node_subscription_service
node_auth -->|"reads and writes"| node_models
node_customers -->|"reads and writes"| node_models
node_repairs -->|"reads and writes"| node_models
node_shops -->|"reads and writes"| node_models
node_plans -->|"reads"| node_models
node_subscription_service -->|"updates records"| node_models
node_models -->|"persists data"| node_database
node_routes -->|"applies middleware"| node_access
node_sms_job -.->|"uses contract"| node_sms_interface
node_sms_providers -.->|"implements contract"| node_sms_interface

click node_routes "https://github.com/mohammedsamisagheer-code/fixflow/blob/main/routes/api.php"
click node_auth "https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Http/Controllers/AuthController.php"
click node_access "https://github.com/mohammedsamisagheer-code/fixflow/tree/main/app/Http/Middleware"
click node_customers "https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Http/Controllers/Api/V1/CustomerController.php"
click node_customer_service "https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Services/CustomerService.php"
click node_repairs "https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Http/Controllers/Api/V1/RepairController.php"
click node_repair_service "https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Services/RepairService.php"
click node_shops "https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Http/Controllers/Api/V1/ShopController.php"
click node_shop_service "https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Services/ShopService.php"
click node_plans "https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Http/Controllers/Api/V1/PlanController.php"
click node_subscriptions "https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Http/Controllers/Api/V1/SubscriptionController.php"
click node_subscription_service "https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Services/SubscriptionService.php"
click node_sms_job "https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Jobs/SendSmsJob.php"
click node_sms_interface "https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Contracts/SmsServiceInterface.php"
click node_sms_providers "https://github.com/mohammedsamisagheer-code/fixflow/tree/main/app/Services"
click node_models "https://github.com/mohammedsamisagheer-code/fixflow/tree/main/app/Models"

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_routes,node_auth,node_access,node_client toneBlue
class node_customers,node_customer_service,node_repairs,node_repair_service,node_shops,node_shop_service toneAmber
class node_plans,node_subscriptions,node_subscription_service toneMint
class node_sms_job,node_sms_interface,node_sms_providers toneRose
class node_models,node_database toneIndigo
```

## Components

### API and access

- [API routes](https://github.com/mohammedsamisagheer-code/fixflow/blob/main/routes/api.php): `routes/api.php`
- [Authentication](https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Http/Controllers/AuthController.php): `app/Http/Controllers/AuthController.php`
- [Access middleware](https://github.com/mohammedsamisagheer-code/fixflow/tree/main/app/Http/Middleware): `app/Http/Middleware`

### Shop operations

- [Customer API](https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Http/Controllers/Api/V1/CustomerController.php): `app/Http/Controllers/Api/V1/CustomerController.php`
- [Customer service](https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Services/CustomerService.php): `app/Services/CustomerService.php`
- [Repair API](https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Http/Controllers/Api/V1/RepairController.php): `app/Http/Controllers/Api/V1/RepairController.php`
- [Repair service](https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Services/RepairService.php): `app/Services/RepairService.php`
- [Shop API](https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Http/Controllers/Api/V1/ShopController.php): `app/Http/Controllers/Api/V1/ShopController.php`
- [Shop service](https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Services/ShopService.php): `app/Services/ShopService.php`

### Plans and subscriptions

- [Plan API](https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Http/Controllers/Api/V1/PlanController.php): `app/Http/Controllers/Api/V1/PlanController.php`
- [Subscription API](https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Http/Controllers/Api/V1/SubscriptionController.php): `app/Http/Controllers/Api/V1/SubscriptionController.php`
- [Subscription service](https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Services/SubscriptionService.php): `app/Services/SubscriptionService.php`

### SMS messaging

- [SMS job](https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Jobs/SendSmsJob.php): `app/Jobs/SendSmsJob.php`
- [SMS contract](https://github.com/mohammedsamisagheer-code/fixflow/blob/main/app/Contracts/SmsServiceInterface.php): `app/Contracts/SmsServiceInterface.php`
- [SMS providers](https://github.com/mohammedsamisagheer-code/fixflow/tree/main/app/Services): `app/Services`

### Domain data

- [Domain models](https://github.com/mohammedsamisagheer-code/fixflow/tree/main/app/Models): `app/Models`
- **Relational database**

### Other components

- **API client**

## Connections

- API client → API routes: sends requests
- API routes → Authentication: dispatches
- API routes → Customer API: dispatches
- API routes → Repair API: dispatches
- API routes → Shop API: dispatches
- API routes → Plan API: dispatches
- API routes → Subscription API: dispatches
- Authentication → Subscription service: assigns trial
- Customer API → Customer service: calls on delete
- Repair API → Repair service: calls
- Shop API → Shop service: calls
- Subscription API → Subscription service: calls
- Authentication → Domain models: reads and writes
- Customer API → Domain models: reads and writes
- Repair API → Domain models: reads and writes
- Shop API → Domain models: reads and writes
- Plan API → Domain models: reads
- Subscription service → Domain models: updates records
- Domain models → Relational database: persists data
- API routes → Access middleware: applies middleware
- SMS job → SMS contract: uses contract
- SMS providers → SMS contract: implements contract
