Skip to content

A JavaFX-based Pomodoro timer with voice notifications to boost productivity using the Pomodoro Technique.

Notifications You must be signed in to change notification settings

dev-ricks/PomodoroScheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pomodoro Scheduler:

A tool for Work time and Break time reminders, for use while practicing the Pomodoro Technique.

Table of contents

Overview

The challenge

Users should be able to:

  • Run the Pomodoro timer and let it run in the background and receive a notification by voice when the time is work time or break time.

Screenshot

Links

My process

Built with

  • Java version 23
  • JavaFX for the GUI
  • OpenJFX for the JavaFX library
  • FreeTTS for the text-to-speech functionality
  • Maven for dependency management

What I learned

I learned how to create a simple Pomodoro timer application using Java and JavaFX. I implemented a timer that counts down from a specified work duration, plays a notification sound, and uses text-to-speech to announce the end of work time or break time. I also learned how to use JavaFX for building the user interface and FreeTTS for text-to-speech functionality.

Plenty of documentation and tutorials are available online to help you get started with JavaFX and FreeTTS. Here are some resources that I found particularly helpful:

Some things of interest that I learned while working on this project:

  • How to set up a JavaFX project with Maven.
  • How much JavaFX can operate as a MVC application pattern, which I would totally expect for most UI frameworks.
  • FreeTTS is not bad for some basic text-to-speech functionality, but it does seem a bit complicated to setup to use better voices. I used the default voice, which is not bad, but I would like to explore using other voices in the future.

Continued development

One of the reasons I chose to use JavaFX for this project is that I am working on another project that will use an AI implementation that can be used to simulate a battlefield choice of action in a board game. I wanted to use JavaFX for the GUI of that project as well, so I thought it would be a good idea to get some practice with it.

As I said before, I would like to explore using other voices with FreeTTS, as well as possibly using a different text-to-speech library altogether.

I would like to make the application able to run in the background and allow the user to set custom work and break durations. Make the application taskbar friendly, with some more as of yet unthought of features.

I would also like to add a feature that allows the user to pause and resume the timer. Maybe a reset button feature as well, so the user can reset the timer to the original work duration without having to close and reopen the application.

Author

Richard Smit

About

A JavaFX-based Pomodoro timer with voice notifications to boost productivity using the Pomodoro Technique.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages