---
# System prepended metadata

title: Cyne KaStam
tags: [Cyne KaStam]

---

###### tags: `Cyne KaStam`
# Cyne KaStam


## フロー
### 注文
1. 名前を検索
```
全て小文字で検索。フロントで小文字にします。
```
2. 読み方を選択
```
同一スペルで複数の読み方がある。
```
3. 漢字を選択
```
違うスペルで同じ読み方のこともある。
```
4. デザインを選択
```
デザインによってサイズは違う
```
5. サイズを選択
```
サイズによって値段が変わる
逆にいうと、サイズが一緒であれば値段は一緒
```
6. オプション販売の選択
```
朱肉や箱などのサイド商品
```
7. メールアドレス・住所の入力
```
配送確認や連絡用のメールアドレス
```
8. 配送方法の選択
```
EMS便・航空便・SAL便・船便それぞれ料金が違う
```
9. 注文内容の確認
```
住所や料金、配送方法の確認
```
10. paypalでの支払い
```
できれば、クレジット払い。
できなければ、paypal
それも無理なら、振り込みで対応します。
```
11. 注文番号の表示
```
何かトラブルなどがあった場合に使いたい。検索ができるように実装
```

### 配送状況確認
1. 注文番号もしくはメールアドレスを入力
2. 配送状況の確認

``` mermaid
erDiagram
    Spells }|--|{ PronunciationsAssociation: a
    PronunciationsAssociation }|--|| Pronunciations: a
    Pronunciations ||--|{ KanjiNames: a
    KanjiNames ||--|{ MeansAssociation: a
    kanjiMeans ||--|{ MeansAssociation: a
    KanjiNames ||--|{ HankoAssociation: a
    Hankos ||--|{ HankoAssociation: a
    Hankos ||--|{ Author: a
    Hankos ||--|{ ShapeAssociation: a
    ShapeAssociation }|--|| Shapes: a
    Order ||--|{ OrderHankos: a
    OrderHankos }|--|| ShapeAssociation: a
    Order ||--|{ OrderSides: a
    OrderSides }|--|| Sides: a
    Order }|--|| Payment: a
    Order }|--|| ShippingMethod: a
    
    Spells {
        spell_id bigIncrements
        spell string
    }
    
    PronunciationsAssociation {
        spell_id unsignedBigInteger
        pronunciation_id unsignedBigInteger
    }
    
    Pronunciations {
        pronunciation_id bigIncrements
        pronunciation string
        respelling string
    }
    
    KanjiNames {
        name_id bigIncrements
        name string
        pronunciation_id unsignedBigInteger
    }
    
    MeansAssociation {
        name_id unsignedBigInteger
        mean_id unsignedBigInteger
    }
    
    kanjiMeans {
        mean_id bigIncrements
        kanji string
        mean string
    }
    
    HankoAssociation {
        name_id unsignedBigInteger
        hanko_id unsignedBigInteger
    }
    
    Hankos {
        hanko_id bigIncrements
        author_id unsignedBigInteger
        create_datetime datetime
        img_url string
        description string
    }
    
    Author {
        author_id bigIncrements
        author string
        given_name string
        surname string
        email string
        create_datetime datetime
    }
    
    ShapeAssociation {
        shape_association_id bigIncrements
        hanko_id unsignedBigInteger
        shape_id unsignedBigInteger
    }
    
    Shapes {
        shape_id bigIncrements
        title string
        material string
        description string
        vertical integer
        horizontal integer
        price integer
    }
    
    Sides {
        side_id bigIncrements
        title string
        description string
        price integer
    }
    
    ShippingMethod {
        shipping_id bigIncrements
        name string
        desctiption string
        price integer
    }
    
    Payment {
        payment_id bigIncrements
        type string
    }
    
    Order {
        order_id bigIncrements
        given_name string
        surname string
        email string
        phone number
        address_line_1 string
        address_line_2 string
        admin_area_2 string
        admin_area_1 string
        postal_code string
        country_code string
        shipping_id unsignedBigInteger
        payment_id unsignedBigInteger
        order_datetime datetime
        send_datetime datetime
        complete_datetime datetime
    }
    
    OrderHankos {
        order_id unsignedBigInteger
        shape_association_id unsignedBigInteger
    }
    
    OrderSides {
        order_id unsignedBigInteger
        side_id unsignedBigInteger
    }
```

kanjiMeans
---
漢字一文字の意味を保存するためのテーブル。
漢字を検索することはあるが、意味で検索する機能は考えていない。
| キー | 項目 | 型 | 意味 |
| -------- | -------- | -------- | -------- |
| PK | mean_id | bigIncrements | 漢字の管理ID |
| | kanji | string | 漢字一文字 |
| | mean | string | 漢字一文字の意味 |

HankoAssociation
---
KanjiNamesテーブルとHankosテーブルと繋ぐためのテーブル。
| キー | 項目 | 型 | 意味 |
| -------- | -------- | -------- | -------- |
| PK・FK | name_id | unsignedBigInteger| KanjiNamesテーブルのPK |
| PK・FK | hanko_id | unsignedBigInteger | HankosテーブルのPK |

Hankos
---
ハンコのデザインを保存したテーブル。
| キー | 項目 | 型 | 意味 |
| -------- | -------- | -------- | -------- |
| PK | hanko_id | bigIncrements | ハンコの管理ID |
| | create_datetime | datetime | ハンコの作成した日時 |
| | img_url | string | ハンコのサンプル画像のURL |
| | description | string | ハンコの説明・ハンコへの想いや意味 |
| FK | author_id | unsignedBigInteger | AuthorテーブルのPK |

Author
---
作成者の管理テーブル。
| キー | 項目 | 型 | 意味 |
| -------- | -------- | -------- | -------- |
| PK | author_id | bigIncrements | 作成者の管理ID |
| | name | string | フルネーム（ニックネームあり） |
| | given_name | string | 本名（名） |
| | surname | string | 本名（姓） |
| | email | string | 作成者のメールアドレス |
| | create_datetime | datetime | 作成者のアカウント作成した日時 |

ShapeAssociation
---
ハンコがどの形や種類に対応しているかを保存するためのテーブル
Orderテーブルで管理するときにこのIDを使います。
| キー | 項目 | 型 | 意味 |
| -------- | -------- | -------- | -------- |
| PK | shape_association_i | bigIncrements |  |
| | hanko_id | unsignedBigInteger | |
| | shape_id | unsignedBigInteger | |

Shapes
---
素材や形で値段が決まるため、ここに値段が含まれている。
| キー | 項目 | 型 | 意味 |
| -------- | -------- | -------- | -------- |
| PK | shape_id | bigIncrements | 形や種類の管理ID |
| | title | string | 形や種類のタイトル |
| | material | string | 素材名 |
| | shape | string | 形名 |
| | description | string | 説明文 |
| | vertical | integer | 縦の長さ(mm) |
| | horizontal | integer | 幅の長さ(mm) |
| | price | integer | ハンコの値段 |

OrderHankos
---
一回のオーダーで複数個のハンコを頼むことが可能なため
| キー | 項目 | 型 | 意味 |
| -------- | -------- | -------- | -------- |
| PK・FK | order_id | unsignedBigInteger | OrderテーブルのPK |
| PK・FK | shape_association_id | unsignedBigInteger | ShapeAssociationテーブルのPK |
| | quantity | integer | 個数 |

Order
---
| キー | 項目 | 型 | 意味 |
| -------- | -------- | -------- | -------- |
