MA
maxim-francesco/task-management-system-java-swing
Java Swing desktop application for managing employee tasks, using OOP principles, layered architecture, and data persistence via serialization โ Assignment 1 for Fundamental Programming Techniques.
โ Task Management System โ Java Swing (PT Assignment 1)
This project is a Java Swing GUI-based application developed for the Fundamental Programming Techniques course (Assignment 1), focused on managing tasks assigned to employees in a software company.
๐ Features
- Add employees
- Add tasks:
SimpleTask(with duration), orComplexTask(nested tasks) - Assign tasks to employees
- View employees and their tasks
- Modify task status (Completed/Uncompleted)
- Statistics and filtering:
- Total duration worked per employee (only completed tasks)
- Filter employees working more than 40h
- Number of completed/uncompleted tasks per employee
๐งฑ Technical Highlights
- OOP Design: Uses inheritance, polymorphism, sealed classes (
Task) - Design Pattern: Composite Pattern for nested
ComplexTasks - GUI: Developed using Java Swing
- Persistence: Java Serialization to save/load employees and tasks
- Layered Architecture: Separation of concerns between models, services, and UI
- Code Quality: Methods under 30 lines, naming conventions respected
๐๏ธ Project Structure
src/
โโโ model/
โ โโโ Employee.java
โ โโโ Task.java (sealed)
โ โโโ SimpleTask.java
โ โโโ ComplexTask.java
โโโ service/
โ โโโ TaskManagement.java
โ โโโ Utility.java
โโโ ui/
โ โโโ MainWindow.java
โโโ data/
โ โโโ serialized files
โโโ diagrams/
โโโ use_case.drawio
โโโ class_diagram.drawio
โโโ package_diagram.drawio
๐ Technologies Used
- Java 17+ (for sealed classes)
- Java Swing
- Serialization (java.io)
- draw.io for UML diagrams
๐งช What I Learned
- How to implement a multi-layered architecture in Java
- Using Composite Pattern to model complex tasks
- Creating user interfaces in Java Swing
- Managing data using serialization
- Writing reusable utility methods for filtering and aggregation
- Applying sealed classes and following Java coding standards
๐ Grade
โ 10/10 โ Full implementation of all functional and technical requirements.
๐งโ๐ป Author
Maxim Francesco
University: Technical University of Cluj-Napoca
Course: Fundamental Programming Techniques
Email: maaximfrancesco@gmail.com
LinkedIn: linkedin.com/in/francescomaxim