Giter Club home page Giter Club logo

ios-pomodoro's Introduction

Hi there πŸ‘‹

I'm a software engineer at HelloBetter.

I've previously spent time on intranet, smart speakers, data publishing systems, MPEG video multiplexing, apps for broadcast TV and financial data streaming libraries. I've dabbled in the odd website over the years as well.

I like to play with different languages but I've most recently worked with NodeJS (Javascript and Typescript) and Java (Spring Boot etc.). I've also used C++, C#, Python, Go and a handfull of other languages when the interest takes me.

Expertise

nodejs

typescript

aws

alexa

ios-pomodoro's People

Contributors

igilham avatar

Watchers

 avatar

ios-pomodoro's Issues

Persist every day's task list

Each day's task list should be persisted with the date to enable historical analysis.

The amount of history should be restricted to some time period ( 1 month? 1 year?)

Continue timer when app sleeps

The OS may blank the screen and/or otherwise put the app to sleep. The timer should continue to work in that scenario and raise a notification when finished.

Create timer screen

A basic visual representation of a timer with a task label and a single button to stop and abandon the work period.

Stopping the timer navigates to the task screen.

Completing the timer records a completed timer against the task and displays a completion message. This changes the button to just return to the task screen without affecting state.

Add statistics page for historical data

  • add setting for number of days to calculate statistics over
  • display average number of tasks per day
  • display average number of estimated work periods
  • display average number of completed work periods
  • display average number of interruptions
  • display average number of abandoned work periods

Run a break timer after completing a work timer

The pomodoro timer screen should allow the user to start a break timer after each completed work timer. The typical duration of a break timer in the Pomodoro Technique is 5 minutes.

  • after completing a work timer, the acknowledgement button starts a break timer (default: 5 min)
  • the break timer can be dismissed with a button
  • the break timer has a different visual representation

Create settings page with basic timer settings

Providing a view to enable users to alter the lengths of timers would allow the application to work more flexibly for people with varying requirements.

Create a new screen for surfacing user settings

  • work timer duration (25min)
  • break timer duration (5 min)
  • long break timer duration (30min)

Improve UX of adding new tasks

The input control used to create new tasks is not very user-friendly. The application currently uses an Alert control, which exposes two unlabelled text boxes. The user must write a string into the first box and an integer into the second for the task to be created successfully. A better design would be to implement a new input screen with some help text and labelled input controls, including a more suitable numeric input for the task estimate.

Allow editing tasks

There is not currently any way to edit a task’s title or estimate once it has been created. The screen used to create new tasks (as described in #17) could be further used to edit the details of an existing task. It may also be useful to be able to mark the task as done from this screen.

Create task list screen

First app screen, showing a list of tasks.

User features:

  • add a task
  • remove a task
  • edit a task name
  • add an estimate to a task
  • edit estimate
  • mark a task as completed

Take a longer break after 4 completed work timers

The Pomodoro Technique prescribes a longer break, typically 30 minutes after 4 completed work timers (and the breaks in between) have been completed. The application should track the number of completed timers from the start of a day and offer the user a chance to time a longer break.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.