# lucid2354/online_shop_19_30 architecture

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

## Overview

This Django shop serves a product catalog with category filtering, search, and product details, then supports customer accounts, cart operations, wishlists, and product reviews. Requests enter through the project URL router and app views, which query or update catalog and shop models before rendering templates or redirecting. The README also documents authentication and Django’s administrative panel. The sampled source confirms the catalog, cart, wishlist, review, and registration flows; unsampled URL and model implementations limit detail about login and other wiring.

Main entry points: [`catalog/views.py`](https://github.com/lucid2354/online_shop_19_30/blob/master/catalog/views.py) (Catalog views), [`core/urls.py`](https://github.com/lucid2354/online_shop_19_30/blob/master/core/urls.py) (URL router), [`shop/models.py`](https://github.com/lucid2354/online_shop_19_30/blob/master/shop/models.py) (Shop models), [`shop/views.py`](https://github.com/lucid2354/online_shop_19_30/blob/master/shop/views.py) (Shopping views)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_routing["Web entry"]
  node_router["URL router<br/>[urls.py]"]
end

subgraph group_catalog["Product catalog"]
  node_catalog_views["Catalog views<br/>[views.py]"]
  node_catalog_pages["Catalog pages"]
  node_product_models["Product models<br/>[models.py]"]
end

subgraph group_shopping["Customer shopping"]
  node_shop_views["Shopping views<br/>[views.py]"]
  node_shop_pages["Cart page<br/>[cart.html]"]
  node_wishlist_page["Wishlist page<br/>[wishlist.html]"]
  node_shop_models["Shop models<br/>[models.py]"]
end

subgraph group_accounts["Accounts and admin"]
  node_users_views["Registration view<br/>[views.py]"]
  node_user_form["Registration form<br/>[forms.py]"]
  node_user_page["Account pages"]
  node_django_auth["Django authentication"]
  node_admin_config["Admin configuration<br/>[admin.py]"]
  node_shop_admin["Shop admin<br/>[admin.py]"]
end

subgraph group_persistence["Persistent data"]
  node_sqlite[("SQLite database<br/>[db.sqlite3]")]
end

node_customer(("Customer"))
node_admin_user(("Administrator"))

node_customer -->|"sends requests"| node_router
node_router -->|"dispatches catalog"| node_catalog_views
node_router -->|"dispatches shop"| node_shop_views
node_router -->|"dispatches accounts"| node_users_views
node_catalog_views -->|"queries products"| node_product_models
node_catalog_views -->|"queries reviews"| node_shop_models
node_catalog_views -->|"updates wishlist"| node_shop_models
node_catalog_views -->|"renders pages"| node_catalog_pages
node_shop_views -->|"checks stock"| node_product_models
node_shop_views -->|"updates cart"| node_shop_models
node_shop_views -->|"renders cart"| node_shop_pages
node_catalog_views -->|"renders wishlist"| node_wishlist_page
node_users_views -->|"validates registration"| node_user_form
node_users_views -->|"logs in"| node_django_auth
node_users_views -->|"renders account"| node_user_page
node_admin_user -->|"opens admin"| node_router
node_router -->|"routes admin"| node_admin_config
node_admin_config -->|"manages catalog"| node_product_models
node_admin_config -->|"manages reviews"| node_shop_models
node_shop_admin -->|"manages shop data"| node_shop_models
node_product_models -->|"reads and writes"| node_sqlite
node_shop_models -->|"reads and writes"| node_sqlite

click node_router "https://github.com/lucid2354/online_shop_19_30/blob/master/core/urls.py"
click node_catalog_views "https://github.com/lucid2354/online_shop_19_30/blob/master/catalog/views.py"
click node_catalog_pages "https://github.com/lucid2354/online_shop_19_30/tree/master/templates/catalog"
click node_product_models "https://github.com/lucid2354/online_shop_19_30/blob/master/catalog/models.py"
click node_shop_views "https://github.com/lucid2354/online_shop_19_30/blob/master/shop/views.py"
click node_shop_pages "https://github.com/lucid2354/online_shop_19_30/blob/master/templates/shop/cart.html"
click node_wishlist_page "https://github.com/lucid2354/online_shop_19_30/blob/master/templates/catalog/wishlist.html"
click node_users_views "https://github.com/lucid2354/online_shop_19_30/blob/master/users/views.py"
click node_user_form "https://github.com/lucid2354/online_shop_19_30/blob/master/users/forms.py"
click node_user_page "https://github.com/lucid2354/online_shop_19_30/tree/master/templates/users"
click node_admin_config "https://github.com/lucid2354/online_shop_19_30/blob/master/catalog/admin.py"
click node_shop_admin "https://github.com/lucid2354/online_shop_19_30/blob/master/shop/admin.py"
click node_shop_models "https://github.com/lucid2354/online_shop_19_30/blob/master/shop/models.py"
click node_sqlite "https://github.com/lucid2354/online_shop_19_30/blob/master/db.sqlite3"

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_router toneBlue
class node_catalog_views,node_catalog_pages,node_product_models toneAmber
class node_shop_views,node_shop_pages,node_wishlist_page,node_shop_models toneMint
class node_users_views,node_user_form,node_user_page,node_django_auth,node_admin_config,node_shop_admin toneRose
class node_sqlite,node_customer,node_admin_user toneIndigo
```

## Components

### Web entry

- [URL router](https://github.com/lucid2354/online_shop_19_30/blob/master/core/urls.py): `core/urls.py`

### Product catalog

- [Catalog views](https://github.com/lucid2354/online_shop_19_30/blob/master/catalog/views.py): `catalog/views.py`
- [Catalog pages](https://github.com/lucid2354/online_shop_19_30/tree/master/templates/catalog): `templates/catalog`
- [Product models](https://github.com/lucid2354/online_shop_19_30/blob/master/catalog/models.py): `catalog/models.py`

### Customer shopping

- [Shopping views](https://github.com/lucid2354/online_shop_19_30/blob/master/shop/views.py): `shop/views.py`
- [Cart page](https://github.com/lucid2354/online_shop_19_30/blob/master/templates/shop/cart.html): `templates/shop/cart.html`
- [Wishlist page](https://github.com/lucid2354/online_shop_19_30/blob/master/templates/catalog/wishlist.html): `templates/catalog/wishlist.html`
- [Shop models](https://github.com/lucid2354/online_shop_19_30/blob/master/shop/models.py): `shop/models.py`

### Accounts and admin

- [Registration view](https://github.com/lucid2354/online_shop_19_30/blob/master/users/views.py): `users/views.py`
- [Registration form](https://github.com/lucid2354/online_shop_19_30/blob/master/users/forms.py): `users/forms.py`
- [Account pages](https://github.com/lucid2354/online_shop_19_30/tree/master/templates/users): `templates/users`
- **Django authentication**
- [Admin configuration](https://github.com/lucid2354/online_shop_19_30/blob/master/catalog/admin.py): `catalog/admin.py`
- [Shop admin](https://github.com/lucid2354/online_shop_19_30/blob/master/shop/admin.py): `shop/admin.py`

### Persistent data

- [SQLite database](https://github.com/lucid2354/online_shop_19_30/blob/master/db.sqlite3): `db.sqlite3`

### Other components

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

## Connections

- Customer → URL router: sends requests
- URL router → Catalog views: dispatches catalog
- URL router → Shopping views: dispatches shop
- URL router → Registration view: dispatches accounts
- Catalog views → Product models: queries products
- Catalog views → Shop models: queries reviews
- Catalog views → Shop models: updates wishlist
- Catalog views → Catalog pages: renders pages
- Shopping views → Product models: checks stock
- Shopping views → Shop models: updates cart
- Shopping views → Cart page: renders cart
- Catalog views → Wishlist page: renders wishlist
- Registration view → Registration form: validates registration
- Registration view → Django authentication: logs in
- Registration view → Account pages: renders account
- Administrator → URL router: opens admin
- URL router → Admin configuration: routes admin
- Admin configuration → Product models: manages catalog
- Admin configuration → Shop models: manages reviews
- Shop admin → Shop models: manages shop data
- Product models → SQLite database: reads and writes
- Shop models → SQLite database: reads and writes
