Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jmsmarcelo/task-tracker-javafx
Task Tracker | GUI | JavaFX | Roadmap.sh
https://github.com/jmsmarcelo/task-tracker-javafx
desktop-application gui java javafx roadmap task-manager task-tracker
Last synced: 15 days ago
JSON representation
Task Tracker | GUI | JavaFX | Roadmap.sh
- Host: GitHub
- URL: https://github.com/jmsmarcelo/task-tracker-javafx
- Owner: jmsmarcelo
- License: mit
- Created: 2024-12-01T02:44:44.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-12-01T13:16:04.000Z (3 months ago)
- Last Synced: 2024-12-01T13:19:29.939Z (3 months ago)
- Topics: desktop-application, gui, java, javafx, roadmap, task-manager, task-tracker
- Language: Java
- Homepage:
- Size: 24.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Task Tracker GUI
A GUI application to track and manage tasks, developed in **Java** as part of the based on [CLI version](https://github.com/jmsmarcelo/task-tracker-cli-java) as part of the [Task Tracker Project](https://roadmap.sh/projects/task-tracker) 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:
```bash
git clone https://github.com/jmsmarcelo/task-tracker-javafx.git
cd task-tracker-javafx
```2. Add JavaFX SDK
```bash
# Download and extract JavaFX SDK to task-tracker-javafx
# Download page: https://gluonhq.com/products/javafx/
```3. Compile the project (Windows):
```bash
mkdir bin
javac --module-path javafx-sdk*\lib --add-modules javafx.controls -d bin src\*.java
```
4. Run the project (Windows:
```bash
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
```bash
# Make scripts executable
chmod +x unix_compile.sh unix_run.sh# Run the scripts
./unix_compile.sh
./unix_run.sh
```## 📦 Project Structure
```plaintext
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](https://github.com/user-attachments/assets/2af3791e-3b37-4efe-ae96-39cb09419fde)
![Screenshot 2024-12-01 090811](https://github.com/user-attachments/assets/aca9928d-332d-4982-a2f7-1b1244814928)
![Screenshot 2024-12-01 090908](https://github.com/user-attachments/assets/8e714d04-dd12-470b-b0f4-ccd83341b0fa)## 📖 How to Contribute
Contributions are welcome!
To contribute:
1. Fork the repository.
2. Create a new branch:
```bash
git checkout -b my-new-feature
```
3. Commit your changes:
```bash
git commit -m "add new feature"
```
4. Push to the branch:
```bash
git push origin my-new-feature
```
5. Open a Pull Request.## 📜 License
This project is licensed under the **MIT License**. See the [LICENSE](https://github.com/jmsmarcelo/task-tracker-javafx/blob/main/LICENSE) file for details.## 🙋♂️ Author
Created by [Jose Marcelo](https://jmsmarcelo.github.io/). Feel free to get in touch or explore more of my projects!