# pargatsingh2004/goody-chocolate-ecommerce architecture

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

- Interactive diagram: https://gitdiagram.com/pargatsingh2004/goody-chocolate-ecommerce
- Repository: https://github.com/pargatsingh2004/goody-chocolate-ecommerce

## Overview

Goody is a Django ecommerce storefront with a staff-facing administration panel. Shoppers browse products, manage a session cart and wishlist, check out, and then manage orders and account details; registration and OTP/password-reset flows support that journey. Staff manage catalog, orders, customers, contacts, coupons, reviews, payment settings, and email campaigns. The graph reflects the sampled routes and source references; checkout internals and several admin capabilities are only partially sampled, so their detailed interactions are not asserted.

Main entry points: [`goody/products/urls.py`](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/urls.py) (Storefront routes), [`goody/products/models.py`](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/models.py) (Commerce records), [`goody/admin_panel/views.py`](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/admin_panel/views.py) (Staff operations), [`goody/products/emails.py`](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/emails.py) (Email delivery)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_storefront["Storefront"]
  node_storefront_routes["Storefront routes<br/>[urls.py]"]
  node_catalog["Catalog browsing<br/>[views.py]"]
end

subgraph group_commerce["Commerce"]
  node_cart["Cart and coupons<br/>[views.py]"]
  node_checkout["Checkout and payment<br/>[views.py]"]
  node_orders["Order management<br/>[views.py]"]
  node_wishlist["Wishlist<br/>[views.py]"]
  node_signals["Model signals<br/>[signals.py]"]
  node_commerce_data[("Commerce records<br/>[models.py]")]
end

subgraph group_identity["Accounts"]
  node_accounts["Authentication<br/>[views.py]"]
  node_customer_account["Customer account<br/>[views.py]"]
  node_email_service["Email delivery<br/>[emails.py]"]
end

subgraph group_staff["Administration"]
  node_staff_routes["Staff routes<br/>[urls.py]"]
  node_staff_views["Staff operations<br/>[views.py]"]
  node_staff_forms["Staff forms<br/>[forms.py]"]
  node_staff_access["Staff access control<br/>[decorators.py]"]
end

node_shopper(("Shopper"))
node_staff_actor(("Staff user"))

node_shopper -->|"requests pages"| node_storefront_routes
node_storefront_routes -->|"routes to"| node_catalog
node_storefront_routes -->|"routes to"| node_cart
node_storefront_routes -->|"routes to"| node_checkout
node_storefront_routes -->|"routes to"| node_orders
node_storefront_routes -->|"routes to"| node_wishlist
node_storefront_routes -->|"routes to"| node_accounts
node_storefront_routes -->|"routes to"| node_customer_account
node_catalog -.->|"queries"| node_commerce_data
node_cart -.->|"queries and updates"| node_commerce_data
node_checkout -.->|"creates order records"| node_commerce_data
node_orders -.->|"reads order records"| node_commerce_data
node_wishlist -.->|"updates wishlist"| node_commerce_data
node_customer_account -.->|"updates account data"| node_commerce_data
node_accounts -.->|"may send mail"| node_email_service
node_checkout -.->|"may send mail"| node_email_service
node_orders -.->|"may send mail"| node_email_service
node_signals -->|"maintains related records"| node_commerce_data
node_staff_actor -->|"requests admin"| node_staff_routes
node_staff_routes -->|"routes to"| node_staff_views
node_staff_views -->|"protects staff views"| node_staff_access
node_staff_views -->|"uses forms"| node_staff_forms
node_staff_views -.->|"manages records"| node_commerce_data
node_staff_views -.->|"may send campaign mail"| node_email_service

click node_storefront_routes "https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/urls.py"
click node_catalog "https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/views.py"
click node_cart "https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/views.py"
click node_checkout "https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/views.py"
click node_orders "https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/views.py"
click node_wishlist "https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/views.py"
click node_accounts "https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/views.py"
click node_customer_account "https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/views.py"
click node_email_service "https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/emails.py"
click node_signals "https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/signals.py"
click node_commerce_data "https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/models.py"
click node_staff_routes "https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/admin_panel/urls.py"
click node_staff_views "https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/admin_panel/views.py"
click node_staff_forms "https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/admin_panel/forms.py"
click node_staff_access "https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/admin_panel/decorators.py"

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_storefront_routes,node_catalog,node_staff_actor toneBlue
class node_cart,node_checkout,node_orders,node_wishlist,node_signals,node_commerce_data toneAmber
class node_accounts,node_customer_account,node_email_service toneMint
class node_staff_routes,node_staff_views,node_staff_forms,node_staff_access toneRose
class node_shopper toneIndigo
```

## Components

### Storefront

- [Storefront routes](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/urls.py): `goody/products/urls.py`
- [Catalog browsing](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/views.py): `goody/products/views.py`

### Commerce

- [Cart and coupons](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/views.py): `goody/products/views.py`
- [Checkout and payment](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/views.py): `goody/products/views.py`
- [Order management](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/views.py): `goody/products/views.py`
- [Wishlist](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/views.py): `goody/products/views.py`
- [Model signals](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/signals.py): `goody/products/signals.py`
- [Commerce records](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/models.py): `goody/products/models.py`

### Accounts

- [Authentication](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/views.py): `goody/products/views.py`
- [Customer account](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/views.py): `goody/products/views.py`
- [Email delivery](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/products/emails.py): `goody/products/emails.py`

### Administration

- [Staff routes](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/admin_panel/urls.py): `goody/admin_panel/urls.py`
- [Staff operations](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/admin_panel/views.py): `goody/admin_panel/views.py`
- [Staff forms](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/admin_panel/forms.py): `goody/admin_panel/forms.py`
- [Staff access control](https://github.com/pargatsingh2004/goody-chocolate-ecommerce/blob/main/goody/admin_panel/decorators.py): `goody/admin_panel/decorators.py`

### Other components

- **Shopper**
- **Staff user**

## Connections

- Shopper → Storefront routes: requests pages (evidence: `goody/products/urls.py`)
- Storefront routes → Catalog browsing: routes to (evidence: `goody/products/urls.py`)
- Storefront routes → Cart and coupons: routes to (evidence: `goody/products/urls.py`)
- Storefront routes → Checkout and payment: routes to (evidence: `goody/products/urls.py`)
- Storefront routes → Order management: routes to (evidence: `goody/products/urls.py`)
- Storefront routes → Wishlist: routes to (evidence: `goody/products/urls.py`)
- Storefront routes → Authentication: routes to (evidence: `goody/products/urls.py`)
- Storefront routes → Customer account: routes to (evidence: `goody/products/urls.py`)
- Catalog browsing → Commerce records: queries (evidence: `goody/products/views.py`)
- Cart and coupons → Commerce records: queries and updates (evidence: `goody/products/views.py`)
- Checkout and payment → Commerce records: creates order records (evidence: `goody/products/views.py`)
- Order management → Commerce records: reads order records (evidence: `goody/products/views.py`)
- Wishlist → Commerce records: updates wishlist (evidence: `goody/products/views.py`)
- Customer account → Commerce records: updates account data (evidence: `goody/products/views.py`)
- Authentication → Email delivery: may send mail (evidence: `goody/products/views.py`)
- Checkout and payment → Email delivery: may send mail (evidence: `goody/products/views.py`)
- Order management → Email delivery: may send mail (evidence: `goody/products/views.py`)
- Model signals → Commerce records: maintains related records (evidence: `goody/products/signals.py`)
- Staff user → Staff routes: requests admin (evidence: `goody/admin_panel/urls.py`)
- Staff routes → Staff operations: routes to (evidence: `goody/admin_panel/urls.py`)
- Staff operations → Staff access control: protects staff views (evidence: `goody/admin_panel/views.py`)
- Staff operations → Staff forms: uses forms (evidence: `goody/admin_panel/views.py`)
- Staff operations → Commerce records: manages records (evidence: `goody/admin_panel/views.py`)
- Staff operations → Email delivery: may send campaign mail (evidence: `goody/admin_panel/views.py`)
