Giter VIP home page Giter VIP logo

bandantonio / tomaatti-timer Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 3.0 347 KB

Dead simple Pomodoro timer written in JavaScript

Home Page: https://hub.docker.com/r/bandantonio/tomaatti-timer

License: MIT License

HTML 15.58% CSS 21.48% JavaScript 62.05% Dockerfile 0.89%
tomaatti timer pomodoro pomodoro-timer pomodoro-clock pomodoro-technique productivity procrastination-buster development javascript

tomaatti-timer's Introduction

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.

tomaatti-timer's People

Contributors

bandantonio avatar

Stargazers

 avatar

Watchers

 avatar  avatar

tomaatti-timer's Issues

Firefox incorrectly plays timer sound

Ticking sound is not launched every second (with sound enabled) in Firefox Quantum (v. 60.0.1, 64-bit) on Linux Deepin. In fact, the sound works on random intervals (e.g. on third and fourth second but not on fifth).

Pause functionality

Add the ability to pause the timer and restart it from the paused time.

This functionality should work for both main and break intervals.

Create Docker container for the app

Dockerize the application to simplify development/deployment and eliminate the possibility of different issues related to tooling.

Scope of work

  • - Create a docker image for the app
  • - Publish image to Docker Hub
  • - Update README with the new instructions

Add documentation

  • Consider using .rst as the main documentation format
  • Search for suitable js-based generator for rat and sphinx
  • Make documentation generation a part of the CI process
  • Publish JSDoc documentation

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.