# acs-buy/fabric-opci-ec architecture

> Architecture diagram of the GitHub repository acs-buy/fabric-opci-ec, 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/acs-buy/fabric-opci-ec
- Repository: https://github.com/acs-buy/fabric-opci-ec

## Overview

This is a Microsoft Fabric/Power BI OPCI audit-and-client solution. Reviewers use a mission-conduct screen to manage client files, scope, evidence, audit questions, accounting entries, conclusions and approvals; clients receive eight pages of reporting on reviewed data. Report buttons dispatch to separate client and reviewer function sets, which call database procedures; the functions also support spreadsheet exchange and evidence registration in the lakehouse. The README documents the product capabilities; the sampled function excerpts support the function-to-database and evidence-store links. The semantic-model path is identified in a setup script, but its implementation was not sampled.

Main entry points: [`fabric/Conduite de mission.Report`](https://github.com/acs-buy/fabric-opci-ec/tree/main/fabric/Conduite%20de%20mission.Report) (Mission report), [`fabric/fn_ecran_client.UserDataFunction/function_app.py`](https://github.com/acs-buy/fabric-opci-ec/blob/main/fabric/fn_ecran_client.UserDataFunction/function_app.py) (Client actions), [`fabric/fn_ecran_revision.UserDataFunction/function_app.py`](https://github.com/acs-buy/fabric-opci-ec/blob/main/fabric/fn_ecran_revision.UserDataFunction/function_app.py) (Review actions), [`fabric/DossierOPCI.SQLDatabase`](https://github.com/acs-buy/fabric-opci-ec/tree/main/fabric/DossierOPCI.SQLDatabase) (OPCI database)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["User experience"]
  node_report["Mission report"]
end

subgraph group_operations["Mission operations"]
  node_clientfn["Client actions<br/>[function_app.py]"]
  node_revisionfn["Review actions<br/>[function_app.py]"]
end

subgraph group_data["Data platform"]
  node_sql[("OPCI database")]
  node_model["Semantic model"]
end

subgraph group_integrations["File exchange"]
  node_lakehouse[("Evidence lakehouse<br/>[Coffre.Lakehouse]")]
end

node_reviewer(("Reviewer"))
node_client(("Client"))
node_excel["Excel workbooks"]
node_sharepoint["SharePoint files"]

node_reviewer -->|"uses"| node_report
node_client -->|"views"| node_report
node_report -->|"dispatches client actions"| node_clientfn
node_report -->|"dispatches review actions"| node_revisionfn
node_clientfn -->|"executes procedures"| node_sql
node_revisionfn -->|"executes procedures"| node_sql
node_sql -->|"supplies queried data"| node_model
node_model -->|"feeds report visuals"| node_report
node_clientfn -->|"registers evidence"| node_lakehouse
node_revisionfn -->|"stores exports"| node_lakehouse
node_excel -.->|"imports workbook data"| node_clientfn
node_excel -.->|"imports and exports"| node_revisionfn
node_sharepoint -.->|"provides evidence files"| node_lakehouse

click node_report "https://github.com/acs-buy/fabric-opci-ec/tree/main/fabric/Conduite%20de%20mission.Report"
click node_clientfn "https://github.com/acs-buy/fabric-opci-ec/blob/main/fabric/fn_ecran_client.UserDataFunction/function_app.py"
click node_revisionfn "https://github.com/acs-buy/fabric-opci-ec/blob/main/fabric/fn_ecran_revision.UserDataFunction/function_app.py"
click node_sql "https://github.com/acs-buy/fabric-opci-ec/tree/main/fabric/DossierOPCI.SQLDatabase"
click node_model "https://github.com/acs-buy/fabric-opci-ec/tree/main/fabric/conduite_de_mission.SemanticModel"
click node_lakehouse "https://github.com/acs-buy/fabric-opci-ec/tree/main/fabric/Coffre.Lakehouse"

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_report,node_reviewer,node_client toneBlue
class node_clientfn,node_revisionfn toneAmber
class node_sql,node_model toneMint
class node_lakehouse toneRose
class node_excel,node_sharepoint toneIndigo
```

## Components

### User experience

- [Mission report](https://github.com/acs-buy/fabric-opci-ec/tree/main/fabric/Conduite%20de%20mission.Report): `fabric/Conduite de mission.Report`

### Mission operations

- [Client actions](https://github.com/acs-buy/fabric-opci-ec/blob/main/fabric/fn_ecran_client.UserDataFunction/function_app.py): `fabric/fn_ecran_client.UserDataFunction/function_app.py`
- [Review actions](https://github.com/acs-buy/fabric-opci-ec/blob/main/fabric/fn_ecran_revision.UserDataFunction/function_app.py): `fabric/fn_ecran_revision.UserDataFunction/function_app.py`

### Data platform

- [OPCI database](https://github.com/acs-buy/fabric-opci-ec/tree/main/fabric/DossierOPCI.SQLDatabase): `fabric/DossierOPCI.SQLDatabase`
- [Semantic model](https://github.com/acs-buy/fabric-opci-ec/tree/main/fabric/conduite_de_mission.SemanticModel): `fabric/conduite_de_mission.SemanticModel`

### File exchange

- [Evidence lakehouse](https://github.com/acs-buy/fabric-opci-ec/tree/main/fabric/Coffre.Lakehouse): `fabric/Coffre.Lakehouse`

### Other components

- **Reviewer**
- **Client**
- **Excel workbooks**
- **SharePoint files**

## Connections

- Reviewer → Mission report: uses
- Client → Mission report: views
- Mission report → Client actions: dispatches client actions
- Mission report → Review actions: dispatches review actions
- Client actions → OPCI database: executes procedures
- Review actions → OPCI database: executes procedures
- OPCI database → Semantic model: supplies queried data
- Semantic model → Mission report: feeds report visuals
- Client actions → Evidence lakehouse: registers evidence
- Review actions → Evidence lakehouse: stores exports
- Excel workbooks → Client actions: imports workbook data
- Excel workbooks → Review actions: imports and exports
- SharePoint files → Evidence lakehouse: provides evidence files
