Requirements

Understanding the functional and non-functional requirements of Quora-like service.

What is Quora

Quora is a social question and answer service. It enables anyone to ask questions, and anyone can reply. In the following, we see the stakeholders in the system and the required functionality.

System stakeholders

Following are the stakeholders in the system.

  • Quora
  • Users (writers, readers)
  • Third-party providers (AWS cloud)
  • Advertisers

Required functionality

  • Any user can read the question and answers without registration. However, there will be a daily quota for such users. Under some particular circumstances, the service might deny service to such users.

  • Only registered users can ask the question. There might be a quota for a user regarding the number of queries per day.

  • Registered users can up or down-vote a question.

  • Service needs to collect and infer topics that are of interest to a user. Service shows daily or weekly, or monthly curation of exciting posts for the user. A user might want to receive such notification over the email.

  • Any user can follow any other user.

  • Questions and answers can have formatted text, audio, video, and external links.

  • Service might need to incentivize asking good questions and good replies.

  • Service might need to guard against bots and spam.

  • Users can add comments to an answer, and these comments can also have up and downvotes. A writer might disable comments anytime.

  • Service also provides a blogging facility.

  • Question and answer can be some select language.

  • Service can have 300 million active users in a month. We assume that the service has 1 billion users in total.

  • Viewers should be able to sort the answers based on votes or dates.

  • Service needs to provide a search facility on the questions, answers, and comments. Writers and commentators might be able to do so anonymously.

  • Service should be able to ban any user it deemed necessary.

Create a free account to access the full course.

By signing up, you agree to Educative's Terms of Service and Privacy Policy