Skip to content

kristophesankar/pomolotl

Repository files navigation


Sublime's custom image

pomolotl

Pomodoro - Axolotl. A pomodoro timer app built with NextJS and XSTATE.

Netlify Status

Table Of Contents

Background / Motivation

Pomodoro is a time management technique developed by Francesco Cirillo in the late 1980s. The technique involves breaking work into focused intervals of 25 minutes, called "Pomodoros," separated by short breaks of 5-10 minutes. After four Pomodoros, a longer break of 15-30 minutes is taken.

The idea behind the Pomodoro technique is that by breaking work into smaller, more manageable intervals, it becomes easier to focus and avoid distractions. It also helps to prevent burnout by providing regular breaks to rest and recharge.

The name "Pomodoro" comes from the Italian word for tomato, which is what Cirillo used as a timer when he first developed the technique. Today, there are many digital Pomodoro timers available, making it easy to implement the technique in your work routine.

State Charts

State charts are visual representations of state machines, which describe the behavior of a system in response to events. They use a combination of states, transitions, and actions to model complex behaviors and interactions.

State charts are a good design pattern for modeling the Pomodoro method because it involves a series of states and transitions between those states. For example, the Pomodoro method involves transitioning between work and break states, as well as longer break states after completing multiple work sessions. State charts can effectively model these states and transitions, making it easier to understand and implement the Pomodoro method as a software application.

  • An interactive state chart for the state machine can be found here: State Chart

State Chart 1

This chart maps the following states: focus, shortBreak and longBreak state_chart_1

State Chart 2

This chart maps the following states: idle, paused, running and completed state_chart_2

Todo

The task list can be found here.

Getting Started

Installation

yarn install

Running the app

yarn dev

Open http://localhost:3000 with your browser to see the result.

Running ESLint

yarn next lint 

Running Cypress Tests

Running the following command brings up the Cypress Launchpad.

yarn runt cypress open 

Releases

No releases published

Packages

No packages published