Giter VIP home page Giter VIP logo

pomodor's Introduction

๐Ÿ” Pomodor.app is now closed-source project. This repo is no longer maintained.

โš ๏ธ The updates to Pomodor.app are still going to be provided from another closed-source repo.

Image 1

Description

Pomodor.app is a progressive web app made to keep you focused. It is based on a time management method called The Pomodoro Technique. Use Pomodor to break down your work into sessions, label them, and get a notification when the each session is over. You can also customize the timer and have an insight into the statistics โ€” find out how much time you spent focused on your work, on which days of the week you were the most productive and exactly how much time you have spent on each label.

Key Features

โš™๏ธ Simple settings controls to adapt Pomodor to suite your needs ๐Ÿ”” Show notifications โ™ป๏ธ Sign in to sync your data across multiple devices

Image 2

๐Ÿท Select labels for each session ๐Ÿ“Š Charts that show which days of the week you were the most productive and what you've been working on

Image 3

๐ŸŒ™ Dark mode ๐Ÿ“ถ โŒ Use Pomodor anywhere, even without internet connection

Image 4

๐ŸŒ Install Pomodor on your devices via any browser that supports Progressive Web Apps

Image 5

Donating

If Pomodor adds any value to your life, you might consider donation. By donating you are helping me to invest more time into improving the app. Also, I would smile more often. ๐Ÿ˜„

Contributing

Feel free to create pull requests and open some issues.

pomodor's People

Contributors

funblaster22 avatar sasa95 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pomodor's Issues

Labels UI on Timer page

  • Add button to open menu of static labels
  • Click label to select it
  • Click edit button to open prefilled form
  • Click Add New option to open modal with empty form
  • On save, close modal
  • Delete label
    • On phones
      • Tap Edit
      • Delete via action bar
      • Confirm via simple dialog
    • On desktop
      • Hover for delete icon
      • Confirm via simple dialog
  • Minor files refactoring

adding a text box for notes

It would be awesome if there was a simple text box for each pomodoro to take notes on what exactly I had done.

Access stats and settings while having an active timer

I'd personally love the flexibility of opening the other pages while in a session. Otherwise, it feels a bit restricted.

Issue

When in an active session and trying to access stats or setting, the app won't allow you and displays a tooltip with a "reset timer to open ..." message.

Possible solution

Let users navigate the app as usual and keep the timer counting in the background, just like when you're on a different tab on the computer.

Data export

It would be awesome if there was ability to export pomodoro statistics data for your user.

Incorrect stats calculations

The calculations for trends are incorrect, the calculations have been simplified in a way that will probably only hold after a long period of time, and definitely don't hold in a short period of time.

image

As I started on a Sunday, in the previous week, the divider should be 4/7, although the code seems to calculate this as 5 days not 4 (see calc below?)

timeTrend: calculateTrend(total.time, week.time, daysDiff / 7),

This will then result in the percent = (820' / (935'/(4/7)))100 = 820'/9*35' * 5/7 * 100% = 62% (as seen above)

const d = divider || 1
const avgSeconds = total / d
const percent = (period * 100) / avgSeconds

Layout setup

  • Setup Material UI
  • Setup navigation
  • Sign in button

Enable notification sound when phone screen is off?

So happy there is a PWA Pomodoro app that's not overly complicated.

Is there a way or would it be possible to add the ability to have the notification sound play if the phone turns off the screen? Currently I can't use it as a timer on my phone because when my screen shuts off I don't get the notification.

Some new feature ideas

Hi Saลกa,

I fell in love with Pomodor app. I use it on daily basis. Great job you did! And I have some ideas how to do it even better:

  • Export stats
  • More stats than only 1 year back - I am definitely planning to use this app for more than one year
  • more detailed time counting - time is counted only by length of "pomodor session" (in default: 25+25+25+...), right? Right now I use the app for studying and when I finish the chapter I also stop the pomodor.

Thanks for consideration, coffee sent ๐Ÿ‘

Save sessions

  • Save session when timer runs out
  • When reset button is clicked, ask user to save the part of the session (save, don't save)

Need to play sound when getting push notifications

It is necessary to play a sound while getting a notification, otherwise it is rather difficult to focus on one's work and pay attention to push notifications, especially if one uses two screens or a screen lock mode on one's phone

Feature request: optional timer continuation

It would be great if there was a feature for the counter to keep counting down (ie negative time left) to log if you've continued working in a session. This could also be indicated in stats with how close you run to a proper session time

Stats overview

  • Overview with sessions/timer selector
    • Today + avg
    • Week + avg
    • Month + avg
    • Total

Inspiration:
image
image

Timer features

  • Start/Pause/Reset
  • Skip
  • Count steps
  • Refactoring
  • Show timer in tab title
  • Play sound after countdown
  • Show browser notification

Notification Sound

It would be nice to have the option to select notification sounds in settings.

Redux setup

  • Timer reducer setup
  • Settings reducer setup
  • Stats reducer setup
  • Auth reducer implementation

Settings

  • Work timer slider
  • Short break timer slider
  • Long break timer slider
  • Rounds
  • Notifications
  • Timer in tab
  • Select theme

License?

Currently, no license means that the code is under default copyright protection and is owned exclusively by the creator meaning that no one may reproduce, distribute, or create derivative works from your work. If this is not intended, consider adding a license (see https://choosealicense.com/ for help choosing) which would allow other people to contribute and make the software better. If you would rather retain all rights to the software, maybe add a line to the README stating "(c) 2020 All Rights Reserved"

Data gone - no stats, no labels

This week I started to have a problem with my data - stats and labels. They are missing. Even if I add a new label, after page reload it is gone again.

Heavy RAM usage!

Love the app, been using it for the past few days. Yesterday my computer froze when it ran out of RAM resources but recovered before I could check system monitor to see what was hogging it. Today I noticed my usage ramping up while I wasn't doing anything (I was being productive I swear!), so I opened system monitor and say I had a "Web Content" tab using 2.6GB of RAM. Killing that process closed (crashed) the Pomodor tab, indicating it was the culprit. My RAM usage immediately dropped with nothing stopping except Pomodor:

image

Any ideas as to why the high RAM usage would be occurring? It's not the simplest thing to test quickly so I'm not sure of the exact conditions needed to replicate, but I am running:
OS: Ubuntu 18.04
Browser: Firefox 82.0.3

Let me know if there are any other details that might be helpful for debugging/replicating.

Why red?

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2020-12-02 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 11 19 28

Why is it red? It's all blue except this.

Animation

When the mouse button is released, it turns blue.

(Sorry, I can't speak english well.)

Labels - Dynamic rendering

  • Create label
  • Update label
  • Fetch labels
  • Pass labels to modal
  • Delete label
  • Keep selected label in timer store
  • Put label menu on the top
  • Display selected label name

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.