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"