# rukkaxi/neumaconce architecture

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

## Overview

This appears to be a Laravel storefront for NEUMA CONCE: customers can browse products, manage a cart, place orders, use Webpay, and request quotations; authenticated users also have profiles and wishlists. The tree and layout support these as product capabilities, but route declarations and most controller implementations were not supplied, so their exact dispatch and persistence links are not shown. Sampled code confirms product and wishlist operations use their models, and registration creates a user. The graph omits framework internals and bundled frontend plugins.

Main entry points: [`app/Providers/RouteServiceProvider.php`](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Providers/RouteServiceProvider.php) (Route setup), [`app/Http/Controllers/ProductController.php`](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/ProductController.php) (Product catalog), [`config/database.php`](https://github.com/rukkaxi/neumaconce/blob/PROD/config/database.php) (Database), [`app/Http/Controllers/OrderController.php`](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/OrderController.php) (Order handling)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_storefront["Storefront"]
  node_routes["Route setup"]
  node_products["Product catalog"]
  node_shop["Shop browsing<br/>[ShopController.php]"]
end

subgraph group_commerce["Commerce"]
  node_cart["Cart operations<br/>[CartController.php]"]
  node_cartguard["Cart middleware<br/>[CartMiddleware.php]"]
  node_orders["Order handling"]
  node_webpay["Webpay handling"]
  node_quotes["Quotation requests"]
end

subgraph group_accounts["Accounts"]
  node_auth["Authentication"]
  node_profile["Profile management"]
  node_wishlist["Wishlist operations"]
end

subgraph group_domain["Domain data"]
  node_users["User records<br/>[User.php]"]
  node_productdata["Product records<br/>[Product.php]"]
  node_wishlistdata["Wishlist records<br/>[Wishlist.php]"]
  node_orderdata["Order records<br/>[Order.php]"]
  node_quotedata["Quotation records<br/>[Cotizacion.php]"]
end

node_visitor(("Shopper"))
node_http["HTTP entry<br/>[index.php]"]
node_transbank["Transbank"]
node_database[("Database<br/>[database.php]")]

node_visitor -->|"sends request"| node_http
node_http -->|"boots routing"| node_routes
node_routes -->|"dispatches"| node_products
node_routes -->|"dispatches"| node_shop
node_routes -->|"dispatches"| node_cart
node_routes -->|"dispatches"| node_orders
node_routes -->|"dispatches"| node_webpay
node_routes -->|"dispatches"| node_quotes
node_routes -->|"dispatches"| node_auth
node_routes -->|"dispatches"| node_profile
node_products -->|"queries"| node_productdata
node_products -->|"queries and writes"| node_wishlistdata
node_auth -->|"creates user"| node_users
node_cartguard -->|"guards requests"| node_cart
node_webpay -.->|"uses SDK"| node_transbank
node_productdata -->|"persists via ORM"| node_database
node_wishlistdata -->|"persists via ORM"| node_database
node_users -->|"persists via ORM"| node_database
node_orders -->|"uses model"| node_orderdata
node_quotes -->|"uses model"| node_quotedata

click node_http "https://github.com/rukkaxi/neumaconce/blob/PROD/public/index.php"
click node_routes "https://github.com/rukkaxi/neumaconce/blob/PROD/app/Providers/RouteServiceProvider.php"
click node_products "https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/ProductController.php"
click node_shop "https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/ShopController.php"
click node_cart "https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/CartController.php"
click node_cartguard "https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Middleware/CartMiddleware.php"
click node_orders "https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/OrderController.php"
click node_webpay "https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/WebpayController.php"
click node_quotes "https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/CotizacionController.php"
click node_auth "https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/Auth/RegisterController.php"
click node_profile "https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/ProfileController.php"
click node_wishlist "https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/ProductController.php"
click node_users "https://github.com/rukkaxi/neumaconce/blob/PROD/app/Models/User.php"
click node_productdata "https://github.com/rukkaxi/neumaconce/blob/PROD/app/Models/Product.php"
click node_wishlistdata "https://github.com/rukkaxi/neumaconce/blob/PROD/app/Models/Wishlist.php"
click node_orderdata "https://github.com/rukkaxi/neumaconce/blob/PROD/app/Models/Order.php"
click node_quotedata "https://github.com/rukkaxi/neumaconce/blob/PROD/app/Models/Cotizacion.php"
click node_database "https://github.com/rukkaxi/neumaconce/blob/PROD/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_routes,node_products,node_shop toneBlue
class node_cart,node_cartguard,node_orders,node_webpay,node_quotes,node_database toneAmber
class node_auth,node_profile,node_wishlist toneMint
class node_users,node_productdata,node_wishlistdata,node_orderdata,node_quotedata toneRose
class node_visitor,node_transbank toneIndigo
class node_http toneTeal
```

## Components

### Storefront

- [Route setup](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Providers/RouteServiceProvider.php): `app/Providers/RouteServiceProvider.php`
- [Product catalog](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/ProductController.php): `app/Http/Controllers/ProductController.php`
- [Shop browsing](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/ShopController.php): `app/Http/Controllers/ShopController.php`

### Commerce

- [Cart operations](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/CartController.php): `app/Http/Controllers/CartController.php`
- [Cart middleware](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Middleware/CartMiddleware.php): `app/Http/Middleware/CartMiddleware.php`
- [Order handling](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/OrderController.php): `app/Http/Controllers/OrderController.php`
- [Webpay handling](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/WebpayController.php): `app/Http/Controllers/WebpayController.php`
- [Quotation requests](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/CotizacionController.php): `app/Http/Controllers/CotizacionController.php`

### Accounts

- [Authentication](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/Auth/RegisterController.php): `app/Http/Controllers/Auth/RegisterController.php`
- [Profile management](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/ProfileController.php): `app/Http/Controllers/ProfileController.php`
- [Wishlist operations](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Http/Controllers/ProductController.php): `app/Http/Controllers/ProductController.php`

### Domain data

- [User records](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Models/User.php): `app/Models/User.php`
- [Product records](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Models/Product.php): `app/Models/Product.php`
- [Wishlist records](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Models/Wishlist.php): `app/Models/Wishlist.php`
- [Order records](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Models/Order.php): `app/Models/Order.php`
- [Quotation records](https://github.com/rukkaxi/neumaconce/blob/PROD/app/Models/Cotizacion.php): `app/Models/Cotizacion.php`

### Other components

- **Shopper**
- [HTTP entry](https://github.com/rukkaxi/neumaconce/blob/PROD/public/index.php): `public/index.php`
- **Transbank**
- [Database](https://github.com/rukkaxi/neumaconce/blob/PROD/config/database.php): `config/database.php`

## Connections

- Shopper → HTTP entry: sends request
- HTTP entry → Route setup: boots routing
- Route setup → Product catalog: dispatches
- Route setup → Shop browsing: dispatches
- Route setup → Cart operations: dispatches
- Route setup → Order handling: dispatches
- Route setup → Webpay handling: dispatches
- Route setup → Quotation requests: dispatches
- Route setup → Authentication: dispatches
- Route setup → Profile management: dispatches
- Product catalog → Product records: queries
- Product catalog → Wishlist records: queries and writes
- Authentication → User records: creates user
- Cart middleware → Cart operations: guards requests
- Webpay handling → Transbank: uses SDK
- Product records → Database: persists via ORM
- Wishlist records → Database: persists via ORM
- User records → Database: persists via ORM
- Order handling → Order records: uses model
- Quotation requests → Quotation records: uses model
