项目作者: aoyshi
项目描述 :
Minimalist Java desktop app to track one's productivity throughout the day, using simple timers, piecharts and stats to help you be more aware of the time you're doing what you should be doing, versus the time you waste. JavaFX GluonHQ GUI.
高级语言: Java
项目地址: git://github.com/aoyshi/My-Productivity-Tracker.git
My-Productivity-Tracker
Minimalist Java desktop app to track one’s productivity throughout the day, using simple timers, piecharts and stats to help you be more aware of the time you’re doing what you should be doing, versus the time you waste. JavaFX GluonHQ GUI.

Main Features:
- Pressing between ‘Start Working’ and ‘Stop Working’ makes you clock in when you’re working vs procrastinating.
- Dynamic piechart of the percentage of time you wasted vs utilized helps you visualize how you’re doing.
- You can set the number of hours you wish to work for the day.
- Progress indicator circle shows you how close you are to reaching your goal number of hours.
- Additional Stats such as projected completion time of goal hours, how many hours of productivity you’ve done so far vs hours yet to be done.
- Update button for the charts & stats is meant to be manual so that it forces you to open the program periodically to update it, which will make you look at how you’re doing and act quickly to change the situation.
- Mandatory log-in of wake-up time and bed-time forces you in a steady routine.
- Upon exiting, program saves relevant info about the session in a Progress_Info.txt file, used to generate Progress Reports to let you see how you’re doing long-term. FYI : in order for progress report button to generate a report, progress info txt must have AT LEAST TWO records, i.e. data from two sessions.


- JavaFX
- Java 8.0
- NetBeans 8.2
- Gluon theme (charm-glisten-4.4.1.jar) from here
- Windows 10
How to use as Desktop App:
- Download the .jar file in this repo and that’s it! Enjoy! For this method, you dont need to have javaFX or NetBeans installed.
- Progress_Info.txt file generated by the app (to store your productivity details for each day) will be created in the same directory in which the .jar file is kept. Make sure that the Progress_Info.txt file is kept in the same directory as the app!
Future Work:
- Switch to SQL databases (instead of current text-file approach) for storing productivity information for each session and for remembering user preferences.
- Introduce cross-compatibility of UI elements across different Java versions and Windows versions.
- Optimize source code as I learn better programming practices.
- Build test cases for logic and GUI
- Convert .jar file to desktop executable with customized app icon (launchj4?)