E-Commerce Platform Backend Design
E-Commerce Platform Backend Design
Version: 1.0
State : Draft
Author : Vivek Bhandarkar
Index
1. Ecommerce Platform
2. Detailed Component Diagram
a. Platform Monitoring
b. Platform Logging
3. Use-Case diagram
4. Sequence Diagram
5. Data Design
6. TODO
a. Data Design enhancement
b. REST API Design
c. Cache Server Data Design
d. Recommendation Engine Design (Order History + Logs + Analytics → Product Recommendation )
e. NFR Details, Component Detail
f. Detailed Design Pattern Information
g. ...
E-Commerce Platform Backend Design
1. Ecommerce Platform
E-Commerce Platform Backend Design
2. Ecommerce Backend Component Diagram
2.1 ECommerce Platform Backend Monitoring
2.2 ECommerce Platform Backend Log Aggregation
E-Commerce Platform Backend Design
3. Use cases
4. Sequence Diagram
E-Commerce Platform Backend Design
4.1 Product Search
4.2 Product Details
E-Commerce Platform Backend Design
4.3 Add Product to cart
E-Commerce Platform Backend Design
E-Commerce Platform Backend Design
4.4 Checkout
E-Commerce Platform Backend Design
4.5 Payment
4.6 Product Listing Sequence Diagram
E-Commerce Platform Backend Design
E-Commerce Platform Backend Design
5. Data Design
5.1 Product Catalog MondoDB Document design
ProductInfo{
_id : ...
displayTitle : "...",
manufacturer: "...",
mrp: "...",
description : "..."
rating: 4.3,
reviews : [
{
title: "Good quality product"
review: "detailed review of product"
rating : "5"
},
{
......
}
],
importantInformation: "...",
details: [
technicalDetails: {
cpu: "4 core",
ram: "4GB"
},
otherDetails :{
height: "20cm",
width: "20cm"
},
warrentyInformation: {
noOfYears: "2",
warrentyConditions: "..."
},
]
}
E-Commerce Platform Backend Design
5.2 Seller Database Design
Table : seller_master
Sr, No. Column name Constraint Datatype Comment
1 id Primary Key int
2 seller_name varchar Seller Name
3 registered_busineess_name varchar Registered Business
Name
4. PAN varchar Permanent Account
No.
5 GST varchar
6 registred_business_address varchar
7 phone_no varchar
8 email_id varchar
Table : bank_accounts
Sr, No. Column name Constraint Datatype Comment
1 id Unique Key int
2 seller_id Foreign_key -->seller_master.id varchar Seller Name
3 bank_name varchar
4. ifsc_code varchar .
5 account_type varchar
6 account_number varchar
E-Commerce Platform Backend Design
5.3 Buyer Database
Table : buyer_master
Sr, No. Column name Constraint Datatype Comment
2 buyer_id Unique Key varchar Seller Name
3 user_id Unique Key varchar
4. first_name varchar .
5 last_name varchar
6 email_id varchar
Table: buyer_addresses
Sr, No. Column name Constraint Datatype Comment
1 id Unique Key int
2 buyer_id buyer_id
-->buyer_master.buyer_id
varchar Seller Name
3 street_address varchar
4. pin_code varchar .
5 state varchar
6 country varchar
7 phone_no varchar
Table : card_payments
Sr, No. Column name Constraint Datatype Comment
1 id Unique Key int
2 buyer_id varchar Seller Name
3 cvv varchar Encrypted
4. card_no varchar .
5 verification_status varchar
E-Commerce Platform Backend Design
6 valid_upto
7 account_number varchar
8 card_name
5.4 Inventory Database
Sr, No. Column name Constraint Datatype Comment
1 id Unique Key int
2 seller_id varchar
3 product_id varchar
5 unit_price varchar
6 quantity varchar
5.5 Cart Database
Table: cart_master
Sr, No. Column name Constraint Datatype
1 id Primary Key int
2 cart_id Unique Key
3 buyer varchar
4 address_id varchar
5 payment_gateway_id varchar
6 total_price double
Table : cart_details
Sr, No. Column name Constraint Datatype
1 id Primary Key int
2 cart_id cart_id->cart_master.cart_id
E-Commerce Platform Backend Design
3 product_id varchar
4. seller_id varchar
5 quantity varchar
6 unit_price double
5.6 Order Database
Table : order_master
Sr, No. Column name Constraint Datatype
1 id Primary Key int
2 order_id Unique Key varchar
3 cart_id varchar
4 buyer varchar
5 seller
6 address_id varchar
7 payment_gateway_id varchar
8 total_price double
9 payment_status varchar
9 delivery_status varchar
Table : order_details
Sr, No. Column name Constraint Datatype
1 id Primary Key int
2 cart_id varchar
3 order_id order_id-> order_master.order_id varchar
4. product_id varchar
5 seller_id varchar
6 quantity varchar
E-Commerce Platform Backend Design
7 unit_price varchar
5.7 Price Database
Table: price
Sr, No. Column name Constraint Datatype Comment
1 id Unique Key int
2 seller_id varchar
3 product_id varchar
5 unit_price varchar
6 valid_to date
7 valid_from date
6. TODO
1. Data Design enhancement
2. REST API Design
3. Cache Server Data Design
4. Recommendation Engine Design (Order History + Logs + Analytics → Product Recommendation )
5. NFR Details, Component Details
6. Detailed Design Pattern Information
7. ...

Ecommerce Backend Design

  • 1.
    E-Commerce Platform BackendDesign E-Commerce Platform Backend Design Version: 1.0 State : Draft Author : Vivek Bhandarkar Index 1. Ecommerce Platform 2. Detailed Component Diagram a. Platform Monitoring b. Platform Logging 3. Use-Case diagram 4. Sequence Diagram 5. Data Design 6. TODO a. Data Design enhancement b. REST API Design c. Cache Server Data Design d. Recommendation Engine Design (Order History + Logs + Analytics → Product Recommendation ) e. NFR Details, Component Detail f. Detailed Design Pattern Information g. ...
  • 2.
    E-Commerce Platform BackendDesign 1. Ecommerce Platform
  • 3.
    E-Commerce Platform BackendDesign 2. Ecommerce Backend Component Diagram 2.1 ECommerce Platform Backend Monitoring 2.2 ECommerce Platform Backend Log Aggregation
  • 4.
    E-Commerce Platform BackendDesign 3. Use cases 4. Sequence Diagram
  • 5.
    E-Commerce Platform BackendDesign 4.1 Product Search 4.2 Product Details
  • 6.
    E-Commerce Platform BackendDesign 4.3 Add Product to cart
  • 7.
  • 8.
    E-Commerce Platform BackendDesign 4.4 Checkout
  • 9.
    E-Commerce Platform BackendDesign 4.5 Payment 4.6 Product Listing Sequence Diagram
  • 10.
  • 11.
    E-Commerce Platform BackendDesign 5. Data Design 5.1 Product Catalog MondoDB Document design ProductInfo{ _id : ... displayTitle : "...", manufacturer: "...", mrp: "...", description : "..." rating: 4.3, reviews : [ { title: "Good quality product" review: "detailed review of product" rating : "5" }, { ...... } ], importantInformation: "...", details: [ technicalDetails: { cpu: "4 core", ram: "4GB" }, otherDetails :{ height: "20cm", width: "20cm" }, warrentyInformation: { noOfYears: "2", warrentyConditions: "..." }, ] }
  • 12.
    E-Commerce Platform BackendDesign 5.2 Seller Database Design Table : seller_master Sr, No. Column name Constraint Datatype Comment 1 id Primary Key int 2 seller_name varchar Seller Name 3 registered_busineess_name varchar Registered Business Name 4. PAN varchar Permanent Account No. 5 GST varchar 6 registred_business_address varchar 7 phone_no varchar 8 email_id varchar Table : bank_accounts Sr, No. Column name Constraint Datatype Comment 1 id Unique Key int 2 seller_id Foreign_key -->seller_master.id varchar Seller Name 3 bank_name varchar 4. ifsc_code varchar . 5 account_type varchar 6 account_number varchar
  • 13.
    E-Commerce Platform BackendDesign 5.3 Buyer Database Table : buyer_master Sr, No. Column name Constraint Datatype Comment 2 buyer_id Unique Key varchar Seller Name 3 user_id Unique Key varchar 4. first_name varchar . 5 last_name varchar 6 email_id varchar Table: buyer_addresses Sr, No. Column name Constraint Datatype Comment 1 id Unique Key int 2 buyer_id buyer_id -->buyer_master.buyer_id varchar Seller Name 3 street_address varchar 4. pin_code varchar . 5 state varchar 6 country varchar 7 phone_no varchar Table : card_payments Sr, No. Column name Constraint Datatype Comment 1 id Unique Key int 2 buyer_id varchar Seller Name 3 cvv varchar Encrypted 4. card_no varchar . 5 verification_status varchar
  • 14.
    E-Commerce Platform BackendDesign 6 valid_upto 7 account_number varchar 8 card_name 5.4 Inventory Database Sr, No. Column name Constraint Datatype Comment 1 id Unique Key int 2 seller_id varchar 3 product_id varchar 5 unit_price varchar 6 quantity varchar 5.5 Cart Database Table: cart_master Sr, No. Column name Constraint Datatype 1 id Primary Key int 2 cart_id Unique Key 3 buyer varchar 4 address_id varchar 5 payment_gateway_id varchar 6 total_price double Table : cart_details Sr, No. Column name Constraint Datatype 1 id Primary Key int 2 cart_id cart_id->cart_master.cart_id
  • 15.
    E-Commerce Platform BackendDesign 3 product_id varchar 4. seller_id varchar 5 quantity varchar 6 unit_price double 5.6 Order Database Table : order_master Sr, No. Column name Constraint Datatype 1 id Primary Key int 2 order_id Unique Key varchar 3 cart_id varchar 4 buyer varchar 5 seller 6 address_id varchar 7 payment_gateway_id varchar 8 total_price double 9 payment_status varchar 9 delivery_status varchar Table : order_details Sr, No. Column name Constraint Datatype 1 id Primary Key int 2 cart_id varchar 3 order_id order_id-> order_master.order_id varchar 4. product_id varchar 5 seller_id varchar 6 quantity varchar
  • 16.
    E-Commerce Platform BackendDesign 7 unit_price varchar 5.7 Price Database Table: price Sr, No. Column name Constraint Datatype Comment 1 id Unique Key int 2 seller_id varchar 3 product_id varchar 5 unit_price varchar 6 valid_to date 7 valid_from date 6. TODO 1. Data Design enhancement 2. REST API Design 3. Cache Server Data Design 4. Recommendation Engine Design (Order History + Logs + Analytics → Product Recommendation ) 5. NFR Details, Component Details 6. Detailed Design Pattern Information 7. ...