Skip to content

Catalog Application ER Diagram

erDiagram
    CATEGORY {
        int id PK
        string name
        string slug
        int parent_id FK
        text description
        string banner_image
        string thumbnail_image
        datetime created_at
        datetime updated_at
    }
    SIGNATURE_COLLECTION {
        int id PK
        string name
        string slug
        text description
        string image
        boolean is_active
        string cta_url
    }
    BRAND {
        int id PK
        string name
        string slug
        text description
        string logo
        string website
        boolean is_approved
        datetime created_at
        datetime updated_at
    }
    FABRIC {
        int id PK
        string name
        string slug
        text description
        boolean is_approved
        datetime created_at
        datetime updated_at
    }
    PRODUCT {
        int id PK
        string name
        string slug
        int vendor_id FK
        int shop_id FK
        text description
        int collection_id FK
        decimal discount_percent
        int category_id FK
        string video
        boolean is_featured
        boolean is_active
        datetime created_at
        datetime updated_at
        int brand_id FK
        int fabric_id FK
        text product_specification
        text additional_information
        text detailed_product_description
        int status_id FK
        text comment
        int popularity
        boolean is_customizable
        decimal customized_price
    }
    PRODUCT_IMAGE {
        int id PK
        int product_id FK
        int variant_id FK
        string image
        boolean is_primary
        datetime created_at
    }
    PRODUCT_SIZE {
        int id PK
        string size
        string value
        datetime created_at
        datetime updated_at
    }
    COLOR {
        int id PK
        string name
        string hex_code
        datetime created_at
        datetime updated_at
    }
    PRODUCT_VARIANT {
        int id PK
        int product_id FK
        int color_id FK
        string value
        int size_id FK
        decimal variant_price
        int stock_quantity
        boolean is_available
        boolean is_active
        datetime created_at
        datetime updated_at
    }
    CATEGORY_PROMOTION {
        int id PK
        string title
        text description
        string banner_image
        string thumbnail_image
        datetime start_date
        datetime end_date
        string cta_url
        boolean is_active
        datetime created_at
        datetime updated_at
    }
    PRODUCT_PROMOTION {
        int id PK
        string title
        text description
        string banner_image
        string thumbnail_image
        datetime start_date
        datetime end_date
        decimal discount_percent
        string cta_url
        boolean is_active
        datetime created_at
        datetime updated_at
    }
    NOTIFICATION_CATEGORY {
        int id PK
        string name
        text description
    }
    NOTIFICATION {
        int id PK
        int category_id FK
        string message
        json context_data
        datetime created_at
    }
    MEASUREMENT_FIELD {
        int id PK
        string field_name
        string field_type
    }

    CATEGORY ||--o{ PRODUCT : "has"
    SIGNATURE_COLLECTION ||--o{ PRODUCT : "contains"
    BRAND ||--o{ PRODUCT : "belongs_to"
    FABRIC ||--o{ PRODUCT : "has"
    PRODUCT ||--o{ PRODUCT_IMAGE : "has"
    PRODUCT ||--o{ PRODUCT_VARIANT : "has"
    PRODUCT_VARIANT ||--o{ COLOR : "has"
    PRODUCT_VARIANT ||--o{ PRODUCT_SIZE : "includes"
    CATEGORY ||--o{ CATEGORY_PROMOTION : "has"
    PRODUCT ||--o{ PRODUCT_PROMOTION : "has"
    PRODUCT ||--o{ MEASUREMENT_FIELD : "includes"
    NOTIFICATION_CATEGORY ||--o{ NOTIFICATION : "has"
    PRODUCT ||--o{ NOTIFICATION : "has"