Project 1
Project 1
NTIC Faculty
Second Year Common Core
Academic Year 2024 – 2025
Object-Oriented Programming 2 (POO2)
Objective: Create a Java application to plan and track the progress of a project using a custom
diagram. The application will allow users to visualize tasks in the form of a table.
Tasks to be completed:
• Implement project creation:
o Create the Project class containing project information.
o Add a project with a title and description.
• Implement task management:
o Create the Task class containing task details.
o Add tasks with a title, description, start date, end date, and a status ("Not Started",
"In Progress", "Completed").
o The task duration is calculated automatically.
o Assign a task to a responsible person.
• Implement task diagram visualization:
o Display tasks as bars on a timeline.
o Use different colours for tasks in each status: "Not Started", "In Progress", and
"Completed".
• Save and load data:
o Save the project to a file.
o Allow opening a saved project from a file.
• Create a graphical interface:
o Use Java Swing to build an interface with a table for the project tasks.
o Add features to add/modify/remove tasks from the graphical interface.
• Error handling:
o Ensure intuitive user interactions and provide messages for invalid actions.
o Handle errors gracefully to maintain application stability.
Possible Errors:
• Task dependencies (e.g., Task 2 can only start when Task 1 is completed).
• End date > start date.
• ...