Context

Your company has an internal corporate website that employees can access from the office. They identify themselves using their corporate email.

Now, you want to add a new feature for this website. You want to let users to suggest ideas related with the company. Other users will be able to vote for these ideas.

Iteration 1

Employees can suggest ideas. The ideas have just the user who's suggesting the idea, a text with the suggestion, and the date when the idea was suggested. These ideas will be persisted to a database.

Iteration 2

Employees can vote ideas.

Iteration 3

Employees can't vote their own ideas.

Iteration 4

Employees can't vote twice to the same idea.

Iteration 5

Employees have only 3 votes. They can't vote more than 3 ideas.