# nhudattran1902-cell/website-bookstore-e-commerce architecture

> Architecture diagram of the GitHub repository nhudattran1902-cell/website-bookstore-e-commerce, 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/nhudattran1902-cell/website-bookstore-e-commerce
- Repository: https://github.com/nhudattran1902-cell/website-bookstore-e-commerce

## Overview

This is a Laravel bookstore storefront with customer accounts, catalog browsing and previews, cart-to-order checkout, and an administrative back office. The principal customer flow runs from browsing/searching books through cart and checkout to an order confirmation; checkout validates stock, records order details and payment choice, and clears the cart transactionally. The tree also shows admin inventory imports, catalog management, reviews, chat, and informational pages. Several of these are represented by directory-level nodes because their controller implementations and route wiring were not sampled.

Main entry points: [`routes/web.php`](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/routes/web.php) (Web routes), [`app/Models`](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/tree/main/app/Models) (Bookstore records), [`app/Http/Middleware/AdminMiddleware.php`](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Middleware/AdminMiddleware.php) (Admin access guard), [`app/Http/Controllers/BookController.php`](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/BookController.php) (Book catalog)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_storefront["Storefront"]
  node_catalog["Book catalog<br/>[BookController.php]"]
  node_home["Home pages<br/>[HomeController.php]"]
  node_info_pages["Information pages<br/>[PageController.php]"]
  node_book_previews["Book previews"]
  node_chat["Chat widget"]
  node_customer_views["Customer views"]
end

subgraph group_commerce["Customer commerce"]
  node_cart["Cart management<br/>[CartController.php]"]
  node_checkout["Checkout"]
  node_customer_orders["Order history"]
  node_profiles["Customer profiles"]
  node_customer_reviews["Customer reviews"]
end

subgraph group_admin["Administration"]
  node_admin_catalog["Catalog management"]
  node_admin_inventory["Inventory operations"]
  node_inventory_imports["Inventory imports"]
  node_admin_orders["Order management"]
  node_admin_reviews["Review moderation"]
  node_admin_transactions["Transactions"]
  node_dashboard_users["Dashboard and users"]
  node_admin_views["Admin views"]
end

subgraph group_platform["Application access"]
  node_web_routes["Web routes<br/>[web.php]"]
  node_auth["Authentication<br/>[AuthController.php]"]
  node_admin_guard["Admin access guard"]
  node_bookstore_db[("Bookstore records")]
end

node_customer(("Customer"))
node_admin_user(("Admin user"))

node_customer -->|"sends requests"| node_web_routes
node_admin_user -->|"sends requests"| node_web_routes
node_web_routes -->|"dispatches"| node_auth
node_web_routes -->|"dispatches"| node_catalog
node_web_routes -->|"dispatches"| node_home
node_web_routes -->|"dispatches"| node_info_pages
node_web_routes -->|"dispatches"| node_cart
node_web_routes -->|"dispatches"| node_checkout
node_web_routes -->|"dispatches"| node_customer_orders
node_web_routes -->|"dispatches"| node_profiles
node_web_routes -->|"dispatches"| node_customer_reviews
node_web_routes -->|"dispatches"| node_book_previews
node_web_routes -->|"dispatches"| node_admin_catalog
node_web_routes -->|"dispatches"| node_admin_inventory
node_web_routes -->|"dispatches"| node_inventory_imports
node_web_routes -->|"dispatches"| node_admin_orders
node_web_routes -->|"dispatches"| node_admin_reviews
node_web_routes -->|"dispatches"| node_admin_transactions
node_web_routes -->|"dispatches"| node_dashboard_users
node_admin_guard -->|"guards"| node_admin_catalog
node_admin_guard -->|"guards"| node_admin_inventory
node_admin_guard -->|"guards"| node_inventory_imports
node_admin_guard -->|"guards"| node_admin_orders
node_admin_guard -->|"guards"| node_admin_reviews
node_admin_guard -->|"guards"| node_admin_transactions
node_admin_guard -->|"guards"| node_dashboard_users
node_auth -->|"reads and writes users"| node_bookstore_db
node_catalog -->|"reads catalog"| node_bookstore_db
node_catalog -->|"renders"| node_customer_views
node_catalog -->|"reads preview pages"| node_book_previews
node_book_previews -->|"reads and writes pages"| node_bookstore_db
node_book_previews -->|"renders"| node_admin_views
node_cart -->|"reads and writes cart"| node_bookstore_db
node_checkout -->|"reads and writes orders"| node_bookstore_db
node_checkout -->|"renders checkout"| node_customer_views
node_customer_orders -->|"reads orders"| node_bookstore_db
node_profiles -->|"reads and writes profiles"| node_bookstore_db
node_customer_reviews -->|"writes reviews"| node_bookstore_db
node_admin_catalog -->|"manages catalog"| node_bookstore_db
node_admin_inventory -->|"manages stock"| node_bookstore_db
node_inventory_imports -->|"imports stock"| node_bookstore_db
node_admin_orders -->|"manages orders"| node_bookstore_db
node_admin_reviews -->|"moderates reviews"| node_bookstore_db
node_admin_transactions -->|"reads transactions"| node_bookstore_db
node_dashboard_users -->|"reads dashboard data"| node_bookstore_db
node_admin_catalog -->|"renders"| node_admin_views
node_admin_inventory -->|"renders"| node_admin_views
node_inventory_imports -->|"renders"| node_admin_views

click node_web_routes "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/routes/web.php"
click node_auth "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/AuthController.php"
click node_admin_guard "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Middleware/AdminMiddleware.php"
click node_catalog "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/BookController.php"
click node_home "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/HomeController.php"
click node_info_pages "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/PageController.php"
click node_book_previews "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Admin/BookPageController.php"
click node_cart "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Customer/CartController.php"
click node_checkout "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Customer/CheckoutController.php"
click node_customer_orders "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Customer/OrderController.php"
click node_profiles "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Customer/ProfileController.php"
click node_customer_reviews "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Customer/ReviewController.php"
click node_admin_catalog "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/tree/main/app/Http/Controllers/Admin"
click node_admin_inventory "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Admin/InventoryController.php"
click node_inventory_imports "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Admin/InventoryImportController.php"
click node_admin_orders "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Admin/OrderController.php"
click node_admin_reviews "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Admin/AdminReviewController.php"
click node_admin_transactions "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Admin/TransactionController.php"
click node_dashboard_users "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Admin/DashboardController.php"
click node_chat "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/resources/views/components/chat-widget.blade.php"
click node_bookstore_db "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/tree/main/app/Models"
click node_customer_views "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/tree/main/resources/views"
click node_admin_views "https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/tree/main/resources/views/admin"

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_catalog,node_home,node_info_pages,node_book_previews,node_chat,node_customer_views,node_admin_user toneBlue
class node_cart,node_checkout,node_customer_orders,node_profiles,node_customer_reviews toneAmber
class node_admin_catalog,node_admin_inventory,node_inventory_imports,node_admin_orders,node_admin_reviews,node_admin_transactions,node_dashboard_users,node_admin_views toneMint
class node_web_routes,node_auth,node_admin_guard,node_bookstore_db toneRose
class node_customer toneIndigo
```

## Components

### Storefront

- [Book catalog](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/BookController.php): `app/Http/Controllers/BookController.php`
- [Home pages](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/HomeController.php): `app/Http/Controllers/HomeController.php`
- [Information pages](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/PageController.php): `app/Http/Controllers/PageController.php`
- [Book previews](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Admin/BookPageController.php): `app/Http/Controllers/Admin/BookPageController.php`
- [Chat widget](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/resources/views/components/chat-widget.blade.php): `resources/views/components/chat-widget.blade.php`
- [Customer views](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/tree/main/resources/views): `resources/views`

### Customer commerce

- [Cart management](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Customer/CartController.php): `app/Http/Controllers/Customer/CartController.php`
- [Checkout](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Customer/CheckoutController.php): `app/Http/Controllers/Customer/CheckoutController.php`
- [Order history](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Customer/OrderController.php): `app/Http/Controllers/Customer/OrderController.php`
- [Customer profiles](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Customer/ProfileController.php): `app/Http/Controllers/Customer/ProfileController.php`
- [Customer reviews](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Customer/ReviewController.php): `app/Http/Controllers/Customer/ReviewController.php`

### Administration

- [Catalog management](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/tree/main/app/Http/Controllers/Admin): `app/Http/Controllers/Admin`
- [Inventory operations](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Admin/InventoryController.php): `app/Http/Controllers/Admin/InventoryController.php`
- [Inventory imports](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Admin/InventoryImportController.php): `app/Http/Controllers/Admin/InventoryImportController.php`
- [Order management](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Admin/OrderController.php): `app/Http/Controllers/Admin/OrderController.php`
- [Review moderation](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Admin/AdminReviewController.php): `app/Http/Controllers/Admin/AdminReviewController.php`
- [Transactions](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Admin/TransactionController.php): `app/Http/Controllers/Admin/TransactionController.php`
- [Dashboard and users](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/Admin/DashboardController.php): `app/Http/Controllers/Admin/DashboardController.php`
- [Admin views](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/tree/main/resources/views/admin): `resources/views/admin`

### Application access

- [Web routes](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/routes/web.php): `routes/web.php`
- [Authentication](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Controllers/AuthController.php): `app/Http/Controllers/AuthController.php`
- [Admin access guard](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/blob/main/app/Http/Middleware/AdminMiddleware.php): `app/Http/Middleware/AdminMiddleware.php`
- [Bookstore records](https://github.com/nhudattran1902-cell/website-bookstore-e-commerce/tree/main/app/Models): `app/Models`

### Other components

- **Customer**
- **Admin user**

## Connections

- Customer → Web routes: sends requests
- Admin user → Web routes: sends requests
- Web routes → Authentication: dispatches
- Web routes → Book catalog: dispatches
- Web routes → Home pages: dispatches
- Web routes → Information pages: dispatches
- Web routes → Cart management: dispatches
- Web routes → Checkout: dispatches
- Web routes → Order history: dispatches
- Web routes → Customer profiles: dispatches
- Web routes → Customer reviews: dispatches
- Web routes → Book previews: dispatches
- Web routes → Catalog management: dispatches
- Web routes → Inventory operations: dispatches
- Web routes → Inventory imports: dispatches
- Web routes → Order management: dispatches
- Web routes → Review moderation: dispatches
- Web routes → Transactions: dispatches
- Web routes → Dashboard and users: dispatches
- Admin access guard → Catalog management: guards
- Admin access guard → Inventory operations: guards
- Admin access guard → Inventory imports: guards
- Admin access guard → Order management: guards
- Admin access guard → Review moderation: guards
- Admin access guard → Transactions: guards
- Admin access guard → Dashboard and users: guards
- Authentication → Bookstore records: reads and writes users
- Book catalog → Bookstore records: reads catalog
- Book catalog → Customer views: renders
- Book catalog → Book previews: reads preview pages
- Book previews → Bookstore records: reads and writes pages
- Book previews → Admin views: renders
- Cart management → Bookstore records: reads and writes cart
- Checkout → Bookstore records: reads and writes orders
- Checkout → Customer views: renders checkout
- Order history → Bookstore records: reads orders
- Customer profiles → Bookstore records: reads and writes profiles
- Customer reviews → Bookstore records: writes reviews
- Catalog management → Bookstore records: manages catalog
- Inventory operations → Bookstore records: manages stock
- Inventory imports → Bookstore records: imports stock
- Order management → Bookstore records: manages orders
- Review moderation → Bookstore records: moderates reviews
- Transactions → Bookstore records: reads transactions
- Dashboard and users → Bookstore records: reads dashboard data
- Catalog management → Admin views: renders
- Inventory operations → Admin views: renders
- Inventory imports → Admin views: renders
