Design Online Shopping Platform (E-Commerce)
Overview– Online shopping platform that allows users to purchase mobiles, laptops, cameras, and books. Watches, apparel, shoes, etc. Functional Requirements– User should be able to search and find products based on product titles or names. User should be able to view the details of the product (Description, image, available quantity, review) User should be able to select the quantity and move the item to cart. User should be able to make the payment and do the checkout. User should be able to check the status of the order Manage purchase of items having limited stock. Non-Functional Requirements— Scale: 10M MAU and 10 orders/sec CAP Theorem: Highly available with respect to searching and viewing the items, and highly consistent with respect to placing the order and payment. Core Entities— User Product Cart Order Checkout API– // Search Product GET: /products/search?q={seachTerm} → List <ProductId> list : Pagination // Product Detail GET: /products/{productId}→ return the product details (json) // Insert Data POST: /cart {body: all product Id} → return cartId // checkout and payment POST: /checkout {body: all product Id with wty and price} → orderId POST: /payment {body: orderId and payment details} → confirmation // order Status GET: /status/{orderId} High-Level Design–