Skip to content

A JavaFX-based task management application for task organization, categorization, and prioritization.

Notifications You must be signed in to change notification settings

evpipis/task-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Management System

This is a Java-based Task Management System developed as a semester project for the Multimedia Technology (2024-2025) course at the National Technical University of Athens. This project utilizes JavaFX for the user interface and Jackson for JSON serialization, making it a lightweight and efficient task manager. For detailed information about the project requirements see here and for detailed information about the project implementation see here (both in Greek).

Features

✅ Create, edit, and delete tasks
✅ Categorize tasks and set priorities
✅ Track task progress using different states
✅ Set reminders for upcoming deadlines
✅ Persistent data storage using JSON

Technologies Used

  • Java JDK 21.0.2
  • JavaFX 21.0.2 (for UI)
  • Jackson 2.18.2 (for JSON serialization)
  • VS Code (Development Environment)

Project Structure

📦 TaskSystem
 ┣ 📂 src
 ┃ ┣ 📂 controllers  # JavaFX Controllers
 ┃ ┣ 📂 images       # UI images
 ┃ ┣ 📂 models       # Task, Category, Priority, etc.
 ┃ ┣ 📂 views        # FXML files
 ┃ ┗ App.java        # Entry point
 ┣ 📂 lib            # Dependencies (JavaFX, Jackson)
 ┣ 📂 bin            # Compiled files
 ┣ 📂 doc            # Documentation (javadoc)
 ┣ 📂 medialab       # Database stored in JSON
 ┗ README.md         # Project documentation

Setup Project (Windows)

The project is fully set up, as all package dependencies are included in the lib directory. Additionally, the documentation has been generated and is available in the doc directory. However, if you prefer to set it up from scratch, follow the steps below:

Java

  1. Download Java JDK (for Windows)

  2. Install Java

  3. Update PATH Variables

  4. Restart Open Terminals

JavaFX

  1. Download JavaFX SDK

  2. Extract and place Files in the lib directory

Jackson

  1. Download Jackson Packages

    • jackson-annotations.jar
    • jackson-core.jar
    • jackson-databind.jar
    • jackson-datatype-jsr310
  2. Place Files in the lib Directory

VS-Code Extensions

  1. Extension Pack for Java

Javadoc Documentation

  1. Run the following command:
    javadoc -d doc -sourcepath src -subpackages models -classpath "lib/jackson-databind-2.18.2.jar;lib/jackson-core-2.18.2.jar;lib/jackson-annotations-2.18.2.jar;lib/jackson-datatype-jsr310-2.18.2.jar"
    

About

A JavaFX-based task management application for task organization, categorization, and prioritization.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages