# ubska/eccomerce architecture

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

- Interactive diagram: https://gitdiagram.com/ubska/eccomerce
- Repository: https://github.com/ubska/eccomerce

## Overview

This is a minimal Laravel and Filament e-commerce starter: its implemented product workflow is administering categories, products, orders, and order items through the `/admin` panel, with records represented by Eloquent models and stored using the configured database (SQLite by default). The README describes these CRUD capabilities but identifies storefront and checkout features as future extensions. The catalog controller is present but empty in the sampled source, so no customer-facing catalog flow is inferred; wiring beyond the sampled files is shown only where documented.

Main entry points: [`app/Providers/Filament/AdminPanelProvider.php`](https://github.com/ubska/eccomerce/blob/main/app/Providers/Filament/AdminPanelProvider.php) (Filament admin panel), [`app/Models/Product.php`](https://github.com/ubska/eccomerce/blob/main/app/Models/Product.php) (Product model), [`app/Filament/Resources/OrderResource/RelationManagers/ItemsRelationManager.php`](https://github.com/ubska/eccomerce/blob/main/app/Filament/Resources/OrderResource/RelationManagers/ItemsRelationManager.php) (Order items), [`public/index.php`](https://github.com/ubska/eccomerce/blob/main/public/index.php) (Laravel front controller)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Application entry"]
  node_front["Laravel front controller<br/>[index.php]"]
  node_bootstrap["Laravel bootstrap<br/>[app.php]"]
  node_webroutes["Web routes<br/>[web.php]"]
  node_catalog["Catalog controller"]
end

subgraph group_admin["Admin panel"]
  node_panel["Filament admin panel"]
  node_categoryresource["Category management"]
  node_productresource["Product management"]
  node_orderresource["Order management<br/>[OrderResource.php]"]
  node_itemmanager["Order items"]
end

subgraph group_domain["Commerce data"]
  node_category["Category model<br/>[Category.php]"]
  node_product["Product model<br/>[Product.php]"]
  node_order["Order model<br/>[Order.php]"]
  node_orderitem["Order item model<br/>[OrderItem.php]"]
  node_user["User model<br/>[User.php]"]
end

subgraph group_persistence["Persistence"]
  node_databaseconfig["Database configuration<br/>[database.php]"]
  node_database[("Application database")]
end

node_request(("HTTP request"))
node_adminuser(("Admin user"))

node_request -->|"enters"| node_front
node_front -->|"boots"| node_bootstrap
node_bootstrap -->|"loads routes"| node_webroutes
node_webroutes -->|"dispatches"| node_catalog
node_adminuser -->|"uses"| node_panel
node_panel -->|"provides access"| node_categoryresource
node_panel -->|"provides access"| node_productresource
node_panel -->|"provides access"| node_orderresource
node_categoryresource -->|"manages"| node_category
node_productresource -->|"manages"| node_product
node_orderresource -->|"manages"| node_order
node_itemmanager -->|"manages"| node_orderitem
node_itemmanager -->|"selects product"| node_product
node_category -->|"reads and writes"| node_database
node_product -->|"reads and writes"| node_database
node_order -->|"reads and writes"| node_database
node_orderitem -->|"reads and writes"| node_database
node_user -->|"reads and writes"| node_database
node_databaseconfig -->|"configures"| node_database

click node_front "https://github.com/ubska/eccomerce/blob/main/public/index.php"
click node_bootstrap "https://github.com/ubska/eccomerce/blob/main/bootstrap/app.php"
click node_webroutes "https://github.com/ubska/eccomerce/blob/main/routes/web.php"
click node_catalog "https://github.com/ubska/eccomerce/blob/main/app/Http/Controllers/CatalogController.php"
click node_panel "https://github.com/ubska/eccomerce/blob/main/app/Providers/Filament/AdminPanelProvider.php"
click node_categoryresource "https://github.com/ubska/eccomerce/blob/main/app/Filament/Resources/CategoryResource.php"
click node_productresource "https://github.com/ubska/eccomerce/blob/main/app/Filament/Resources/ProductResource.php"
click node_orderresource "https://github.com/ubska/eccomerce/blob/main/app/Filament/Resources/OrderResource.php"
click node_itemmanager "https://github.com/ubska/eccomerce/blob/main/app/Filament/Resources/OrderResource/RelationManagers/ItemsRelationManager.php"
click node_category "https://github.com/ubska/eccomerce/blob/main/app/Models/Category.php"
click node_product "https://github.com/ubska/eccomerce/blob/main/app/Models/Product.php"
click node_order "https://github.com/ubska/eccomerce/blob/main/app/Models/Order.php"
click node_orderitem "https://github.com/ubska/eccomerce/blob/main/app/Models/OrderItem.php"
click node_user "https://github.com/ubska/eccomerce/blob/main/app/Models/User.php"
click node_databaseconfig "https://github.com/ubska/eccomerce/blob/main/config/database.php"

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_front,node_bootstrap,node_webroutes,node_catalog,node_adminuser toneBlue
class node_panel,node_categoryresource,node_productresource,node_orderresource,node_itemmanager toneAmber
class node_category,node_product,node_order,node_orderitem,node_user,node_request toneMint
class node_databaseconfig,node_database toneRose
```

## Components

### Application entry

- [Laravel front controller](https://github.com/ubska/eccomerce/blob/main/public/index.php): `public/index.php`
- [Laravel bootstrap](https://github.com/ubska/eccomerce/blob/main/bootstrap/app.php): `bootstrap/app.php`
- [Web routes](https://github.com/ubska/eccomerce/blob/main/routes/web.php): `routes/web.php`
- [Catalog controller](https://github.com/ubska/eccomerce/blob/main/app/Http/Controllers/CatalogController.php): `app/Http/Controllers/CatalogController.php`

### Admin panel

- [Filament admin panel](https://github.com/ubska/eccomerce/blob/main/app/Providers/Filament/AdminPanelProvider.php): `app/Providers/Filament/AdminPanelProvider.php`
- [Category management](https://github.com/ubska/eccomerce/blob/main/app/Filament/Resources/CategoryResource.php): `app/Filament/Resources/CategoryResource.php`
- [Product management](https://github.com/ubska/eccomerce/blob/main/app/Filament/Resources/ProductResource.php): `app/Filament/Resources/ProductResource.php`
- [Order management](https://github.com/ubska/eccomerce/blob/main/app/Filament/Resources/OrderResource.php): `app/Filament/Resources/OrderResource.php`
- [Order items](https://github.com/ubska/eccomerce/blob/main/app/Filament/Resources/OrderResource/RelationManagers/ItemsRelationManager.php): `app/Filament/Resources/OrderResource/RelationManagers/ItemsRelationManager.php`

### Commerce data

- [Category model](https://github.com/ubska/eccomerce/blob/main/app/Models/Category.php): `app/Models/Category.php`
- [Product model](https://github.com/ubska/eccomerce/blob/main/app/Models/Product.php): `app/Models/Product.php`
- [Order model](https://github.com/ubska/eccomerce/blob/main/app/Models/Order.php): `app/Models/Order.php`
- [Order item model](https://github.com/ubska/eccomerce/blob/main/app/Models/OrderItem.php): `app/Models/OrderItem.php`
- [User model](https://github.com/ubska/eccomerce/blob/main/app/Models/User.php): `app/Models/User.php`

### Persistence

- [Database configuration](https://github.com/ubska/eccomerce/blob/main/config/database.php): `config/database.php`
- **Application database**

### Other components

- **HTTP request**
- **Admin user**

## Connections

- HTTP request → Laravel front controller: enters
- Laravel front controller → Laravel bootstrap: boots
- Laravel bootstrap → Web routes: loads routes
- Web routes → Catalog controller: dispatches
- Admin user → Filament admin panel: uses
- Filament admin panel → Category management: provides access
- Filament admin panel → Product management: provides access
- Filament admin panel → Order management: provides access
- Category management → Category model: manages
- Product management → Product model: manages
- Order management → Order model: manages
- Order items → Order item model: manages
- Order items → Product model: selects product
- Category model → Application database: reads and writes
- Product model → Application database: reads and writes
- Order model → Application database: reads and writes
- Order item model → Application database: reads and writes
- User model → Application database: reads and writes
- Database configuration → Application database: configures
