# alicialeeyuelin/cd-project architecture

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

## Overview

This is a PHP music-CD shop with customer account flows, a CD catalog and checkout, plus administrative management pages. The likely customer journey is account access, browsing CDs, preparing an order, and viewing its outcome or history; only parts of that wiring are visible in the sampled source. The graph includes the distinct catalog, checkout, order, and administration areas named by the tree. Database use is explicit in sampled pages; connections among unsampled pages are omitted where their calls or data flow cannot be verified.

Main entry points: [`dashboard.php`](https://github.com/alicialeeyuelin/cd-project/blob/main/dashboard.php) (Shop dashboard), [`index.php`](https://github.com/alicialeeyuelin/cd-project/blob/main/index.php) (Home page), [`registration-form.php`](https://github.com/alicialeeyuelin/cd-project/blob/main/registration-form.php) (Registration form), [`artist-manage.php`](https://github.com/alicialeeyuelin/cd-project/blob/main/artist-manage.php) (Artist management)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_accounts["Accounts"]
  node_register_form["Registration form"]
  node_registration["Registration handler<br/>[registration.php]"]
  node_login_form["Login form<br/>[login-form.php]"]
  node_login["Login handler<br/>[login.php]"]
  node_header["Shared header<br/>[header.php]"]
  node_logout["Logout<br/>[logout.php]"]
end

subgraph group_shopping["Shop and Catalog"]
  node_index["Home page<br/>[index.php]"]
  node_dashboard["Shop dashboard<br/>[dashboard.php]"]
  node_cart["Cart management<br/>[cart-manage.php]"]
end

subgraph group_orders["Orders"]
  node_order_form["Order confirmation<br/>[order-form.php]"]
  node_order_success["Order result<br/>[order-success.php]"]
  node_order_history["Order history<br/>[order-history.php]"]
end

subgraph group_admin["Administration"]
  node_catalog["CD catalog management<br/>[cd-manage.php]"]
  node_cd_add["Add CD<br/>[cd-manage-add.php]"]
  node_cd_update["Update CD"]
  node_order_admin["Order administration<br/>[order-manage.php]"]
  node_artist_admin["Artist management<br/>[artist-manage.php]"]
  node_artist_add["Add artist"]
  node_type_admin["Type management<br/>[types-manage.php]"]
  node_type_add["Add type"]
  node_user_admin["User management<br/>[user-manage.php]"]
  node_user_add["Add user"]
  node_user_edit["Edit user"]
end

node_visitor(("Shop visitor"))
node_project_db[("Project database")]

node_visitor -->|"opens"| node_index
node_index -->|"sign-in link"| node_login_form
node_index -->|"registration link"| node_register_form
node_register_form -->|"submits form"| node_registration
node_dashboard -->|"admin link"| node_order_admin
node_dashboard -->|"admin link"| node_artist_admin
node_dashboard -->|"admin link"| node_type_admin
node_dashboard -->|"admin link"| node_user_admin
node_dashboard -->|"logout link"| node_logout
node_catalog -->|"reads and deletes"| node_project_db
node_cd_add -->|"writes CD"| node_project_db
node_cd_update -->|"reads and updates"| node_project_db
node_user_admin -->|"reads and deletes"| node_project_db
node_user_add -->|"inserts user"| node_project_db
node_user_edit -->|"reads and updates"| node_project_db
node_artist_admin -->|"reads and deletes"| node_project_db
node_order_form -->|"loads order data"| node_project_db

click node_index "https://github.com/alicialeeyuelin/cd-project/blob/main/index.php"
click node_register_form "https://github.com/alicialeeyuelin/cd-project/blob/main/registration-form.php"
click node_registration "https://github.com/alicialeeyuelin/cd-project/blob/main/registration.php"
click node_login_form "https://github.com/alicialeeyuelin/cd-project/blob/main/login-form.php"
click node_login "https://github.com/alicialeeyuelin/cd-project/blob/main/login.php"
click node_header "https://github.com/alicialeeyuelin/cd-project/blob/main/header.php"
click node_logout "https://github.com/alicialeeyuelin/cd-project/blob/main/logout.php"
click node_dashboard "https://github.com/alicialeeyuelin/cd-project/blob/main/dashboard.php"
click node_cart "https://github.com/alicialeeyuelin/cd-project/blob/main/cart-manage.php"
click node_catalog "https://github.com/alicialeeyuelin/cd-project/blob/main/cd-manage.php"
click node_cd_add "https://github.com/alicialeeyuelin/cd-project/blob/main/cd-manage-add.php"
click node_cd_update "https://github.com/alicialeeyuelin/cd-project/blob/main/cd-manage-update.php"
click node_order_form "https://github.com/alicialeeyuelin/cd-project/blob/main/order-form.php"
click node_order_success "https://github.com/alicialeeyuelin/cd-project/blob/main/order-success.php"
click node_order_history "https://github.com/alicialeeyuelin/cd-project/blob/main/order-history.php"
click node_order_admin "https://github.com/alicialeeyuelin/cd-project/blob/main/order-manage.php"
click node_artist_admin "https://github.com/alicialeeyuelin/cd-project/blob/main/artist-manage.php"
click node_artist_add "https://github.com/alicialeeyuelin/cd-project/blob/main/artist-manage-add.php"
click node_type_admin "https://github.com/alicialeeyuelin/cd-project/blob/main/types-manage.php"
click node_type_add "https://github.com/alicialeeyuelin/cd-project/blob/main/types-manage-add.php"
click node_user_admin "https://github.com/alicialeeyuelin/cd-project/blob/main/user-manage.php"
click node_user_add "https://github.com/alicialeeyuelin/cd-project/blob/main/user-manage-add.php"
click node_user_edit "https://github.com/alicialeeyuelin/cd-project/blob/main/user-manage-edit.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_register_form,node_registration,node_login_form,node_login,node_header,node_logout toneBlue
class node_index,node_dashboard,node_cart,node_project_db toneAmber
class node_order_form,node_order_success,node_order_history toneMint
class node_catalog,node_cd_add,node_cd_update,node_order_admin,node_artist_admin,node_artist_add,node_type_admin,node_type_add,node_user_admin,node_user_add,node_user_edit toneRose
class node_visitor toneIndigo
```

## Components

### Accounts

- [Registration form](https://github.com/alicialeeyuelin/cd-project/blob/main/registration-form.php): `registration-form.php`
- [Registration handler](https://github.com/alicialeeyuelin/cd-project/blob/main/registration.php): `registration.php`
- [Login form](https://github.com/alicialeeyuelin/cd-project/blob/main/login-form.php): `login-form.php`
- [Login handler](https://github.com/alicialeeyuelin/cd-project/blob/main/login.php): `login.php`
- [Shared header](https://github.com/alicialeeyuelin/cd-project/blob/main/header.php): `header.php`
- [Logout](https://github.com/alicialeeyuelin/cd-project/blob/main/logout.php): `logout.php`

### Shop and Catalog

- [Home page](https://github.com/alicialeeyuelin/cd-project/blob/main/index.php): `index.php`
- [Shop dashboard](https://github.com/alicialeeyuelin/cd-project/blob/main/dashboard.php): `dashboard.php`
- [Cart management](https://github.com/alicialeeyuelin/cd-project/blob/main/cart-manage.php): `cart-manage.php`

### Orders

- [Order confirmation](https://github.com/alicialeeyuelin/cd-project/blob/main/order-form.php): `order-form.php`
- [Order result](https://github.com/alicialeeyuelin/cd-project/blob/main/order-success.php): `order-success.php`
- [Order history](https://github.com/alicialeeyuelin/cd-project/blob/main/order-history.php): `order-history.php`

### Administration

- [CD catalog management](https://github.com/alicialeeyuelin/cd-project/blob/main/cd-manage.php): `cd-manage.php`
- [Add CD](https://github.com/alicialeeyuelin/cd-project/blob/main/cd-manage-add.php): `cd-manage-add.php`
- [Update CD](https://github.com/alicialeeyuelin/cd-project/blob/main/cd-manage-update.php): `cd-manage-update.php`
- [Order administration](https://github.com/alicialeeyuelin/cd-project/blob/main/order-manage.php): `order-manage.php`
- [Artist management](https://github.com/alicialeeyuelin/cd-project/blob/main/artist-manage.php): `artist-manage.php`
- [Add artist](https://github.com/alicialeeyuelin/cd-project/blob/main/artist-manage-add.php): `artist-manage-add.php`
- [Type management](https://github.com/alicialeeyuelin/cd-project/blob/main/types-manage.php): `types-manage.php`
- [Add type](https://github.com/alicialeeyuelin/cd-project/blob/main/types-manage-add.php): `types-manage-add.php`
- [User management](https://github.com/alicialeeyuelin/cd-project/blob/main/user-manage.php): `user-manage.php`
- [Add user](https://github.com/alicialeeyuelin/cd-project/blob/main/user-manage-add.php): `user-manage-add.php`
- [Edit user](https://github.com/alicialeeyuelin/cd-project/blob/main/user-manage-edit.php): `user-manage-edit.php`

### Other components

- **Shop visitor**
- **Project database**

## Connections

- Shop visitor → Home page: opens
- Home page → Login form: sign-in link
- Home page → Registration form: registration link
- Registration form → Registration handler: submits form
- Shop dashboard → Order administration: admin link
- Shop dashboard → Artist management: admin link
- Shop dashboard → Type management: admin link
- Shop dashboard → User management: admin link
- Shop dashboard → Logout: logout link
- CD catalog management → Project database: reads and deletes
- Add CD → Project database: writes CD
- Update CD → Project database: reads and updates
- User management → Project database: reads and deletes
- Add user → Project database: inserts user
- Edit user → Project database: reads and updates
- Artist management → Project database: reads and deletes
- Order confirmation → Project database: loads order data
