Write an application where a user can quickly store the time and date of recurring events: How many times did I go to the gym this month, when did I drink something today, count my yawns in this hour, etc.
The simplest iteration of this application consists of a button and a list of the stored time stamps. Whenever the button is pressed, the current time stamp is added to the top of the list.
The kata can be implemented with any technology, the only requirement is for the tracking to require as little user interaction as possible.
- Multiple trackers: tracking multiple kinds of events, each in its own list.
- Statistics: How often has the event occured, average, longest and smallest time span between events. How often has the event occurred per Year/Month/Week/Day, with view for individual time periods.
- Graphing the statistics as histogram or chart over various time periods.
- Multiple users using the same app. Add functionality for login, user accounts and an event list for each user.
- Internationalisation: Translate month and weekday names, support for different date formats. Support for different calendar systems.
- Updating/Deleting items from the list of entries.
- Track durations: First button click starts timer, seconds click stops the timer and stores the duration.
- Storing a rating together with the event. E.g. the user clicks on one of five stars instead of a button.