# barnalimohapatra/docker-workshop architecture

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

## Overview

This small repository contains independent Python examples rather than a documented, connected application. `pipeline/ingest_data.py` downloads January 2021 NYC yellow-taxi data in chunks and writes it to PostgreSQL; `pipeline/pipeline.py` reads a day argument and writes a small example DataFrame to Parquet. `pipeline/main.py` is a standalone greeting entry point. The README provides no further product capabilities or wiring, so no links between these scripts are inferred.

Main entry points: [`pipeline/ingest_data.py`](https://github.com/barnalimohapatra/docker-workshop/blob/main/pipeline/ingest_data.py) (Taxi Ingestion), [`pipeline/pipeline.py`](https://github.com/barnalimohapatra/docker-workshop/blob/main/pipeline/pipeline.py) (Parquet Example)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_ingest["Taxi Ingestion<br/>[ingest_data.py]"]
node_taxi_source["Taxi CSV"]
node_postgres[("PostgreSQL")]
node_parquet_example["Parquet Example<br/>[pipeline.py]"]
node_parquet_output["Parquet Output"]
node_greeting["Greeting Entry<br/>[main.py]"]

node_ingest -->|"downloads CSV"| node_taxi_source
node_ingest -->|"writes chunks"| node_postgres
node_parquet_example -->|"writes Parquet"| node_parquet_output

click node_ingest "https://github.com/barnalimohapatra/docker-workshop/blob/main/pipeline/ingest_data.py"
click node_parquet_example "https://github.com/barnalimohapatra/docker-workshop/blob/main/pipeline/pipeline.py"
click node_greeting "https://github.com/barnalimohapatra/docker-workshop/blob/main/pipeline/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_ingest,node_parquet_example,node_greeting toneTeal
class node_taxi_source,node_parquet_output toneIndigo
class node_postgres toneAmber
```

## Components

### Other components

- [Taxi Ingestion](https://github.com/barnalimohapatra/docker-workshop/blob/main/pipeline/ingest_data.py): `pipeline/ingest_data.py`
- **Taxi CSV**
- **PostgreSQL**
- [Parquet Example](https://github.com/barnalimohapatra/docker-workshop/blob/main/pipeline/pipeline.py): `pipeline/pipeline.py`
- **Parquet Output**
- [Greeting Entry](https://github.com/barnalimohapatra/docker-workshop/blob/main/pipeline/main.py): `pipeline/main.py`

## Connections

- Taxi Ingestion → Taxi CSV: downloads CSV (evidence: `pipeline/ingest_data.py`)
- Taxi Ingestion → PostgreSQL: writes chunks (evidence: `pipeline/ingest_data.py`)
- Parquet Example → Parquet Output: writes Parquet (evidence: `pipeline/pipeline.py`)
