Requirements of Twitter’s Design
In this lesson3 sections
Requirements of Twitter’s Design
Define a read-heavy microblogging workload and its consistency boundaries. A successful post, a feed entry, a search result, and a displayed like count can have different freshness requirements.
Requirements
We will outline the system’s functional and non-functional requirements below.
Functional requirements
The system must support the following core features:
Post tweets: Users can publish messages containing text and media.
Delete tweets: Users can remove their own content.
Like or remove a like: Record a user’s current like state for a post. The later sketch calls removal “dislike”; this exercise does not introduce a separate public downvote feature.
Reply: Users can reply to public tweets.
Search: Users can search for content using keywords, hashtags, or usernames.
View timelines: The home timeline contains eligible posts and reposts from followed accounts. A user timeline shows posts by one selected account. Personalized recommendations outside the follow graph are an extension, not part of this following-only baseline.
Follow or unfollow: Users can follow or unfollow other accounts.
Retweet: Users can share other users’ public tweets.
Non-functional requirements
The rest of this lesson is for Premium members
Premium opens every lesson in this course, along with all questions and solutions on PracHub.