# mathieurocancourt/training-sales architecture

> Architecture diagram of the GitHub repository mathieurocancourt/training-sales, 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/mathieurocancourt/training-sales
- Repository: https://github.com/mathieurocancourt/training-sales

## Overview

This is a small Java training-catalog persistence project, not a complete user-facing sales application. Its supported workflow is training CRUD through `TrainingDao`, which obtains JDBC connections and maps database rows to `Training` objects. No sampled application entry point or UI connects a user to that workflow, and `StockTraining` is empty. The database schema file is present, but its contents were not sampled, so schema details and wider sales/order stages are not inferred.

Main entry points: [`Training sales/src/fr/app/dao/TrainingDao.java`](https://github.com/mathieurocancourt/training-sales/blob/main/Training%20sales/src/fr/app/dao/TrainingDao.java) (Training DAO), [`Training sales/src/fr/app/config/DatabaseConnection.java`](https://github.com/mathieurocancourt/training-sales/blob/main/Training%20sales/src/fr/app/config/DatabaseConnection.java) (JDBC connection), [`Training sales/src/fr/app/entities/Training.java`](https://github.com/mathieurocancourt/training-sales/blob/main/Training%20sales/src/fr/app/entities/Training.java) (Training entity)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_persistence["Persistence"]
  node_dao["Training DAO<br/>[TrainingDao.java]"]
  node_connection["JDBC connection"]
end

subgraph group_domain["Training model"]
  node_training["Training entity<br/>[Training.java]"]
end

node_caller(("Application caller"))
node_database[("MariaDB shop")]

node_dao -->|"gets connection"| node_connection
node_connection -->|"connects"| node_database
node_dao -->|"CRUD SQL"| node_database
node_dao -->|"maps rows"| node_training

click node_dao "https://github.com/mathieurocancourt/training-sales/blob/main/Training%20sales/src/fr/app/dao/TrainingDao.java"
click node_connection "https://github.com/mathieurocancourt/training-sales/blob/main/Training%20sales/src/fr/app/config/DatabaseConnection.java"
click node_training "https://github.com/mathieurocancourt/training-sales/blob/main/Training%20sales/src/fr/app/entities/Training.java"

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_dao,node_connection toneBlue
class node_training,node_database toneAmber
class node_caller toneIndigo
```

## Components

### Persistence

- [Training DAO](https://github.com/mathieurocancourt/training-sales/blob/main/Training%20sales/src/fr/app/dao/TrainingDao.java): `Training sales/src/fr/app/dao/TrainingDao.java`
- [JDBC connection](https://github.com/mathieurocancourt/training-sales/blob/main/Training%20sales/src/fr/app/config/DatabaseConnection.java): `Training sales/src/fr/app/config/DatabaseConnection.java`

### Training model

- [Training entity](https://github.com/mathieurocancourt/training-sales/blob/main/Training%20sales/src/fr/app/entities/Training.java): `Training sales/src/fr/app/entities/Training.java`

### Other components

- **Application caller**
- **MariaDB shop**

## Connections

- Training DAO → JDBC connection: gets connection
- JDBC connection → MariaDB shop: connects
- Training DAO → MariaDB shop: CRUD SQL
- Training DAO → Training entity: maps rows
