# daniellepashayan/homecare_file_move architecture

> Architecture diagram of the GitHub repository daniellepashayan/homecare_file_move, 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/daniellepashayan/homecare_file_move
- Repository: https://github.com/daniellepashayan/homecare_file_move

## Overview

Homecare_File_Move is a small file-processing bot: it waits for a dated source folder, inventories its PDFs, moves them to a shared destination, removes emptied folders, and writes a movement tracker. The README describes an Excel audit file, but the sampled implementation writes a dated CSV. The runtime is contained in main.py; external folder paths are inferred from that source, while internal method-level wiring is summarized at the class level.

Main entry points: [`main.py`](https://github.com/daniellepashayan/homecare_file_move/blob/main/main.py) (Polling entry point)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Runtime workflow"]
  node_entry["Polling entry point<br/>[main.py]"]
  node_folder["Folder workflow<br/>[main.py]"]
  node_inventory["PDF inventory<br/>[main.py]"]
  node_cleanup["Empty-folder cleanup<br/>[main.py]"]
end

subgraph group_audit["Audit and logging"]
  node_tracker["Movement tracker<br/>[main.py]"]
  node_csv["Dated CSV tracker<br/>[main.py]"]
end

node_operator(("Bot process"))
node_source["Source folders"]
node_destination["Shared destination"]
node_logs["Runtime logs"]

node_operator -->|"starts"| node_entry
node_entry -->|"checks path"| node_source
node_entry -->|"runs workflow"| node_folder
node_entry -->|"writes tracker"| node_csv
node_folder -->|"scans PDFs"| node_source
node_folder -->|"builds inventory"| node_inventory
node_inventory -->|"initializes rows"| node_tracker
node_folder -->|"moves PDFs"| node_destination
node_folder -->|"marks moved"| node_tracker
node_folder -->|"checks folders"| node_cleanup
node_cleanup -->|"removes empty folders"| node_source
node_entry -->|"checks status"| node_tracker
node_csv -->|"writes dated CSV"| node_logs
node_entry -->|"records events"| node_logs

click node_entry "https://github.com/daniellepashayan/homecare_file_move/blob/main/main.py"
click node_folder "https://github.com/daniellepashayan/homecare_file_move/blob/main/main.py"
click node_inventory "https://github.com/daniellepashayan/homecare_file_move/blob/main/main.py"
click node_tracker "https://github.com/daniellepashayan/homecare_file_move/blob/main/main.py"
click node_cleanup "https://github.com/daniellepashayan/homecare_file_move/blob/main/main.py"
click node_csv "https://github.com/daniellepashayan/homecare_file_move/blob/main/main.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_entry,node_folder,node_inventory,node_cleanup toneBlue
class node_tracker,node_csv toneAmber
class node_operator,node_source,node_destination,node_logs toneIndigo
```

## Components

### Runtime workflow

- [Polling entry point](https://github.com/daniellepashayan/homecare_file_move/blob/main/main.py): `main.py`
- [Folder workflow](https://github.com/daniellepashayan/homecare_file_move/blob/main/main.py): `main.py`
- [PDF inventory](https://github.com/daniellepashayan/homecare_file_move/blob/main/main.py): `main.py`
- [Empty-folder cleanup](https://github.com/daniellepashayan/homecare_file_move/blob/main/main.py): `main.py`

### Audit and logging

- [Movement tracker](https://github.com/daniellepashayan/homecare_file_move/blob/main/main.py): `main.py`
- [Dated CSV tracker](https://github.com/daniellepashayan/homecare_file_move/blob/main/main.py): `main.py`

### Other components

- **Bot process**
- **Source folders**
- **Shared destination**
- **Runtime logs**

## Connections

- Bot process → Polling entry point: starts
- Polling entry point → Source folders: checks path
- Polling entry point → Folder workflow: runs workflow
- Polling entry point → Dated CSV tracker: writes tracker
- Folder workflow → Source folders: scans PDFs
- Folder workflow → PDF inventory: builds inventory
- PDF inventory → Movement tracker: initializes rows
- Folder workflow → Shared destination: moves PDFs
- Folder workflow → Movement tracker: marks moved
- Folder workflow → Empty-folder cleanup: checks folders
- Empty-folder cleanup → Source folders: removes empty folders
- Polling entry point → Movement tracker: checks status
- Dated CSV tracker → Runtime logs: writes dated CSV
- Polling entry point → Runtime logs: records events
