https://github.com/amitkbiswas01/take-ten
Node.js CLI based timer to schedule breaks and send push notification.
https://github.com/amitkbiswas01/take-ten
js node-cli pm2 schedule-breaks
Last synced: 5 months ago
JSON representation
Node.js CLI based timer to schedule breaks and send push notification.
- Host: GitHub
- URL: https://github.com/amitkbiswas01/take-ten
- Owner: amitkbiswas01
- License: mit
- Created: 2020-08-03T02:24:26.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2023-07-12T12:00:00.000Z (almost 3 years ago)
- Last Synced: 2025-07-01T06:06:37.761Z (12 months ago)
- Topics: js, node-cli, pm2, schedule-breaks
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/take-ten
- Size: 459 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# **Take-Ten**
**take-ten** is a node.js CLI based timer to schedule breaks and send push notifications directly to your computer! It loosely follows the Pomodoro technique of working and taking breaks in-between.
## **Pre-requisites :**
- Node.js : Installation guideline [here.](https://nodejs.dev/)
- PM2 : PM2 is a process manager for running background tasks. **take-ten** requires pm2 to run notification daemon so it'll be installed automatically while running **take-ten** for the first time. Can be installed explicitly from [here.](https://www.npmjs.com/package/pm2)
- Basic notification libraries/drivers to run [node-notifier.](https://www.npmjs.com/package/node-notifier) These are mostly installed as defaults in various OS. List can be found [here.](https://github.com/mikaelbr/node-notifier#requirements)
## **Installation**
```bash
npm install take-ten -g
```
## **Usage:**
To start take-ten , run `take-ten start` from command-line.
To stop, run `take-ten stop`.
```bash
take-ten [options][command]
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
start START background process for push-notification
stop STOP background process for push-notification
help [command] display help for command
```
after starting , user will be prompted as below,
1. Pick a work duration. **take-ten** will send a push-notification after this amount of time. _**default: 25 minutes**_
```bash
? Pick Work Duration : (Use arrow keys)
❯ 25 Minutes
1 Hour
2 Hours
```
2. Pick a break duration. **take-ten** will send a push-notification after this amount of time informing the break session is over! _**default: 5 minutes**_
```bash
? Pick Break duration : (Use arrow keys)
❯ 5 Minutes
10 Minutes
20 Minutes
```
3. Enter how many cycles of work-break set wll be needed. If something other than number is added, defaults to 2. _**default: 2**_
```bash
? Enter Number of Work-Break Sets : (2)
```
4. Any custom message to remind that break-time has began! _**default: Get up and Drink Water!**_
```bash
? Enter a notification message : (Get up and Drink Water!)
```
## **To be noted :**
The app can be monitored/edited/stopped directly using _pm2_. For that, run `pm2 ls` and look for the process named `notify`. That process can be treated as a normal _pm2_ process.
## **Issues :**
None that I know of till @1.1.0 . The app is very simple and straightforward at this stage. I am very new to JS and in app development altogether! so if there are any problems; I might have missed it! Please open an issue or submit pull request to fix/look into any problem 😊
## **Changelog**
### **1.1.0@ _04.08.2020_**
#### **Added :**
1. Automated stop process. The notifier daemon will stop after all sets are complete. Will give a notification after stopping.
2. A cute dog picture will show as a notification picture showing you thumbs up for your hard-work!
3. Colored inputs and console messages.
#### **Fixed :**
1. Input glitch that showed the first input prompt twice.
2. Fallback value to set when entering anything other than number.
3. Error Handling.
## **Upcoming Features :**
- Custom work and break time \*\*
- Notification sound \*
- Option to customize image, title and sound of the notification \*