So this would be new set blog post and my videos on LetsDoCoding. In this particular post we shall be discussing shortly a very simplistic and bare minimum Solution Design for URL Expander and Shortner Service, very similar to Bit.Ly. I have asked this question in quite a few Interviews I have taken in the Initial interview rounds and this post covers all the aspects.
- Cloud based solution design.
- Deployment Strategy and replication for better UX
- Services and Contracts Design
- Database and ER Model Design.
You can refer the video on youtube for complete details, but we shall be discussing some pointers in this post. This question is targeted for interview questions and discussions on system and solution design. So Lets Begin…
High Level Requirements
So lets start with the requirements. The interviewer provides following set of requirements
- Simple URL Shortener Service
- Admins be able to disable any URLs.
- Metrics of URL accessed be stored with basic client Details.
- System should use any backend and any JS based design. Focus on BE.
- Compliance / Violations can be submitted by any user.
- System should be based on cloud.
- System Should be scalable with min Latency.
- System should provide observability.
- Take appropriate assumptions.
- Preferentially AWS should be chosen as cloud platform.
The solution proposed is very simple and minimal but covers all the aspects required for the requirements mentioned.