How to design a successful eCommerce system for Amazon, eBay, FilPCart and Walmart (by Amazon TPM)

Поділитися
Вставка
  • Опубліковано 23 сер 2024

КОМЕНТАРІ • 234

  • @heyThereHypocrites
    @heyThereHypocrites 8 місяців тому +17

    Damn! This is the best tutorial video on UA-cam for system design I have seen so far.
    You managed to get in the details, draw a sufficiently elaborated system, explained how you should think without actually doing it and still managed to finish it within 11 min.
    Thanks for your work! 🔥👍

  • @ChandanArya2002
    @ChandanArya2002 Рік тому +118

    first time , I am decreasing the speed of videos 😄

  • @WasteMaterial-vr3qe
    @WasteMaterial-vr3qe 4 місяці тому +5

    Was not expecting this much knowledge in span of 10min.
    Amazing content

  • @AltaiiSinan
    @AltaiiSinan 3 дні тому

    First time for me as well reducing the speed of the video. Really good job at drawing the system design! Thank you!

  • @vaibhavdubey2525
    @vaibhavdubey2525 11 місяців тому +10

    I'll suggest to focus more on
    How Payment Service, Order Service and Inventory Service interact and how they hold the lock etc

  • @himanshus_bhardwaj
    @himanshus_bhardwaj 8 місяців тому +2

    Its so amazing that you completed it in just 10 mins, where other UTUBERS take more than 30. ❣

  • @AnkitDeshmukh-l4g
    @AnkitDeshmukh-l4g Місяць тому

    @Pratiksha Bakrola , keep up the good work. Very concise, to the point, in fact I like the speed of the videos it helps cram things faster before a system design interview. Much better than many ex fang swe's whose videos I have seen . Appreciate it.

  • @macewindont9922
    @macewindont9922 4 дні тому

    Great video! The part where you scale all the services was pretty quick and hand wavy. I would have appreciated some explanation as to how the message queues, etc. do what you said. But overall extremely helpful and succinct.

  • @geetesh8539
    @geetesh8539 Рік тому +8

    I like the flow you captured from the user requirement to the scaling part. Can you come up with more such videos so that we can frame our mindset in solving such HLDs. May be it's better if you could also talk on what these components do exactly & what are there alternatives.
    Overall, this seems to be a productive one. Thanks for such videos, hoping for more such videos soon

  • @prabhupadswain7638
    @prabhupadswain7638 Місяць тому

    Hello Ma'am or infact I can say Pratiksha as in IT culture we don't call Sir or Madam anyone.
    Your video is truly nice & the way you taught and expressed this concept is really great.
    There are many tutorials and the tutors teaching on YT refer to themselves having experience in top product based companies.
    But, from your teaching style, I am influenced and your concepts are really strong and it definitely looks like you are working with Amazon and you can really switch between product-based companies.

  • @priyanshusinghal373
    @priyanshusinghal373 8 місяців тому +1

    it looks you just gave me whole idea of system design in one shot

    • @pratikshabakrola
      @pratikshabakrola  7 місяців тому

      I am glad you found it helpful and really appreciate you sharing this!

  • @vaibhavdubey2525
    @vaibhavdubey2525 Рік тому +2

    I have started watching your videos.
    Just amazing.
    Way better than a lot of UA-camrs.
    Specifically, your videos are to the point, and save a lot of time unlike other 1 hour videos.
    Keep the good work going.
    Full Support🙂
    keep posting such videos

  • @VinayKumar-sy3oj
    @VinayKumar-sy3oj 3 місяці тому

    Excellent..! Well Articulated.
    Thanks for sharing. Nice speed flow given me More info in Less time.
    Please do keep sharing.

  • @maheshramteke2765
    @maheshramteke2765 3 місяці тому

    This is really helpful and useful video for system design for beginners. Please add more videos from the above playlist. Your knowledge is really helpful for beginners in the software development.

  • @sankaryadav3646
    @sankaryadav3646 11 місяців тому +1

    Video is informative. Thanks for sharing the info in quick time.
    I don't know this happened to me or all Playback speed was fluctuating.

    • @pratikshabakrola
      @pratikshabakrola  9 місяців тому

      Sorry about the furcation on playback speed. I will pay closer attention to that next time.

  • @melodicamallik5418
    @melodicamallik5418 11 місяців тому +1

    Excellent and crisp explanation.Just a few questions.1. Why do we need a cartDb? As this is a temporary data and will not be required once an order is placed for the cart. It may be redundant in that case. But it will be useful if the user wants to retrieve the cart information later on. In my opinion, we can manage both Cart and Orders using a single DB.Same goes with inventory DB and order DB.We can use a single DB to manage both.And we can manage recommnedations using the search service itself as the source of truth is the search history db managed by Search Service.

    • @pratikshabakrola
      @pratikshabakrola  11 місяців тому +2

      When user add items to the cart but doesn’t complete the order and leave the site, you can keep those items in the cart when they revisit. I agree with your suggestion that you could manage that in the order database, by simply adding an additional column to indicate whether the order has been placed or not. I don’t think it’s such a good idea to have one database for inventory as well as orders, they’re essentially two different types of of data. When they’re separate, you can archive historical orders but if you maintain inventory in the same table, design is not as clean.

    • @melodicamallik5418
      @melodicamallik5418 11 місяців тому

      @@pratikshabakrola Sorry for the typo.I meant same DB for product and inventory.Its not orders.

  • @jackanovcasanova
    @jackanovcasanova Місяць тому

    Awsome !! Only thing i wished, if I can get the the whole flow chart as an image or pdf. Would have been a great help.

  • @vijaykumarmanchuri8452
    @vijaykumarmanchuri8452 2 місяці тому +1

    Could you please let me know whats the tool used to do the system design diagram

  • @fatemehrezaei3727
    @fatemehrezaei3727 Місяць тому

    Very concise and to the point. Thanks so much!

  • @divyarajbakrola6395
    @divyarajbakrola6395 Рік тому +5

    You made it look so easy and understandable! Keep up the good work !

  • @gkdaeiaef
    @gkdaeiaef Місяць тому +1

    Why are we not using SQL for order database when the requirement states you need high consistency for it?

  • @ashashankar29
    @ashashankar29 3 місяці тому

    crisp and very relevant to interviews. estimations are good again wrt to interviews . thank you

  • @shineinusa
    @shineinusa Місяць тому

    most underrated i still wonder how this channel has such low sub count.

  • @akadeadahot7067
    @akadeadahot7067 Рік тому

    as i randomly searching system design arch for e-commerce website this video is just a perfect match but i think this much type of deep dive is not needed for my product. Really appreciate your efforts and yes i understand how will i suppose to do things before starting actual implementation.
    👍👍

  • @tejeshreddy2933
    @tejeshreddy2933 6 місяців тому +2

    Best content for hld
    Please continue with the videos

  • @hetsuthar9538
    @hetsuthar9538 Місяць тому +1

    ❓Question - Why do we need to pass UserId to every api call param as we can extract it from the api session itself? (Assuming APIs are accessible post to user login)

  • @nithishgolla7610
    @nithishgolla7610 5 днів тому

    Can you please tell me about the tool used for system design diagrams

  • @ikinataadesanya8108
    @ikinataadesanya8108 2 місяці тому +1

    Very informative video...thank you so much. What tool did you use for draw the diagrams?

  • @bhetobangalijd
    @bhetobangalijd 8 місяців тому +1

    Very Basic design. Most of the time talked about the DB designs. Looking for the how product search is implemented, order transactions which will be interesting for the interviews. You talked about the scalability but didn't about the how you are going to implement via deployment or maintenance point of views

    • @pratikshabakrola
      @pratikshabakrola  7 місяців тому +1

      Thanks for taking the time to share your thoughts!
      Normally, your system design interview will be for one hour. If you remove the initial introduction with your interviewer and last few minutes for Q&A, you will have only about 45 minutes for the actual interview. If you can cover the design , elastic search, transaction processing system, plus deployment and maintenance point of view, Go for it!! But if you take all of that in requirements and don't complete the design, it reflects poorly on time management skills. Also, if you take on too many features, you may not be able to provide in-depth explanations. So, choose wisely!!

    • @bhetobangalijd
      @bhetobangalijd 7 місяців тому

      @@pratikshabakrola normally, user management is same for all the use cases. In interview, if its specially mentioned about ecommerce then you should focus on ecommerce related topics. Like how you are going to design your product catelog, cart management, order management. Covering only user management for the sake of time killing its not a good idea. 1hr is a huge time, to showcase your skills you should concentrate the other aspects apart from user management. Wisely from an architect POV, interviewers looking for how you are handling scalability, resiliency and how you are bringing out of the box ideas.

  • @ronishjariwala8714
    @ronishjariwala8714 Рік тому +1

    I just wanted to let you know how much I loved your content! It was absolutely fantastic, and I can't wait to see more. Do you think you could upload some more soon? I'm really looking forward to it.

  • @gnanadeepika9945
    @gnanadeepika9945 Рік тому

    Wooww! Amazing. This is by far best system design video for amazon! Keep posting :)

  • @mayuragrawal4410
    @mayuragrawal4410 2 місяці тому +1

    what tool did you use to draw the system?

  • @shushriyaswarnkar9591
    @shushriyaswarnkar9591 4 місяці тому +2

    Can you please mention the tool that you have used to draw the flow chart?

  • @Learner-q5m
    @Learner-q5m 14 днів тому

    Pratiksha, which tool are you using to draw these diagrams/blocks of system design?

  • @neetadhavade
    @neetadhavade 2 місяці тому

    That was really great, 2.8K is very low on the like count. I wonder why

  • @efoamegnito3546
    @efoamegnito3546 2 місяці тому

    Thank you for this video.
    Please what tool do you use to implement the design?

  • @Nayaan_ai
    @Nayaan_ai 5 місяців тому +1

    could you please mention the name of library you used for drawing in Excalidraw ?

  • @vaibhavsaharan7898
    @vaibhavsaharan7898 12 днів тому

    Why the add to card service is triggering order service, not the client or payment service when payment is done

  • @alokkmishra
    @alokkmishra 4 місяці тому

    Could you please create a video for the database design of Swiggy or Zomato?

  • @venkatabora1459
    @venkatabora1459 11 місяців тому

    Useful, Insightful and Thoughtful system design videos before Interviews. Thanks Pratiksha :)

  • @mohnoor94
    @mohnoor94 Рік тому +1

    This is super simple, neat, and helpful! Thank you!

  • @jonamep
    @jonamep Рік тому +3

    I loved that you built the architecture following an ordering of usage (search to order status) and base implementation to improvements (services, DBs and then caching , archives)
    I just had one concern. Is it good to have one single service touching more than one database ?
    Also maybe horizontally organizing the system design in layers like web tier, app tier, data tier would improve the readability of the overall architecture by avoiding entanglements in the design.
    Thanks very much for sharing your knowledge :D
    Please post more of that content!

    • @pratikshabakrola
      @pratikshabakrola  Рік тому +1

      There are many ways to optimize the architecture, Thanks for taking the time to call out other considerations!
      Yes, more videos to come soon!

  • @AnjulGoel-h1o
    @AnjulGoel-h1o 28 днів тому

    Could you explain why did you add messageQ, won't the search and add to cart operations by synchronous ?

  • @gokarnasuhaan
    @gokarnasuhaan 10 місяців тому

    Wow , amazing step by step explanation 🎉🎉🎉🎉 subscribed ❤
    Keep up the great job !!!!!
    Cant wait to watch more videos like this

  • @GauthamVenkatesan
    @GauthamVenkatesan 2 місяці тому

    Awesome work Pratkisha. Thanks.

  • @vishalyex
    @vishalyex Рік тому

    How can someone be so effortless. Ireally enjiyed watchubg whole video . Seriiusly❤❤

  • @jeffreyt999
    @jeffreyt999 9 місяців тому

    Thank you for putting this together. A couple of notes. The video seems sped up at certain parts and normal in others. A little jarring to follow.
    Personally, I see Search/Cart/Order as separate services. I would expect a direct interaction from User to Order or Cart Service and not through Search Or Reommendation.

    • @pratikshabakrola
      @pratikshabakrola  7 місяців тому

      Hi,
      Thank you for taking the time to share this. It usually takes a few hours to film the whole video and i sometimes talk faster(especially when i get tired). I will pay attention to the pace at which I talk.
      Regarding the Search/Cart/Order service. There are multiple right ways of doing something. So, You can have them as a separate service if you like.
      My thought process is: You saw a recommended product on your homepage and decided to add it to cart or You want something, you will search for it and add it to the cart from the search results.
      Hope this helps!
      Thanks,

  • @tommyck7185
    @tommyck7185 6 місяців тому +1

    Top Tier explaination, very informative 👍

  • @deepesh259nitk
    @deepesh259nitk 5 місяців тому

    Great video on System Design good part of this video it is fast forwarded so to recap it's easier to come back and review, Thanks for creating it.
    At 5:10 You have opted to use NoSQL DB for order data to avoid 2 tables. Can that approach apply to user data? storing both user details and addresses in one place using NoSQL DB ?

  • @GidzPaul
    @GidzPaul 5 місяців тому +1

    Thank you. This was very helpful.

  • @cameliawilliams2312
    @cameliawilliams2312 9 місяців тому

    Great video, the structure and information of your presentation are the best, thank you!

  • @kanaiyapatel5691
    @kanaiyapatel5691 Рік тому +1

    Awesome

  • @user-fc1wb2ii5w
    @user-fc1wb2ii5w 4 місяці тому

    Great content and very informative. You could have slowed it down a bit, I had to slow the speed and rewatch.

  • @KyuriousBot
    @KyuriousBot 11 місяців тому +2

    Perfect for entry level system design rounds!!!!
    Need more videos, please. 😄

  • @AMX0013
    @AMX0013 3 місяці тому

    Great content!! Where can I find the draw tool and the library of images for each component? That would be greatly beneficial !

  • @krishnakumarramachandran5888
    @krishnakumarramachandran5888 8 місяців тому

    Hi Pratiksha, Thanks for this video. I have two doubts, 1. what is the use of message queue in search service and get recommendation service? 2. You have mentioned everything as db, so are they maintaining everything in separate db as product db, search history db, recommendation db, and product inventory db?

  • @Barv30
    @Barv30 7 місяців тому

    thanks for your video. can you explain please the usage of MQ for the search service and addToCart service? I'm not sure I get the idea why to use it instead of Rest API

  • @sreyas14
    @sreyas14 3 місяці тому

    May i know the tool you have used to draw the design

  • @ankd18
    @ankd18 11 місяців тому +2

    Thank you for creating such an awesome video that helps to learn about System Design based on real-life product. Could you please share downloadable links or images of the System Design (non-scaled and scaled) that were shown in this video?

    • @pratikshabakrola
      @pratikshabakrola  9 місяців тому

      Thanks for sharing the feedback, i am working downloadable links.

  • @jeremyliem2649
    @jeremyliem2649 Рік тому +1

    Improvement Points: for Search API -> add query parameters for pagination
    Do not use verbs on service names - can combine Order Service into one

  • @datasciencetoday7127
    @datasciencetoday7127 Рік тому

    single best resource online

  • @vigneshaithal
    @vigneshaithal Рік тому

    Very nice tutorial ma'am. Very helpful. Please make videos like this, it truly helps us.

    • @pratikshabakrola
      @pratikshabakrola  Рік тому

      Thanks for sharing the feedback, more videos to come soon!

  • @shafiulislamjony6851
    @shafiulislamjony6851 Рік тому +1

    Your video is absolutely stunning! ❤ Great job!

  • @shikharsharma6399
    @shikharsharma6399 5 місяців тому

    When to use SQL vs NoSQl is clear.
    But how do you decide between documentDB vs keyValue in this case?
    Like why did you use KeyValue in the customer reviews and not document DB?

  • @roohitrajj
    @roohitrajj 3 місяці тому

    well explained .. need to watch couple of time. thanks

  • @bhushan8384
    @bhushan8384 4 місяці тому

    Great content in short time. Keep it up!

  • @MeteorGarden8
    @MeteorGarden8 Рік тому +4

    How did you tackle the high consistency requirement?

  • @VrittiRohira
    @VrittiRohira 2 місяці тому

    What tool are you using for whiteboarding?

  • @sip360
    @sip360 11 місяців тому

    Very good madam please keep to making these videos

  • @ansumandas5749
    @ansumandas5749 Місяць тому

    Loved it.

  • @a_storyy_teller
    @a_storyy_teller 3 місяці тому

    your explanation is good and to the point

  • @saicharan8675
    @saicharan8675 3 місяці тому

    Very niceee.... Great one

  • @utkarshgupta2909
    @utkarshgupta2909 Місяць тому

    Nice video. Which tool is used to make the system design diagram?

  • @saurav0777
    @saurav0777 Рік тому

    Great explanation in short time .

  • @brijeshyadavmp14
    @brijeshyadavmp14 7 місяців тому +1

    Thanks @ Pratiksha Bakrola for the awesome explanation in very short video. Could you please mention the tool name used for system design creation?

    • @pratikshabakrola
      @pratikshabakrola  7 місяців тому

      Thank you so much!
      The tool is called Excalidraw. I am using the free version with System design libraries.

  • @omjavir07
    @omjavir07 7 місяців тому

    Thank you, really very informative ✅💯

  • @samim01
    @samim01 2 місяці тому

    Didi tusi great ho

  • @kewalrawat7990
    @kewalrawat7990 8 місяців тому +1

    Can you improve the video sound quality...

  • @amritaroy692
    @amritaroy692 2 місяці тому

    Too Good !

  • @travelnlearn
    @travelnlearn 11 місяців тому

    Thank You for this awesome explanation

  • @MiteshBDesai
    @MiteshBDesai 7 місяців тому

    Nice. Whcih tool did you use for the block daigram ?

    • @pratikshabakrola
      @pratikshabakrola  7 місяців тому +1

      The tool is called Excalidraw. I am using the free version with System design libraries.

  • @piyush10vns
    @piyush10vns Рік тому

    That was Great video, You are the best .

  • @bvinodmca
    @bvinodmca Рік тому

    very nice

  • @KnowledgeGuide859
    @KnowledgeGuide859 4 місяці тому

    Which excalidraw library r u using

  • @er.shivamkesarwani6668
    @er.shivamkesarwani6668 Рік тому

    nice content

  • @RaviKumar-kl3vq
    @RaviKumar-kl3vq Рік тому +1

    Very informative and concised video. Thanks a lot for that. Please keep making such videos. Also can you please let us know about the tool you are using to make the designs ?

    • @pratikshabakrola
      @pratikshabakrola  Рік тому +1

      Hello RaviKumar,
      Thank you for the feedback! I am using Excalidraw for drawing. You can find more about it in 'How to Ace System Design Interview' video around 11 minute mark.

    • @pratikshabakrola
      @pratikshabakrola  Рік тому

      ua-cam.com/video/gHso2rWo8BE/v-deo.html

  • @santosh_bhat
    @santosh_bhat 10 місяців тому

    Nice video, can you please share the excalidraw libraries you used to get the wodgets ?

    • @pratikshabakrola
      @pratikshabakrola  9 місяців тому +2

      I am using : System Design Components by @Rohan Pithadiya

  • @mayank_singh_43
    @mayank_singh_43 3 місяці тому

    Awsm content, to the point talk

  • @vijaykumarmanchuri8452
    @vijaykumarmanchuri8452 2 місяці тому

    awesome video

  • @aftabalam7103
    @aftabalam7103 10 місяців тому

    Thanks for making this so easy to understand. Can you tell what tool are you using for this design diagram?

    • @pratikshabakrola
      @pratikshabakrola  9 місяців тому

      Thank you so much! I am using Excalidraw. It's a great collaboration tool, you should totally check it out.

  • @eXtrem1s
    @eXtrem1s 8 місяців тому

    The video is very easy to understand. Kudos on that. May I know what software do you use to make these systems?

    • @pratikshabakrola
      @pratikshabakrola  7 місяців тому

      I am glad you found this helpful!
      The tool is called Excalidraw. I am using the free version with system design libraries.

  • @Userkazt
    @Userkazt Рік тому

    How you calculated the size of the Description?? in Product storage section

  • @ankitjain6437
    @ankitjain6437 7 місяців тому

    Hey can you share the tool you used to create the system design ???

    • @pratikshabakrola
      @pratikshabakrola  7 місяців тому

      I am using Excalidraw with system design libraries for quick graphics.

  • @erythsea
    @erythsea Рік тому

    Love this❤ Ty

  • @parvkaurav7973
    @parvkaurav7973 Рік тому

    Superb explanation.😀

  • @msatish1107
    @msatish1107 Рік тому

    Feels like robo voice over… for the first time ever I decreased speed 😂😂😂

    • @pratikshabakrola
      @pratikshabakrola  9 місяців тому +1

      I can assure you, not a robot voice over :D

  • @ashishsaiwal218
    @ashishsaiwal218 11 місяців тому

    The video is really helpfull. I have understand how to design a system in more detail using this video. Hey Can you provide Excalidraw library for this ?

    • @yzc1128
      @yzc1128 11 місяців тому

      search for System Design Components

    • @pratikshabakrola
      @pratikshabakrola  9 місяців тому

      I am using : System Design Components by @Rohan Pithadiya

  • @metalalive2006
    @metalalive2006 Рік тому

    how to deal with potential data loss if nosql db is applied to order service ?

  • @bijayalaxmipradhan9808
    @bijayalaxmipradhan9808 Рік тому

    Great explanation. ❤

  • @iayushch
    @iayushch 2 місяці тому

    Gem❤