Amazon | Onsite (HLD) | Design a subscription based DVD-rental service like early Netflix
Anonymous User
433

Design a subscription based DVD-rental service like Netflix used to be in the early days.

Requirements

  • Users can create bucket list of their favourite movies.
  • If a DVD for any one of the movies in the list is available, system will ship it to the user. User only needs to create the list. Once list is created it is the system's responsibility to ship DVD to the user as and when they become available. User need not perform any additional steps.
  • User can rent only 1 DVD at a time. Unless the user returns the DVD he will NOT receive any other DVDs.

These were the only requirements were given to me. In fact I had to ask probing questions to clarify and arrive at these requirements.

To be honest I was struggling to come up with a working desgin for this. I tried to use an events based design. Events like "user adds a movie to list", "DVD is shipped to user", "DVD is returned by user" would trigger some actions. But it was getting complicated.
It was getting difficult to have the system distribute DVDs based on availabitlity without any user action (other than adding items to list).

Any suggestions on how this can be implemented? I am really curious.

Comments (1)