# armaghan6623/no--show-iq- architecture

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

- Interactive diagram: https://gitdiagram.com/armaghan6623/no--show-iq-
- Repository: https://github.com/armaghan6623/no--show-iq-

## Overview

NoShowIQ predicts appointment no-show risk from clinic appointment data. The documented training workflow reads the Kaggle dataset, cleans and engineers features, trains and evaluates a classifier, and saves a model artifact; the API loads that artifact and serves single or batch predictions. The API source shown does not call the preprocessing or MongoDB modules, so those connections are not inferred. MongoDB’s prediction logging, training-run recording, and statistics capabilities are visible in its module, but their callers are not shown. The README also describes history and deployment capabilities not substantiated by the sampled runtime source.

Main entry points: [`run.py`](https://github.com/armaghan6623/no--show-iq-/blob/main/run.py) (Training runner), [`src/noshow_iq/api.py`](https://github.com/armaghan6623/no--show-iq-/blob/main/src/noshow_iq/api.py) (Prediction API), [`src/noshow_iq/model.py`](https://github.com/armaghan6623/no--show-iq-/blob/main/src/noshow_iq/model.py) (Train and evaluate), [`src/noshow_iq/preprocessing.py`](https://github.com/armaghan6623/no--show-iq-/blob/main/src/noshow_iq/preprocessing.py) (Feature preprocessing)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_training["Model training"]
  node_runner["Training runner<br/>[run.py]"]
  node_preprocessing["Feature preprocessing<br/>[preprocessing.py]"]
  node_model["Train and evaluate<br/>[model.py]"]
end

subgraph group_serving["Prediction API"]
  node_api["Prediction API<br/>[api.py]"]
end

subgraph group_persistence["Persistence"]
  node_mongo_ops["MongoDB operations<br/>[mongodb.py]"]
end

node_clinic(("Clinic user"))
node_dataset["Appointment CSV"]
node_artifact["Saved model artifact"]
node_mongodb[("MongoDB")]

node_runner -->|"reads"| node_dataset
node_runner -->|"calls preprocessing"| node_preprocessing
node_preprocessing -->|"returns features"| node_runner
node_runner -->|"trains and evaluates"| node_model
node_model -->|"returns model and metrics"| node_runner
node_runner -->|"saves model"| node_artifact
node_clinic -->|"requests prediction"| node_api
node_api -->|"loads model"| node_artifact
node_api -->|"predicts"| node_model
node_mongo_ops -->|"reads and writes"| node_mongodb

click node_dataset "https://github.com/armaghan6623/no--show-iq-/blob/main/data/KaggleV2-May-2016.csv"
click node_runner "https://github.com/armaghan6623/no--show-iq-/blob/main/run.py"
click node_preprocessing "https://github.com/armaghan6623/no--show-iq-/blob/main/src/noshow_iq/preprocessing.py"
click node_model "https://github.com/armaghan6623/no--show-iq-/blob/main/src/noshow_iq/model.py"
click node_api "https://github.com/armaghan6623/no--show-iq-/blob/main/src/noshow_iq/api.py"
click node_mongo_ops "https://github.com/armaghan6623/no--show-iq-/blob/main/src/noshow_iq/mongodb.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_runner,node_preprocessing,node_model,node_clinic toneBlue
class node_api,node_mongodb toneAmber
class node_mongo_ops toneMint
class node_dataset toneTeal
class node_artifact toneIndigo
```

## Components

### Model training

- [Training runner](https://github.com/armaghan6623/no--show-iq-/blob/main/run.py): `run.py`
- [Feature preprocessing](https://github.com/armaghan6623/no--show-iq-/blob/main/src/noshow_iq/preprocessing.py): `src/noshow_iq/preprocessing.py`
- [Train and evaluate](https://github.com/armaghan6623/no--show-iq-/blob/main/src/noshow_iq/model.py): `src/noshow_iq/model.py`

### Prediction API

- [Prediction API](https://github.com/armaghan6623/no--show-iq-/blob/main/src/noshow_iq/api.py): `src/noshow_iq/api.py`

### Persistence

- [MongoDB operations](https://github.com/armaghan6623/no--show-iq-/blob/main/src/noshow_iq/mongodb.py): `src/noshow_iq/mongodb.py`

### Other components

- **Clinic user**
- [Appointment CSV](https://github.com/armaghan6623/no--show-iq-/blob/main/data/KaggleV2-May-2016.csv): `data/KaggleV2-May-2016.csv`
- **Saved model artifact**
- **MongoDB**

## Connections

- Training runner → Appointment CSV: reads
- Training runner → Feature preprocessing: calls preprocessing
- Feature preprocessing → Training runner: returns features
- Training runner → Train and evaluate: trains and evaluates
- Train and evaluate → Training runner: returns model and metrics
- Training runner → Saved model artifact: saves model
- Clinic user → Prediction API: requests prediction
- Prediction API → Saved model artifact: loads model
- Prediction API → Train and evaluate: predicts
- MongoDB operations → MongoDB: reads and writes
