ZenFocus

Time Management Tool Based Off the Pomodoro Technique

Website https://zenfocus.surge.sh/
Repository https://github.com/builtwithluv/ZenFocus
Category Productivity
Keywords Time
Downloads latest-mac.json latest.yml zen-focus-2.0.0-mac.zip zen-focus-setup-2.0.0.exe
Latest Release 2.0.0 (v2.0.0)
Release Notes

UI Changes:

  • Show welcome slides as a new window
  • Various changes to layout and size of window
  • Menu bar appears on windows

Features:

  • Removed library feature
  • Add feature to change sound per phase
  • Confirmation when session ends

ZenFocus

ZenFocus at its core is based off the time management technique known as the Pomodoro technique developed by Francesco Cirillo. In short, it is a way for individuals to plan, focus and complete tasks in the form of managing different time blocks (focus time, short breaks and long breaks). This technique is used by many in different industries including but not limited to education, medical, fitness and music.

Zen Focus Snapshot

Install

First, fork the repo and clone to your local.

And then install dependencies. ProTip: Install with yarn for faster and safer installation:

$ cd your-project-name && yarn install

Run

Start the app in the dev environment. This starts the renderer process in hot-module-replacement mode and starts a server sends hot updates to the renderer process:

$ yarn run dev

DevTools

Toggle Chrome DevTools

  • OS X: Cmd Alt I or F12
  • Linux: Ctrl Shift I or F12
  • Windows: Ctrl Shift I or F12

See electron-debug for more information.

DevTools extension

This boilerplate is included following DevTools extensions:

You can find the tabs on Chrome DevTools.

If you want to update extensions version, please set UPGRADE_EXTENSIONS env, just run:

$ UPGRADE_EXTENSIONS=1 yarn run dev

# For Windows
$ set UPGRADE_EXTENSIONS=1 && yarn run dev

💡 You can debug your production build with devtools by simply setting the DEBUG_PROD env variable:

DEBUG_PROD=true yarn run package

Test

yarn test

Note: If you receive this error:

TypeError: Path must be a string. Received undefined

  at assertPath (path.js:28:11)
  at Object.join (path.js:1239:7)
  at Object.<anonymous> (app/node_modules/electron-settings/lib/settings.js:47:31)
  at Object.<anonymous> (app/node_modules/electron-settings/index.js:10:18)

then assign default variable to string like so

const settingsFilePath = path.join(userDataPath || '', settingsFileName || '');

Maintainers

License

MIT © builtwithluv

Something missing? Edit this app.