# sammylee24/automators-guild-sprint architecture

> Architecture diagram of the GitHub repository sammylee24/automators-guild-sprint, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sammylee24/automators-guild-sprint
- Repository: https://github.com/sammylee24/automators-guild-sprint

## Overview

This repository is a portfolio of sprint exercises, not one integrated application. Its clearest workflows are network-device discovery and command/configuration operations, alongside separate AWS VPC lifecycle and configuration-guardian projects. The README also names Python, Boto3, Ansible, and Serverless; the tree contains AWS and Ansible material but no identifiable Serverless subsystem. Several unsampled projects are retained as subsystem nodes, but their internal wiring is not inferred.

Main entry points: [`Week 1 - Python-Git/Week Project/03 - MAC finder/main.py`](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Week%20Project/03%20-%20MAC%20finder/main.py) (MAC finder), [`Week 1 - Python-Git/Day 2/main.py`](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Day%202/main.py) (Device command runner), [`Week 2 - Python OOP/Week Project/06 - Config Backup/main.py`](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%202%20-%20Python%20OOP/Week%20Project/06%20-%20Config%20Backup/main.py) (Config backup), [`Week 3 - AWS/Week Project/08 - AWS VPC Factory/vpc-factory/vpc_factory.py`](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%203%20-%20AWS/Week%20Project/08%20-%20AWS%20VPC%20Factory/vpc-factory/vpc_factory.py) (VPC factory)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_discovery["Network discovery"]
  node_device_inventory["Device inventory<br/>[device_list.py]"]
  node_network_mapping["Network mapping"]
  node_mac_extractor["MAC extractor<br/>[main.py]"]
  node_ip_extractor["IP extractor<br/>[main.py]"]
  node_mac_finder["MAC finder<br/>[main.py]"]
  node_mac_utilities["MAC utilities<br/>[network_util.py]"]
  node_host_inventory["Host inventory<br/>[hosts.py]"]
end

subgraph group_operations["Network operations"]
  node_device_commands["Device command runner<br/>[main.py]"]
  node_network_utils["Network utilities<br/>[network_utils.py]"]
  node_device_configuration["Device configuration<br/>[main.py]"]
  node_command_dispatch["Command dispatcher"]
  node_config_backup["Config backup<br/>[main.py]"]
  node_backup_files["Backup files"]
end

subgraph group_cloud["AWS lifecycle"]
  node_vpc_factory["VPC factory<br/>[vpc_factory.py]"]
  node_aws_commission["AWS commissioning"]
  node_aws_decommission["AWS decommissioning"]
end

subgraph group_governance["Configuration governance"]
  node_guardian_week7["Config guardian<br/>[guardian.py]"]
  node_guardian_week8["Config guardian<br/>[guardian.py]"]
end

node_operator(("Operator"))
node_network_devices(("Network devices"))
node_aws(("AWS"))

node_operator -.->|"runs CLI"| node_mac_extractor
node_operator -.->|"runs CLI"| node_ip_extractor
node_operator -.->|"runs CLI"| node_mac_finder
node_mac_finder -->|"loads devices"| node_host_inventory
node_mac_finder -->|"queries and parses"| node_mac_utilities
node_mac_finder -.->|"queries SSH"| node_network_devices
node_network_mapping -.->|"maps topology"| node_network_devices
node_operator -.->|"runs script"| node_device_commands
node_device_commands -->|"loads devices"| node_device_inventory
node_device_commands -->|"calls helpers"| node_network_utils
node_device_commands -.->|"executes commands"| node_network_devices
node_operator -.->|"runs script"| node_device_configuration
node_device_configuration -.->|"sends configuration"| node_network_devices
node_operator -.->|"runs script"| node_command_dispatch
node_command_dispatch -.->|"dispatches commands"| node_network_devices
node_operator -.->|"runs script"| node_config_backup
node_config_backup -->|"loads devices"| node_device_inventory
node_config_backup -.->|"reads running config"| node_network_devices
node_config_backup -->|"writes backups"| node_backup_files
node_operator -.->|"runs factory"| node_vpc_factory
node_vpc_factory -.->|"creates resources"| node_aws_commission
node_vpc_factory -.->|"destroys resources"| node_aws_decommission
node_aws_commission -.->|"provisions VPC"| node_aws
node_aws_decommission -.->|"removes resources"| node_aws
node_operator -.->|"runs guardian"| node_guardian_week7
node_operator -.->|"runs guardian"| node_guardian_week8

click node_device_inventory "https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Day%201/device_list.py"
click node_network_mapping "https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%202%20-%20Python%20OOP/Day%202/network_inventory.py"
click node_mac_extractor "https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Week%20Project/01%20-%20MAC%20extractor/main.py"
click node_ip_extractor "https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Week%20Project/02%20-%20IP%20Extractor/main.py"
click node_mac_finder "https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Week%20Project/03%20-%20MAC%20finder/main.py"
click node_mac_utilities "https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Week%20Project/03%20-%20MAC%20finder/network_util.py"
click node_host_inventory "https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Day%206/hosts.py"
click node_device_commands "https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Day%202/main.py"
click node_network_utils "https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Day%202/network_utils.py"
click node_device_configuration "https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%202%20-%20Python%20OOP/Day%204/main.py"
click node_command_dispatch "https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%202%20-%20Python%20OOP/Week%20Project/05%20-%20Command%20Dispatch/command-dispatcher.py"
click node_config_backup "https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%202%20-%20Python%20OOP/Week%20Project/06%20-%20Config%20Backup/main.py"
click node_vpc_factory "https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%203%20-%20AWS/Week%20Project/08%20-%20AWS%20VPC%20Factory/vpc-factory/vpc_factory.py"
click node_aws_commission "https://github.com/sammylee24/automators-guild-sprint/tree/main/Week%203%20-%20AWS/Week%20Project/08%20-%20AWS%20VPC%20Factory/aws-toolkit/commission"
click node_aws_decommission "https://github.com/sammylee24/automators-guild-sprint/tree/main/Week%203%20-%20AWS/Week%20Project/08%20-%20AWS%20VPC%20Factory/aws-toolkit/decommission"
click node_guardian_week7 "https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%207/config-guardian/guardian.py"
click node_guardian_week8 "https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%208/config-guardian/guardian.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_device_inventory,node_network_mapping,node_mac_extractor,node_ip_extractor,node_mac_finder,node_mac_utilities,node_host_inventory toneBlue
class node_device_commands,node_network_utils,node_device_configuration,node_command_dispatch,node_config_backup,node_backup_files toneAmber
class node_vpc_factory,node_aws_commission,node_aws_decommission toneMint
class node_guardian_week7,node_guardian_week8 toneRose
class node_operator,node_network_devices,node_aws toneIndigo
```

## Components

### Network discovery

- [Device inventory](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Day%201/device_list.py): `Week 1 - Python-Git/Day 1/device_list.py`
- [Network mapping](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%202%20-%20Python%20OOP/Day%202/network_inventory.py): `Week 2 - Python OOP/Day 2/network_inventory.py`
- [MAC extractor](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Week%20Project/01%20-%20MAC%20extractor/main.py): `Week 1 - Python-Git/Week Project/01 - MAC extractor/main.py`
- [IP extractor](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Week%20Project/02%20-%20IP%20Extractor/main.py): `Week 1 - Python-Git/Week Project/02 - IP Extractor/main.py`
- [MAC finder](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Week%20Project/03%20-%20MAC%20finder/main.py): `Week 1 - Python-Git/Week Project/03 - MAC finder/main.py`
- [MAC utilities](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Week%20Project/03%20-%20MAC%20finder/network_util.py): `Week 1 - Python-Git/Week Project/03 - MAC finder/network_util.py`
- [Host inventory](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Day%206/hosts.py): `Week 1 - Python-Git/Day 6/hosts.py`

### Network operations

- [Device command runner](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Day%202/main.py): `Week 1 - Python-Git/Day 2/main.py`
- [Network utilities](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%201%20-%20Python-Git/Day%202/network_utils.py): `Week 1 - Python-Git/Day 2/network_utils.py`
- [Device configuration](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%202%20-%20Python%20OOP/Day%204/main.py): `Week 2 - Python OOP/Day 4/main.py`
- [Command dispatcher](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%202%20-%20Python%20OOP/Week%20Project/05%20-%20Command%20Dispatch/command-dispatcher.py): `Week 2 - Python OOP/Week Project/05 - Command Dispatch/command-dispatcher.py`
- [Config backup](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%202%20-%20Python%20OOP/Week%20Project/06%20-%20Config%20Backup/main.py): `Week 2 - Python OOP/Week Project/06 - Config Backup/main.py`
- **Backup files**

### AWS lifecycle

- [VPC factory](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%203%20-%20AWS/Week%20Project/08%20-%20AWS%20VPC%20Factory/vpc-factory/vpc_factory.py): `Week 3 - AWS/Week Project/08 - AWS VPC Factory/vpc-factory/vpc_factory.py`
- [AWS commissioning](https://github.com/sammylee24/automators-guild-sprint/tree/main/Week%203%20-%20AWS/Week%20Project/08%20-%20AWS%20VPC%20Factory/aws-toolkit/commission): `Week 3 - AWS/Week Project/08 - AWS VPC Factory/aws-toolkit/commission`
- [AWS decommissioning](https://github.com/sammylee24/automators-guild-sprint/tree/main/Week%203%20-%20AWS/Week%20Project/08%20-%20AWS%20VPC%20Factory/aws-toolkit/decommission): `Week 3 - AWS/Week Project/08 - AWS VPC Factory/aws-toolkit/decommission`

### Configuration governance

- [Config guardian](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%207/config-guardian/guardian.py): `Week 7/config-guardian/guardian.py`
- [Config guardian](https://github.com/sammylee24/automators-guild-sprint/blob/main/Week%208/config-guardian/guardian.py): `Week 8/config-guardian/guardian.py`

### Other components

- **Operator**
- **Network devices**
- **AWS**

## Connections

- Operator → MAC extractor: runs CLI
- Operator → IP extractor: runs CLI
- Operator → MAC finder: runs CLI
- MAC finder → Host inventory: loads devices (evidence: `Week 1 - Python-Git/Week Project/03 - MAC finder/main.py`)
- MAC finder → MAC utilities: queries and parses (evidence: `Week 1 - Python-Git/Week Project/03 - MAC finder/main.py`)
- MAC finder → Network devices: queries SSH
- Network mapping → Network devices: maps topology
- Operator → Device command runner: runs script
- Device command runner → Device inventory: loads devices (evidence: `Week 1 - Python-Git/Day 2/main.py`)
- Device command runner → Network utilities: calls helpers (evidence: `Week 1 - Python-Git/Day 2/main.py`)
- Device command runner → Network devices: executes commands
- Operator → Device configuration: runs script
- Device configuration → Network devices: sends configuration
- Operator → Command dispatcher: runs script
- Command dispatcher → Network devices: dispatches commands
- Operator → Config backup: runs script
- Config backup → Device inventory: loads devices (evidence: `Week 2 - Python OOP/Week Project/06 - Config Backup/main.py`)
- Config backup → Network devices: reads running config
- Config backup → Backup files: writes backups (evidence: `Week 2 - Python OOP/Week Project/06 - Config Backup/main.py`)
- Operator → VPC factory: runs factory
- VPC factory → AWS commissioning: creates resources
- VPC factory → AWS decommissioning: destroys resources
- AWS commissioning → AWS: provisions VPC
- AWS decommissioning → AWS: removes resources
- Operator → Config guardian: runs guardian
- Operator → Config guardian: runs guardian
