Demo_Build / flowchart.md
blessedpug's picture
Added flowchart diagram
98b2898

A newer version of the Gradio SDK is available: 6.4.0

Upgrade

graph TD subgraph User_Interface[User Interface - Gradio] UI_AppPy["app.py (Gradio UI)"] UI_Uploads["Image/Form Uploads (Receipts, Child Fee, Medical)"] UI_Inputs["User Inputs (Employee Details, etc.)"] UI_Outputs["Processed Info / Filled PDFs"] end

subgraph Processing_Pipeline[Processing Pipeline]
    P_PipelinePy["pipeline.py"]
    P_OpenAI["OpenAI GPT-4o (Image to Text & Structured Data Extraction)"]
    P_ModelsPy["models.py (Pydantic Data Models)"]
    P_FormFillPy["form_fill.py (PDF Population)"]
    P_FraudPy["fraud.py (Fraud Detection)"]
    P_DataJson["data.json (Storage for Processed Receipts)"]
    P_TemplatesDir["templates/ (PDF Templates)"]
    P_OutputsDir["outputs/ (Generated PDFs)"]
end

UI_AppPy --> P_PipelinePy;

UI_Uploads --> P_PipelinePy;
UI_Inputs -- Employee Data etc. --> P_PipelinePy;
P_PipelinePy -- Extracted Info / PDF Paths --> UI_Outputs;

P_PipelinePy -- Sends Image Data --> P_OpenAI;
P_OpenAI -- Returns Structured JSON --> P_PipelinePy;
P_PipelinePy -- Validates/Uses --> P_ModelsPy;
P_PipelinePy -- Sends Data for PDF --> P_FormFillPy;
P_FormFillPy -- Uses PDF Templates from --> P_TemplatesDir;
P_FormFillPy -- Saves Filled PDF to --> P_OutputsDir;
P_PipelinePy -- Sends Receipt Data for Fraud Check --> P_FraudPy;
P_FraudPy -- Loads/Saves Receipt Data --> P_DataJson;
P_FraudPy -- Returns Fraud Status --> P_PipelinePy;

P_TemplatesDir -.-> P_FormFillPy;
P_OutputsDir <-.- P_FormFillPy;
P_DataJson -.-> P_FraudPy;

%% Styling
classDef ui fill:#D6EAF8,stroke:#3498DB,stroke-width:2px;
classDef process fill:#D5F5E3,stroke:#2ECC71,stroke-width:2px;
classDef external fill:#FCF3CF,stroke:#F1C40F,stroke-width:2px;
classDef storage fill:#EBDEF0,stroke:#8E44AD,stroke-width:2px;

class UI_AppPy,UI_Uploads,UI_Inputs,UI_Outputs ui;
class P_PipelinePy,P_ModelsPy,P_FormFillPy,P_FraudPy process;
class P_OpenAI external;
class P_DataJson,P_TemplatesDir,P_OutputsDir storage;