Skip to content

bandantonio/tomaatti-timer

Repository files navigation

Tomaatti Timer

Build Status Maintainability Documentation coverage codecov Coverage Status devDependencies

Tomaatti (Finnish for tomato) is a Pomodoro timer 🍅 that makes it easier for anyone to get started with the Pomodoro Technique ® .

What? 😕 Yet another Pomodoro timer?

Well, yes and no 😀. Just don't hesitate - give it a try. I bet, you will like it!

There are not so many projects on GitHub with Pomodoro timers that force you to commit the murder of their authors after several minutes of use. After several days of investigation, I felt like I'm over it and I need something different.

This project was born as the result of my stydying JavaScript and I expect it to grow into a fully-featured product, as my knowledge evolve. I have a more or less clear roadmap of incremental improvements 📈 some of which should make a real difference and stand out 🚀 Tomaatti Timer from the rest of existing Pomodoro timers (yeah, I guess your reaction 😆 :trollface:).

The ultimate goal behind the idea of creating Tomaatti Timer was not "yet another ephemeral Pomodoro timer" but rather a product with usefullness in mind, so that other people would like to use and can easily contribute to.

Getting started

The instructions below will help you to get the copy of the project up and running on your local machine for development and/or testing purposes.

The simplest and the fastest way to quickstart with the project is to use Docker. If you want more control over the process, you can choose manual deployment option.

Deploy using Docker

Prerequisites

  1. Docker [ Mac | Linux | Windows ]. Docker allows you to spin up isolated runtime environments that can be re-created and reproduced on any machine. There are no more excuses for "It works on my machine!" 😉 If you need a quick introduction to Docker, its basic concepts and commands, feel free to read this article.

Steps

  1. Open your terminal and execute the following command:

    docker run --rm --name tomaatti-timer -p 5000:5000 bandantonio/tomaatti-timer:1.0
  2. Open your browser and navigate to http://localhost:5000.

Bingo! 🎉

Deploy manually

Prerequisites

  1. git. As you are already using GitHub (aren't you? 😉), I expect you to have git installed on your machine and I also expect that you are familiar with basic git commands and flows. If not, feel free check this guide.
  2. npm. Node.js package manager is used to install, launch, and manage different packages within the project. If you need more info on how to use npm, check this guide.

Steps

  1. Open your terminal and execute the following commands:

    git clone https://github.com/bandantonio/tomaatti-timer.git
    cd tomaatti-timer
    npm i
    npm run styles
    npm start
  2. Open your browser and navigate to http://localhost:5000.

Bingo! 🎉

Screenshots

Main screen Running Timer
Main Screen Running Timer
Paused Timer Break Time
Paused Timer Break Time
Settings Applied new settings
Settings Applied new settings

Features

The current list of features includes:

  • configurable timer intervals (cycle, short and long breaks)
  • pause functionality
  • ticking sound (optional)

Roadmap

You can see a plan for further improvements here.

Technical improvements

You can see a plan for further technical improvements here.

Contributing

The project is on its early stages of development, so any kind of contribution (including ⭐) is welcome. Please read CONTRIBUTING.md for more details.

Community

The Tomaatti Timer community is dedicated to providing a safe, inclusive, welcoming, and harassment-free space and experience for all community participants, regardless of gender identity and expression, sexual orientation, disability, physical appearance, socioeconomic status, body size, ethnicity, nationality, level of experience, age, religion (or lack thereof), or other identity markers. Our Code of Conduct exists because of that dedication, and we do not tolerate harassment in any form. See our full Code of Conduct here.

Versioning

Tomaati Timer receives its versions according to SemVer.

License

MIT. © 2019, Antonio Zolotukhin.