Building an on-demand music streaming web application just like Spotify. The goal is not to make Spotify out of business, but trying to get a sense of how to actually build fairly complex systems right from scratch to shipping the product to the production!
Major learnings that I seek from this project is -
- Design, architect and build the entire backend from scratch.
- Learn the nuances of the distributed systems.
- Make the system scalable for high traffic and experiment with it!
- Add a few cool features that are not available on Spotify, but can't disclose them now for obvious reasons!
- Golang - Used to build the backend of the application.
- MongoDB - Storage of data
- Redis - Key value store used to cache the frequently used data
- Kafka
- AWS - Hosting the application
- Docker
- Kubernetes