Skip to content

kullik01/Focus-Bean

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Windows Linux Java 25 JavaFX 25 Gradle License Release

Focus Bean Logo

A modern, elegant timer application designed for deep work and productivity.

Built with JavaFX and featuring a warm, coffee-themed design.


Table of Contents


✨ Features

  • ⏲️ Smart Timer: Configurable work (1-900 min) and break sessions with visual circular countdown.
  • 📊 Progress Tracking: Daily goal tracking, streak monitor, and "yesterday vs. today" comparison.
  • 🎉 Goal Celebration: Confetti animation with congratulations message when you reach your daily goal.
  • 📜 Session History: Detailed logs of all work sessions featuring both table and chart views.
  • 🔔 Notifications: Custom sound support (MP3/WAV) and system tray alerts for session transitions.
  • 🌙 Dark Mode: Checkbox that allows to choose between a light or dark theme for more comfortable viewing.
  • 🖥️ Modern UI: Clean, coffee-themed design with custom window controls.
  • ⌨️ Shortcuts: Space (Start/Pause), R (Reset), S (Settings).
  • 🗂️ Local Data: All data is stored locally:
    • Windows: %APPDATA%/FocusBean/
    • Linux: ~/.local/share/FocusBean/

⬇️ Installation

Windows

  1. Download: Get FocusBean-{version}-Windows.zip from the Releases page.
  2. Setup: Extract the file to your desired location.
  3. Run: Double-click FocusBean.exe inside the FocusBean-{version} directory.

Linux

Focus Bean allows for a clean, user-local installation in your home directory.

Runtime Requirements

Before running the application, ensure you have the standard JavaFX dependencies installed (GTK3, ALSA, GStreamer). Most desktop systems have these, but you can verify:

AlmaLinux / RHEL:

sudo dnf install -y gtk3 alsa-lib gstreamer1-plugins-base gstreamer1

openSUSE:

sudo zypper install -y libgtk-3-0 libasound2 gstreamer-plugins-base gstreamer-plugins-good

Install & Run

  1. Download: Get FocusBean-{version}-Linux.zip from the Releases page.

  2. Install: Open a terminal and run the following to install to ~/.focusbean:

    mkdir -p ~/.focusbean
    unzip FocusBean-{version}-Linux.zip -d ~/.focusbean
  3. Run:

    sh ~/.focusbean/FocusBean-{version}/bin/FocusBean
  4. Add to Desktop (Optional): To add Focus Bean to your system menu and launcher, run:

    sh ~/.focusbean/FocusBean-{version}/install_shortcut.sh

🏗️ Build from Source (Optional)

If you prefer to build the application yourself:

Prerequisites: Java 25 JDK, Gradle 9.1.

git clone https://github.com/kullik01/Focus-Bean.git
cd Focus-Bean
./gradlew run

📦 Dependencies

Focus Bean is built with the following technologies:

Dependency Version Purpose
JavaFX 25 UI components and core graphics
Gson 2.11.0 JSON serialization for user data
JUnit 5 5.10.2 Unit testing framework

Note: The application bundle includes the necessary Java runtime, so you do not need to install Java globally.


🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request or open an issue for bugs and feature requests.

🙏 Acknowledgements

📝 License

BSD 3-Clause License – see LICENSE.


Made with ❤️ and ☕ for productivity.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors