# Source Directory (includes/)

This is the main source directory for the Bizzmudra plugin, organized using a clean, namespace-based architecture.

## Directory Structure

```
includes/
├── Core/               # Core infrastructure (Plugin, Autoloader, Activator, Deactivator)
├── Services/           # Business logic services (CurrencyData, ExchangeRate, PriceConverter)
├── Frontend/           # Frontend components (Switcher, PublicHandler, Widget)
├── Admin/              # Admin dashboard components (AdminHandler)
└── Helpers/            # Global utility functions
```

## Namespace Mapping

All classes use the `Bizzmudra\` namespace prefix, mapped to this directory:

| Namespace | Directory |
|-----------|-----------|
| `Bizzmudra\Core` | `includes/Core/` |
| `Bizzmudra\Services` | `includes/Services/` |
| `Bizzmudra\Frontend` | `includes/Frontend/` |
| `Bizzmudra\Admin` | `includes/Admin/` |

## How It Works

1. The main plugin file (`bizzmudra.php`) loads the `Autoloader` and initializes `Plugin`
2. The `Plugin` class orchestrates all services and hooks
3. Each service is responsible for a single domain of functionality
4. Dependency injection is used where possible (e.g., `PriceConverter` receives `CurrencyData`)
