Skip to content

jmsmarcelo/task-tracker-javafx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Tracker GUI

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.

📋 Features

  • 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

⚙️ Technologies and Tools

  • Language: Java
  • GUI Structure: JavaFX
  • Data Persistence: Store the tasks in a JSON file

🛠️ How to Run the Project

Prerequisites

  • Java 17 or later installed
  • JavaFX 17 or later
  • Read/write permission

Steps to Execute

  1. Clone the repository:
git clone https://github.com/jmsmarcelo/task-tracker-javafx.git
cd task-tracker-javafx
  1. Add JavaFX SDK

    # Download and extract JavaFX SDK to task-tracker-javafx
    # Download page: https://gluonhq.com/products/javafx/
  2. Compile the project (Windows):

    mkdir bin
    javac --module-path javafx-sdk*\lib --add-modules javafx.controls -d bin src\*.java
  3. 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.bat win_run.bat
  • Linux/MacOS

    # Make scripts executable
    chmod +x unix_compile.sh unix_run.sh
    
    # Run the scripts
    ./unix_compile.sh
    ./unix_run.sh

📦 Project Structure

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

🖼️ Screenshots

Screenshot 2024-12-01 090750 Screenshot 2024-12-01 090811 Screenshot 2024-12-01 090908

📖 How to Contribute

Contributions are welcome!

To contribute:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b my-new-feature
  3. Commit your changes:
    git commit -m "add new feature"
  4. Push to the branch:
    git push origin my-new-feature
  5. Open a Pull Request.

📜 License

This project is licensed under the MIT License. See the LICENSE file for details.

🙋‍♂️ Author

Created by Jose Marcelo. Feel free to get in touch or explore more of my projects!

About

Task Tracker | GUI | JavaFX | Roadmap.sh

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors