Design an E-commerce website like flipkart.com

In this entry we will discuss a design for E-commerce website like Flipkart. Before going into the design details, following are the list of Features.

List of Features:

1. User can sign-up, sign-in,search a product,view categories, view products,add a product to the cart, check out  products, add product to wishlist, share wishlist and what not...Here we will divide the list of features into following high level user stories:

  • Customer/User related stories eg cart, wishlist etc.
  • Admin related stories eg: ON/OFF a new product, canceling an order, adding offers etc. This all features will be wrapped into a Admin portal.
  • Product search and categorization related stories.
  • The system should support 1 Million requests per second.
  • The system should be high scaling and availability.
In this design our focus would be on Customer/User Related tasks and Product search and categorization related tasks. Our system should support 10,000 customer/second and should be able to serve 100 Million products over different categories.

For product search, we can use Solr- an open source enterprise search platform with cache.Whenever a product request comes, load balancer will search a product in Solr, if the product exist detail of the product returned without querying the database. We are going to cache 40% of our product in Solr. Assume each of our products is of 10MB including image,description and other metadata.100Million product would be approx 1000TB or more, So we need to cache 400TB data in Solr. Considering a machine can store 10TB data in hard disk,  we will need 140 machine for data and 100 machine to add redundancy.

Design Strategy:

To build high scaling application with ~zero downtime ~high availability one of our strategy would be to use Microservice based approach. Microservices is an approach to application development where a large application is built as a suite of granular services. Each service supports a specific business goal and uses a simple, well-defined interface to communicate with other services. High level design is as follow:


In above design, we are storing the session state at the client and and session data in in-memory database using session-service. The shopping cart for each user is stored as a restful resource on the server.

If you have your data sharded across multiple databases. lot of HTTP server, Cache server responding the request, you need to have a provisioning server to auto scale the capacity dynamically by setting up servers as need or removing in case of reduced load. In this case its better to go full stateless and leave the shopping cart with client session. Then once user hits check-in, shopping cart should be persisted on database. The key about the rest is that every request the client makes has to contains all data to identify itself. I would suggest reading about  OAuth.



Comments

  1. Hello There,

    Your writing shines like gold! There is no room for gibberish here clearly. You nailed it in Geekibuti - Help you to get Dream Job!!

    My AWS control panel is set to Chinese and there is nothing I can do about it, apparently. I loaded up the site when the language preferences on this computer were set to Simplified Chinese, and even after changing them to US English and selecting English on the drop down before login, logging in takes me to a Chinese control panel.

    Very useful post !everyone should learn and use it during their learning path.

    Kind Regards,
    Irene Hynes

    ReplyDelete
  2. Hi Deepak,

    Design an E-commerce website like flipkart.com being contrived to exist for many projects simply so it can be run will be the first to hit the wall, but those projects where the functions to make existing transactions cheaper in real world applications will find the elusive real-world demand.

    I recently attended the AWS Summit London 2018. During the afternoon session about "Open Source at AWS" there were some resources mentioned for persuading your company that open source can be a great benefit to them AWS Training .

    Unfortunately, this wasn't one of the slide sets which has been made available after the event.

    Follow my new blog if you interested in just tag along me in any social media platforms!

    Cheers,
    Kevin

    ReplyDelete
  3. Merhaba,

    Three cheers to you ! Hooray!!! I feel like I hit the jackpot on Design an E-commerce website like flipkart.com

    I logged into console.aws.amazon.com today and now every few seconds a popup says I need to reload (and re-login). AWS Tutorial This has happened before after a long time of inactivity, but now it's happening so often I can't look at anything without having to reload and login

    THANK YOU!! This saved my butt today, I’m immensely grateful.

    Obrigado,
    Radhey

    ReplyDelete
  4. E-Commerce website creations best one for get on-line business, Magneto(CMS)is very good platform this managing is very easy Web Design Agency in Bangalore | Website Development Company in Bangalore | Web Designers in Bangalore

    ReplyDelete
  5. Nice and awesome post regarding "Design an E-commerce website like flipkart.com"

    Thanks for sharing with us.

    Commercial Photographer In Delhi
    Professional Product Photography

    ReplyDelete
  6. I am really impressed with your blog article, such great & useful knowledge you mentioned here. Your post is very informative. I have read all your posts and all are

    very informative. Thanks for sharing and keep it up like this.
    Digital Marketing agency In Nashik
    Social Media Marketing in Nashik
    SEO In Nashik
    SEO Experts in Nashik

    ReplyDelete
  7. You explained the topic very well. The content has provided meaningful information about e-commerce website.For e-commerce website you need web designing for your website. DataIT Solutions is best opetion for your retail website design. Retail Website Design| Ecommerce Website design

    ReplyDelete
  8. Thedigiexperts is Delhi's leading digital marketing institute with over 10 branches all over Delhi, Covers all the main topics such as putlocker

    ReplyDelete
  9. This is really helpful and informative, as this gave me more insight to create more ideas and solutions for my plan. Excellent and very cool idea and great content of different kinds of the valuable information's.
    Retail Chatbot
    Shopping Chatbot
    Chatbots for Retail Industry
    Ecommerce Chatbot
    Chatbots for Retail and Ecommerce
    Conversational AI in Retail
    AI Chatbot Companies
    Chatbot Companies
    Chatbot App Development Company

    ReplyDelete
  10. Business Decision makers loves online videos because they get more information in short span of time. We have 5+ year experience in creating Corporate Videos in Bangalore for our clients. We have worked with various industrial clients & have given significant results. Other services we offer 2d animation, explainer videos, ad film making etc. Check us out.

    ReplyDelete
  11. Used correctly social media marketing can give you a platform for brand awareness, exposure, networking, and a huge boost in traffic & sales. Unfortunately, most people don't know how to use the social media properties correctly and fail miserably at it... Marketing Blog

    ReplyDelete
  12. Used correctly social media marketing can give you a platform for brand awareness, exposure, networking, and a huge boost in traffic & sales. Unfortunately, most people don't know how to use the social media properties correctly and fail miserably at it... duffdigitalmarketing.com

    ReplyDelete

Post a Comment