In this post, we are going to design a news feed system.
What is a news feed? According to the Facebook help page, "News feed is the constantly updating list of stories in the middle of your home page. News Feed includes status updates, photos, videos, links, app activity, and likes from people, pages, and groups you follow on Facebook".
A notification system has already become a very popular feature for many applications in recent years. A notification alerts users with important information like breaking news, product updates, events, offerings, etc. It has become an indispensable part of our daily life.
History of React State Management
• 2013 – Introduction
• 2015 – Redux
• 2016 – MobX
• 2018 – Context
• 2019 – Hooks
• 2019 – Zustand
• 2020 – Jotai, Recoil
The future is exciting! Here's a brief summary of how we got here ⬇️
A web crawler is known as a robot or spider. It is widely used by search engines to discover new or updated content on the web. A web crawler starts by collecting a few web pages and then follows links on those pages to collect new content.
The following figure shows a visual example of the crawl process.
In this post, we will tackle an interesting and classic system design approach: designing a URL shortening service like tinyurl.
Sveltekit has finally reached 1.0. Sveltekit is the most powerful and advance framework we could ever have. Sveltekit is the first full stack framework in this svelte ecosystem to reach a stable release.
Suppose you are asked to design a unique ID generator in distributed systems. Your first thought might be to use a primary key with the auto_increment attribute in a traditional database.
We'll continue from where we left off in the previous post.
In this post, I will explain the following system components topics:
A key-value store, also referred to as a key-value database, is a non-relational database. Each unique identifier is stored as a key with its associated value. This data pairing is known as a “key-value” pair.
To achieve horizontal scaling, it is important to distribute requests/data efficiently and evenly across servers. Consistent hashing is a commonly used technique to achieve this goal. But first, let us take an in-depth look at the problem.