# defconparrot/defcongroups architecture

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

- Interactive diagram: https://gitdiagram.com/defconparrot/defcongroups
- Repository: https://github.com/defconparrot/defcongroups

## Overview

This repository is a curated DEF CON Groups directory: someone looking for a nearby group consults the regional listings, which are also present as HTML, PDF, and spreadsheet editions. The README additionally documents group FAQs, best practices, inactive/banned/merged status, and contact or registration guidance, but those details are not all visible in the sampled files. The sampled spreadsheet utility checks links and duplicate names and produces corrected spreadsheet and report outputs. Relationships beyond the documented directory use and the utility’s shown behavior are omitted.

Main entry points: [`DCGroups-XLSX/fix.py`](https://github.com/defconparrot/defcongroups/blob/main/DCGroups-XLSX/fix.py) (Spreadsheet checker), [`DCGroups`](https://github.com/defconparrot/defcongroups/tree/main/DCGroups) (Regional listings), [`README.md`](https://github.com/defconparrot/defcongroups/blob/main/README.md) (FAQs and guidance), [`DCGroups-XLSX`](https://github.com/defconparrot/defcongroups/tree/main/DCGroups-XLSX) (Spreadsheet editions)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_directory["Group directory"]
  node_regional["Regional listings"]
  node_directory_guidance["FAQs and guidance<br/>[README.md]"]
end

subgraph group_editions["Published editions"]
  node_markdown["Markdown editions"]
  node_html["HTML editions"]
  node_pdf["PDF editions"]
  node_spreadsheets["Spreadsheet editions"]
  node_archive["Archived directory"]
end

subgraph group_maintenance["Directory maintenance"]
  node_checker["Spreadsheet checker<br/>[fix.py]"]
  node_staging["Staging data"]
end

node_seeker(("Group seeker"))

node_seeker -->|"consults"| node_regional
node_seeker -->|"reads"| node_directory_guidance
node_checker -->|"checks links"| node_spreadsheets

click node_regional "https://github.com/defconparrot/defcongroups/tree/main/DCGroups"
click node_directory_guidance "https://github.com/defconparrot/defcongroups/blob/main/README.md"
click node_markdown "https://github.com/defconparrot/defcongroups/tree/main/DCGroups"
click node_html "https://github.com/defconparrot/defcongroups/tree/main/DCGroups-HTML"
click node_pdf "https://github.com/defconparrot/defcongroups/tree/main/DCG-PDF"
click node_spreadsheets "https://github.com/defconparrot/defcongroups/tree/main/DCGroups-XLSX"
click node_archive "https://github.com/defconparrot/defcongroups/tree/main/DCGroups-Archive"
click node_checker "https://github.com/defconparrot/defcongroups/blob/main/DCGroups-XLSX/fix.py"
click node_staging "https://github.com/defconparrot/defcongroups/tree/main/data_staging"

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_regional,node_directory_guidance toneBlue
class node_markdown,node_html,node_pdf,node_spreadsheets,node_archive toneAmber
class node_checker,node_staging toneMint
class node_seeker toneIndigo
```

## Components

### Group directory

- [Regional listings](https://github.com/defconparrot/defcongroups/tree/main/DCGroups): `DCGroups`
- [FAQs and guidance](https://github.com/defconparrot/defcongroups/blob/main/README.md): `README.md`

### Published editions

- [Markdown editions](https://github.com/defconparrot/defcongroups/tree/main/DCGroups): `DCGroups`
- [HTML editions](https://github.com/defconparrot/defcongroups/tree/main/DCGroups-HTML): `DCGroups-HTML`
- [PDF editions](https://github.com/defconparrot/defcongroups/tree/main/DCG-PDF): `DCG-PDF`
- [Spreadsheet editions](https://github.com/defconparrot/defcongroups/tree/main/DCGroups-XLSX): `DCGroups-XLSX`
- [Archived directory](https://github.com/defconparrot/defcongroups/tree/main/DCGroups-Archive): `DCGroups-Archive`

### Directory maintenance

- [Spreadsheet checker](https://github.com/defconparrot/defcongroups/blob/main/DCGroups-XLSX/fix.py): `DCGroups-XLSX/fix.py`
- [Staging data](https://github.com/defconparrot/defcongroups/tree/main/data_staging): `data_staging`

### Other components

- **Group seeker**

## Connections

- Group seeker → Regional listings: consults (evidence: `README.md`)
- Group seeker → FAQs and guidance: reads (evidence: `README.md`)
- Spreadsheet checker → Spreadsheet editions: checks links (evidence: `DCGroups-XLSX/fix.py`)
