# faysalkarasoy/bulkgatehandler architecture

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

- Interactive diagram: https://gitdiagram.com/faysalkarasoy/bulkgatehandler
- Repository: https://github.com/faysalkarasoy/bulkgatehandler

## Overview

BulkGateHandler is a small SMS-sending library. A caller supplies BulkGate settings, creates a BulkGate instance, and calls Send with a phone number, message, result flag, and country. The handler sends the SMS through the documented BulkGate service endpoint. The README supports this workflow, but source excerpts were unavailable, so internal request handling and response processing are not shown.

Main entry points: [`BulkGateClass.vb`](https://github.com/faysalkarasoy/bulkgatehandler/blob/main/BulkGateClass.vb) (SMS handler), [`BulkGateSettings.vb`](https://github.com/faysalkarasoy/bulkgatehandler/blob/main/BulkGateSettings.vb) (BulkGate settings), [`Country.vb`](https://github.com/faysalkarasoy/bulkgatehandler/blob/main/Country.vb) (Country)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_caller(("Application caller"))
node_settings["BulkGate settings"]
node_handler["SMS handler<br/>[BulkGateClass.vb]"]
node_country["Country<br/>[Country.vb]"]
node_api["BulkGate SMS API"]

node_caller -->|"sets credentials"| node_settings
node_caller -->|"constructs and calls"| node_handler
node_settings -->|"configures"| node_handler
node_caller -->|"selects country"| node_country
node_handler -->|"sends SMS"| node_api

click node_settings "https://github.com/faysalkarasoy/bulkgatehandler/blob/main/BulkGateSettings.vb"
click node_handler "https://github.com/faysalkarasoy/bulkgatehandler/blob/main/BulkGateClass.vb"
click node_country "https://github.com/faysalkarasoy/bulkgatehandler/blob/main/Country.vb"

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_caller toneIndigo
class node_settings,node_country toneTeal
class node_handler,node_api toneMint
```

## Components

### Other components

- **Application caller**
- [BulkGate settings](https://github.com/faysalkarasoy/bulkgatehandler/blob/main/BulkGateSettings.vb): `BulkGateSettings.vb`
- [SMS handler](https://github.com/faysalkarasoy/bulkgatehandler/blob/main/BulkGateClass.vb): `BulkGateClass.vb`
- [Country](https://github.com/faysalkarasoy/bulkgatehandler/blob/main/Country.vb): `Country.vb`
- **BulkGate SMS API**

## Connections

- Application caller → BulkGate settings: sets credentials
- Application caller → SMS handler: constructs and calls
- BulkGate settings → SMS handler: configures
- Application caller → Country: selects country
- SMS handler → BulkGate SMS API: sends SMS
