A GUI application to track and manage tasks, developed in Java as part of the based on CLI version as part of the Task Tracker Project from Roadmap.sh.
- Add, Update, and Delete tasks
- Mark a task as in progress or done
- List all tasks
- List all tasks are not done
- List all tasks are in progress
- List all tasks are done
- Language: Java
- GUI Structure: JavaFX
- Data Persistence: Store the tasks in a JSON file
- Java 17 or later installed
- JavaFX 17 or later
- Read/write permission
- Clone the repository:
git clone https://github.com/jmsmarcelo/task-tracker-javafx.git
cd task-tracker-javafx-
Add JavaFX SDK
# Download and extract JavaFX SDK to task-tracker-javafx # Download page: https://gluonhq.com/products/javafx/
-
Compile the project (Windows):
mkdir bin javac --module-path javafx-sdk*\lib --add-modules javafx.controls -d bin src\*.java
-
Run the project (Windows:
cd bin start "" javaw --module-path ..\javafx-sdk*\lib --add-modules javafx.controls TaskApp exit
Alternatively, use automatic compile and run
-
Windows
- Double click in
win_compile.batwin_run.bat
- Double click in
-
Linux/MacOS
# Make scripts executable chmod +x unix_compile.sh unix_run.sh # Run the scripts ./unix_compile.sh ./unix_run.sh
task-tracker-javafx/
└─ src/
├─ TaskApp.java # Application GUI
├─ Task.java # Task domain model
├─ TaskStatus.java # Enum task status
├─ TaskService.java # Task service logic
└─ TaskRepository.java # file persistence handling
Contributions are welcome!
To contribute:
- Fork the repository.
- Create a new branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -m "add new feature" - Push to the branch:
git push origin my-new-feature
- Open a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.
Created by Jose Marcelo. Feel free to get in touch or explore more of my projects!


