# mrfaneva/info_varotra architecture

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

- Interactive diagram: https://gitdiagram.com/mrfaneva/info_varotra
- Repository: https://github.com/mrfaneva/info_varotra

## Overview

Info_Varotra is a PHP/MySQL storefront combined with an appointment-booking service and an administrator back office. The customer workflow spans browsing products or services, managing a cart and placing an order, requesting a service, then tracking activity in a customer account; administrators manage the catalog and process orders and service requests. The graph keeps these stages distinct. Source excerpts directly confirm only some page behavior, so links for unsampled handlers rely on README-described capabilities, and uncertain internal calls are omitted.

Main entry points: [`config/database.php`](https://github.com/mrfaneva/info_varotra/blob/main/config/database.php) (PDO connection), [`index.php`](https://github.com/mrfaneva/info_varotra/blob/main/index.php) (Home and catalog), [`client/demande_service.php`](https://github.com/mrfaneva/info_varotra/blob/main/client/demande_service.php) (Book service), [`client/espace.php`](https://github.com/mrfaneva/info_varotra/blob/main/client/espace.php) (Account history)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_storefront["Storefront"]
  node_home_catalog["Home and catalog<br/>[index.php]"]
end

subgraph group_customer["Customer workflows"]
  node_cart["Shopping cart<br/>[panier.php]"]
  node_checkout["Place order<br/>[commande.php]"]
  node_customer_auth["Customer access<br/>[connexion.php]"]
  node_registration["Customer registration<br/>[inscription.php]"]
  node_service_request["Book service"]
  node_customer_account["Account history<br/>[espace.php]"]
  node_customer_logout["Customer logout<br/>[deconnexion.php]"]
end

subgraph group_admin["Administration"]
  node_admin_login["Administrator access<br/>[login.php]"]
  node_admin_dashboard["Dashboard<br/>[index.php]"]
  node_catalog_admin["Catalog management<br/>[produits.php]"]
  node_category_admin["Category management<br/>[categories.php]"]
  node_order_admin["Order processing<br/>[commandes.php]"]
  node_service_admin["Service requests<br/>[demandes.php]"]
  node_client_admin["Client directory<br/>[clients.php]"]
  node_admin_logout["Administrator logout<br/>[deconnexion.php]"]
  node_product_form["Product editor<br/>[produit_form.php]"]
end

subgraph group_shared["Shared runtime"]
  node_pdo_config["PDO connection<br/>[database.php]"]
  node_shared_header["Shared header<br/>[header.php]"]
  node_database[("MySQL data")]
end

node_visitor(("Visitor"))
node_customer_actor(("Customer"))
node_administrator_actor(("Administrator"))

node_visitor -->|"browses"| node_home_catalog
node_customer_actor -->|"signs in"| node_customer_auth
node_customer_actor -->|"registers"| node_registration
node_customer_actor -->|"manages cart"| node_cart
node_customer_actor -->|"places order"| node_checkout
node_customer_actor -->|"requests service"| node_service_request
node_customer_actor -->|"tracks activity"| node_customer_account
node_customer_actor -->|"signs out"| node_customer_logout
node_administrator_actor -->|"signs in"| node_admin_login
node_administrator_actor -->|"views metrics"| node_admin_dashboard
node_administrator_actor -->|"manages products"| node_catalog_admin
node_administrator_actor -->|"manages categories"| node_category_admin
node_administrator_actor -->|"processes orders"| node_order_admin
node_administrator_actor -->|"reviews requests"| node_service_admin
node_administrator_actor -->|"views clients"| node_client_admin
node_administrator_actor -->|"signs out"| node_admin_logout
node_home_catalog -->|"links to"| node_cart
node_home_catalog -->|"links to"| node_service_request
node_cart -->|"continues to"| node_checkout
node_customer_account -->|"redirects unauthenticated"| node_customer_auth
node_service_request -->|"redirects unauthenticated"| node_customer_auth
node_catalog_admin -->|"edits product"| node_product_form
node_home_catalog -->|"loads PDO"| node_pdo_config
node_service_request -->|"loads PDO"| node_pdo_config
node_customer_account -->|"loads PDO"| node_pdo_config
node_cart -->|"loads PDO"| node_pdo_config
node_admin_dashboard -->|"loads PDO"| node_pdo_config
node_category_admin -->|"loads PDO"| node_pdo_config
node_product_form -->|"loads PDO"| node_pdo_config
node_client_admin -->|"loads PDO"| node_pdo_config
node_pdo_config -->|"connects to"| node_database
node_home_catalog -->|"includes"| node_shared_header
node_service_request -->|"includes"| node_shared_header
node_customer_account -->|"includes"| node_shared_header

click node_home_catalog "https://github.com/mrfaneva/info_varotra/blob/main/index.php"
click node_cart "https://github.com/mrfaneva/info_varotra/blob/main/client/panier.php"
click node_checkout "https://github.com/mrfaneva/info_varotra/blob/main/client/commande.php"
click node_customer_auth "https://github.com/mrfaneva/info_varotra/blob/main/client/connexion.php"
click node_registration "https://github.com/mrfaneva/info_varotra/blob/main/client/inscription.php"
click node_service_request "https://github.com/mrfaneva/info_varotra/blob/main/client/demande_service.php"
click node_customer_account "https://github.com/mrfaneva/info_varotra/blob/main/client/espace.php"
click node_customer_logout "https://github.com/mrfaneva/info_varotra/blob/main/client/deconnexion.php"
click node_admin_login "https://github.com/mrfaneva/info_varotra/blob/main/admin/login.php"
click node_admin_dashboard "https://github.com/mrfaneva/info_varotra/blob/main/admin/index.php"
click node_catalog_admin "https://github.com/mrfaneva/info_varotra/blob/main/admin/produits.php"
click node_category_admin "https://github.com/mrfaneva/info_varotra/blob/main/admin/categories.php"
click node_order_admin "https://github.com/mrfaneva/info_varotra/blob/main/admin/commandes.php"
click node_service_admin "https://github.com/mrfaneva/info_varotra/blob/main/admin/demandes.php"
click node_client_admin "https://github.com/mrfaneva/info_varotra/blob/main/admin/clients.php"
click node_admin_logout "https://github.com/mrfaneva/info_varotra/blob/main/admin/deconnexion.php"
click node_product_form "https://github.com/mrfaneva/info_varotra/blob/main/admin/produit_form.php"
click node_pdo_config "https://github.com/mrfaneva/info_varotra/blob/main/config/database.php"
click node_shared_header "https://github.com/mrfaneva/info_varotra/blob/main/includes/header.php"
click node_database "https://github.com/mrfaneva/info_varotra/blob/main/database/site_informatique.sql"

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_home_catalog toneBlue
class node_cart,node_checkout,node_customer_auth,node_registration,node_service_request,node_customer_account,node_customer_logout toneAmber
class node_admin_login,node_admin_dashboard,node_catalog_admin,node_category_admin,node_order_admin,node_service_admin,node_client_admin,node_admin_logout,node_product_form toneMint
class node_pdo_config,node_shared_header,node_database toneRose
class node_visitor,node_customer_actor,node_administrator_actor toneIndigo
```

## Components

### Storefront

- [Home and catalog](https://github.com/mrfaneva/info_varotra/blob/main/index.php): `index.php`

### Customer workflows

- [Shopping cart](https://github.com/mrfaneva/info_varotra/blob/main/client/panier.php): `client/panier.php`
- [Place order](https://github.com/mrfaneva/info_varotra/blob/main/client/commande.php): `client/commande.php`
- [Customer access](https://github.com/mrfaneva/info_varotra/blob/main/client/connexion.php): `client/connexion.php`
- [Customer registration](https://github.com/mrfaneva/info_varotra/blob/main/client/inscription.php): `client/inscription.php`
- [Book service](https://github.com/mrfaneva/info_varotra/blob/main/client/demande_service.php): `client/demande_service.php`
- [Account history](https://github.com/mrfaneva/info_varotra/blob/main/client/espace.php): `client/espace.php`
- [Customer logout](https://github.com/mrfaneva/info_varotra/blob/main/client/deconnexion.php): `client/deconnexion.php`

### Administration

- [Administrator access](https://github.com/mrfaneva/info_varotra/blob/main/admin/login.php): `admin/login.php`
- [Dashboard](https://github.com/mrfaneva/info_varotra/blob/main/admin/index.php): `admin/index.php`
- [Catalog management](https://github.com/mrfaneva/info_varotra/blob/main/admin/produits.php): `admin/produits.php`
- [Category management](https://github.com/mrfaneva/info_varotra/blob/main/admin/categories.php): `admin/categories.php`
- [Order processing](https://github.com/mrfaneva/info_varotra/blob/main/admin/commandes.php): `admin/commandes.php`
- [Service requests](https://github.com/mrfaneva/info_varotra/blob/main/admin/demandes.php): `admin/demandes.php`
- [Client directory](https://github.com/mrfaneva/info_varotra/blob/main/admin/clients.php): `admin/clients.php`
- [Administrator logout](https://github.com/mrfaneva/info_varotra/blob/main/admin/deconnexion.php): `admin/deconnexion.php`
- [Product editor](https://github.com/mrfaneva/info_varotra/blob/main/admin/produit_form.php): `admin/produit_form.php`

### Shared runtime

- [PDO connection](https://github.com/mrfaneva/info_varotra/blob/main/config/database.php): `config/database.php`
- [Shared header](https://github.com/mrfaneva/info_varotra/blob/main/includes/header.php): `includes/header.php`
- [MySQL data](https://github.com/mrfaneva/info_varotra/blob/main/database/site_informatique.sql): `database/site_informatique.sql`

### Other components

- **Visitor**
- **Customer**
- **Administrator**

## Connections

- Visitor → Home and catalog: browses
- Customer → Customer access: signs in
- Customer → Customer registration: registers
- Customer → Shopping cart: manages cart
- Customer → Place order: places order
- Customer → Book service: requests service
- Customer → Account history: tracks activity
- Customer → Customer logout: signs out
- Administrator → Administrator access: signs in
- Administrator → Dashboard: views metrics
- Administrator → Catalog management: manages products
- Administrator → Category management: manages categories
- Administrator → Order processing: processes orders
- Administrator → Service requests: reviews requests
- Administrator → Client directory: views clients
- Administrator → Administrator logout: signs out
- Home and catalog → Shopping cart: links to
- Home and catalog → Book service: links to
- Shopping cart → Place order: continues to
- Account history → Customer access: redirects unauthenticated
- Book service → Customer access: redirects unauthenticated
- Catalog management → Product editor: edits product
- Home and catalog → PDO connection: loads PDO
- Book service → PDO connection: loads PDO
- Account history → PDO connection: loads PDO
- Shopping cart → PDO connection: loads PDO
- Dashboard → PDO connection: loads PDO
- Category management → PDO connection: loads PDO
- Product editor → PDO connection: loads PDO
- Client directory → PDO connection: loads PDO
- PDO connection → MySQL data: connects to
- Home and catalog → Shared header: includes
- Book service → Shared header: includes
- Account history → Shared header: includes
