VIPER, RxSwift-ified

Definition Phase

Design Phase

(-) As a User, I can create a ToDo.
From the List screen:
1) Tap the add button to display the Add screen.
2) Enter a title and date of a ToDo (both are required.)
3) Tap save button to save ToDo and dismiss ToDo screen.
(-) As a User, I can cancel the create ToDo action.
From the Add screen:
1) Tap cancel button to dismiss Add screen without saving.
(-) As a User, I can read all ToDos due this week and next.
From the List screen:
* ToDos should be in date order.
* ToDos should be grouped in the following categories:
Today, Tomorrow, Later This Week, and Next Week.

Development

Story 1, Step 1: Tap the add button to display the Add screen.

Story 1, Step 2: Enter a title and date of a ToDo (both are required.)

Story 1, Step 3: Tap save button to save ToDo and dismiss ToDo screen.


(-) As a User, I can create a ToDo.
From the List screen:
1) Tap the add button to display the Add screen.
2) Enter a title and date of a ToDo (both are required.)
3) Tap save button to save ToDo and dismiss ToDo screen.
Error: If the save fails, instead of dismissing the ToDo screen,
an Alert screen displays explaining the error.

Story 2, Step 1: Tap cancel button to dismiss Add screen without saving.

Story 3: Read Todos.

Epilogue

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store