Now that we know what we are going to build, let's define a list of requirements for the application. The application is all about displaying a timer and displaying workouts. So, let's define what it must be able to do. Here's my list of functional requirements:
The application should display a countdown timer.
The countdown timer can be from 25 to 0 minutes, from 5 to 0 minutes, or from 10 to 0 minutes.
It shall be possible to start, pause, and stop the timer at any moment of the application's execution.
The application shall produce some sounds when the time reaches 0 and the next period of break or the working Pomodoro starts.
The application shall display a workout during the short and long breaks. It shall be possible to skip the current workout and switch to the next one. It shall also be possible to skip workouts completely during a break and just stare at kittens. It shall also be possible to mark the given workout as done.
The application must offer an authentication...