# mamad66ahmadi/my_cmms_software architecture

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

- Interactive diagram: https://gitdiagram.com/mamad66ahmadi/my_cmms_software
- Repository: https://github.com/mamad66ahmadi/my_cmms_software

## Overview

This Django CMMS organizes maintenance work around fault reports and work orders, with separate equipment/location, daily-report, and permit-management capabilities. The clearest evidenced conversion is a fault report becoming a work order with an initial task; permit services separately enforce workflow authorization and handle shift signoffs and Fire/Gas/ESD isolation. The tree identifies web views and APIs, but the README is empty and their call wiring was not sampled, so those connections are shown only where the supplied service code supports them.

Main entry points: [`permits/services/authorization_service.py`](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/services/authorization_service.py) (Workflow authorization), [`work_orders/models/wo_models.py`](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/work_orders/models/wo_models.py) (Work orders and tasks), [`equipment/models/equipment_models.py`](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/equipment/models/equipment_models.py) (Equipment and locations), [`work_orders/services/wo_creation_service.py`](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/work_orders/services/wo_creation_service.py) (WO creation)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_work["Maintenance work"]
  node_fault_views["Fault report views<br/>[fr_create_views.py]"]
  node_fault_models[("Fault reports")]
  node_wo_service["WO creation"]
  node_wo_models[("Work orders and tasks<br/>[wo_models.py]")]
  node_wo_views["Work order views<br/>[wo_detail_views.py]"]
  node_wo_filter["WO filtering"]
  node_daily_views["Daily report views<br/>[dr_list_views.py]"]
  node_daily_service["Report counts<br/>[services.py]"]
  node_daily_models[("Daily reports<br/>[models.py]")]
end

subgraph group_permits["Permit control"]
  node_permit_views["Permit views"]
  node_workflow_service["Permit workflow"]
  node_auth_service["Workflow authorization"]
  node_permit_models[("Permit and workflow data<br/>[permit_models.py]")]
  node_shift_service["Shift management"]
  node_shift_models[("Shift and signoff data")]
  node_fg_service["Isolation signing"]
  node_fg_models[("Fire/Gas/ESD data")]
end

subgraph group_assets["Asset records"]
  node_equipment_views["Equipment views<br/>[equipment_views.py]"]
  node_equipment_models[("Equipment and locations")]
end

subgraph group_identity["Accounts"]
  node_account_models[("Users and departments<br/>[models.py]")]
end

node_user(("CMMS user"))

node_user -->|"submits report"| node_fault_views
node_fault_views -->|"records report"| node_fault_models
node_wo_service -->|"reads report"| node_fault_models
node_wo_service -->|"creates order and task"| node_wo_models
node_user -->|"views orders"| node_wo_views
node_wo_views -->|"requests filtering"| node_wo_filter
node_wo_filter -->|"queries orders"| node_wo_models
node_user -->|"views reports"| node_daily_views
node_daily_service -->|"counts reports"| node_daily_models
node_user -->|"manages permits"| node_permit_views
node_permit_views -->|"requests workflow action"| node_workflow_service
node_workflow_service -->|"checks authorization"| node_auth_service
node_auth_service -->|"reads role assignments"| node_permit_models
node_shift_service -->|"checks role"| node_auth_service
node_shift_service -->|"manages shifts"| node_shift_models
node_fg_service -->|"checks role"| node_auth_service
node_fg_service -->|"updates isolation records"| node_fg_models
node_equipment_views -->|"accesses assets"| node_equipment_models
node_auth_service -->|"checks actor"| node_account_models
node_wo_models -.->|"references locations"| node_equipment_models
node_daily_models -.->|"references locations"| node_equipment_models

click node_fault_views "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/work_orders/views/fr_create_views.py"
click node_fault_models "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/work_orders/models/fault_report_models.py"
click node_wo_service "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/work_orders/services/wo_creation_service.py"
click node_wo_models "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/work_orders/models/wo_models.py"
click node_wo_views "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/work_orders/views/wo_detail_views.py"
click node_wo_filter "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/work_orders/services/wo_filter_service.py"
click node_daily_views "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/daily_reports/views/dr_list_views.py"
click node_daily_service "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/daily_reports/services.py"
click node_daily_models "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/daily_reports/models.py"
click node_permit_views "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/views/permit_detail_views.py"
click node_workflow_service "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/services/workflow_service.py"
click node_auth_service "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/services/authorization_service.py"
click node_permit_models "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/models/permit_models.py"
click node_shift_service "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/services/work_shift_service.py"
click node_shift_models "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/models/permit_shift_models.py"
click node_fg_service "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/services/fire_gas_esd_service.py"
click node_fg_models "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/models/permit_fg_esd_models.py"
click node_equipment_views "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/equipment/views/equipment_views.py"
click node_equipment_models "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/equipment/models/equipment_models.py"
click node_account_models "https://github.com/mamad66ahmadi/my_cmms_software/blob/main/accounts/models.py"

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_fault_views,node_fault_models,node_wo_service,node_wo_models,node_wo_views,node_wo_filter,node_daily_views,node_daily_service,node_daily_models,node_user toneBlue
class node_permit_views,node_workflow_service,node_auth_service,node_permit_models,node_shift_service,node_shift_models,node_fg_service,node_fg_models toneAmber
class node_equipment_views,node_equipment_models toneMint
class node_account_models toneRose
```

## Components

### Maintenance work

- [Fault report views](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/work_orders/views/fr_create_views.py): `work_orders/views/fr_create_views.py`
- [Fault reports](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/work_orders/models/fault_report_models.py): `work_orders/models/fault_report_models.py`
- [WO creation](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/work_orders/services/wo_creation_service.py): `work_orders/services/wo_creation_service.py`
- [Work orders and tasks](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/work_orders/models/wo_models.py): `work_orders/models/wo_models.py`
- [Work order views](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/work_orders/views/wo_detail_views.py): `work_orders/views/wo_detail_views.py`
- [WO filtering](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/work_orders/services/wo_filter_service.py): `work_orders/services/wo_filter_service.py`
- [Daily report views](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/daily_reports/views/dr_list_views.py): `daily_reports/views/dr_list_views.py`
- [Report counts](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/daily_reports/services.py): `daily_reports/services.py`
- [Daily reports](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/daily_reports/models.py): `daily_reports/models.py`

### Permit control

- [Permit views](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/views/permit_detail_views.py): `permits/views/permit_detail_views.py`
- [Permit workflow](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/services/workflow_service.py): `permits/services/workflow_service.py`
- [Workflow authorization](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/services/authorization_service.py): `permits/services/authorization_service.py`
- [Permit and workflow data](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/models/permit_models.py): `permits/models/permit_models.py`
- [Shift management](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/services/work_shift_service.py): `permits/services/work_shift_service.py`
- [Shift and signoff data](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/models/permit_shift_models.py): `permits/models/permit_shift_models.py`
- [Isolation signing](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/services/fire_gas_esd_service.py): `permits/services/fire_gas_esd_service.py`
- [Fire/Gas/ESD data](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/permits/models/permit_fg_esd_models.py): `permits/models/permit_fg_esd_models.py`

### Asset records

- [Equipment views](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/equipment/views/equipment_views.py): `equipment/views/equipment_views.py`
- [Equipment and locations](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/equipment/models/equipment_models.py): `equipment/models/equipment_models.py`

### Accounts

- [Users and departments](https://github.com/mamad66ahmadi/my_cmms_software/blob/main/accounts/models.py): `accounts/models.py`

### Other components

- **CMMS user**

## Connections

- CMMS user → Fault report views: submits report
- Fault report views → Fault reports: records report
- WO creation → Fault reports: reads report
- WO creation → Work orders and tasks: creates order and task
- CMMS user → Work order views: views orders
- Work order views → WO filtering: requests filtering
- WO filtering → Work orders and tasks: queries orders
- CMMS user → Daily report views: views reports
- Report counts → Daily reports: counts reports
- CMMS user → Permit views: manages permits
- Permit views → Permit workflow: requests workflow action
- Permit workflow → Workflow authorization: checks authorization
- Workflow authorization → Permit and workflow data: reads role assignments
- Shift management → Workflow authorization: checks role
- Shift management → Shift and signoff data: manages shifts
- Isolation signing → Workflow authorization: checks role
- Isolation signing → Fire/Gas/ESD data: updates isolation records
- Equipment views → Equipment and locations: accesses assets
- Workflow authorization → Users and departments: checks actor
- Work orders and tasks → Equipment and locations: references locations
- Daily reports → Equipment and locations: references locations
