Task Master App

Technologies

  • Java 11+ – Core programming language
  • JavaFX – GUI framework
  • JDBC (Java Database Connectivity) – Database interaction
  • JavaDocs – Documentation tool

Skills

  • Java Programming
  • JavaFX UI Development
  • Object-Oriented Programming (OOP)
  • FXML Layout Design
  • Database Connectivity (MySQL)
  • DAO Pattern Implementation
  • Environment Variable Management (dotenv)
Slide 0Slide 1
animation

Task Master App

This project is a Java-based task management application using JavaFX for its graphical user interface and MySQL for data persistence. The project follows an MVC (Model-View-Controller) architecture, where the DAO (Data Access Object) pattern is implemented to manage database operations efficiently. The DBConnect class handles the database connection, utilizing environment variables via the dotenv library for security instead of hardcoding credentials. The TaskImpl class is responsible for CRUD (Create, Read, Update, Delete) operations on tasks, providing database interaction methods for retrieving, modifying, and deleting task records.


The MainController class is the central component of the UI, managing interactions between the user and the application. It leverages JavaFX elements such as TableView, PieChart, and StackedBarChart to visualize task progress and workload distribution. Users can add, modify, delete, and mark tasks as complete, with updates reflected in real time in the UI. A separate TaskWindowController handles the form-based task input window, allowing users to enter task details such as start time, end time, workload, and description.


The application prioritizes modular code structure with a clean separation of concerns, ensuring maintainability and scalability. JavaFX’s FXML loader is used to load UI components dynamically. The ObservableList from JavaFX Collections allows efficient real-time updates to task lists. The database interactions are optimized with PreparedStatements to prevent SQL injection. Error handling is also implemented to catch and log exceptions for debugging. The project is well-structured, making it a solid example of JavaFX-based desktop application development with MySQL integration.