Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Task Management System

A console-based task management application built using Object-Oriented Programming (OOP) principles. The system helps software development teams organize, track, and manage work items such as bugs, stories, and feedback throughout the software development lifecycle.


📋 Overview

The application supports multiple development teams, allowing users to create and manage:

  • Teams
  • Team members
  • Boards
  • Tasks (Bugs, Stories, Feedback)
  • Comments
  • Activity history

The project focuses on clean architecture, maintainable code, validation, exception handling, and comprehensive unit testing.


✨ Features

Team Management

  • Create teams
  • Add members to teams
  • View all teams
  • View team members
  • Track team activity history

Board Management

  • Create boards within teams
  • View all boards
  • Track board activity

Member Management

  • Create members
  • View all members
  • Track individual activity history

Task Management

Create and manage three different task types:

🐞 Bug

  • Unique ID
  • Title & description
  • Reproduction steps
  • Priority
  • Severity
  • Status
  • Assignee
  • Comments
  • Change history

📖 Story

  • Unique ID
  • Title & description
  • Priority
  • Size
  • Status
  • Assignee
  • Comments
  • Change history

💬 Feedback

  • Unique ID
  • Title & description
  • Rating
  • Status
  • Comments
  • Change history

Task Operations

  • Assign / Unassign tasks
  • Add comments
  • Update task properties
  • View task history
  • Track all modifications

Filtering & Sorting

  • Filter by title
  • Filter by status
  • Filter by assignee
  • Sort by title
  • Sort by priority
  • Sort by severity
  • Sort by size
  • Sort by rating

🏗 Domain Model

Team

Property Description
Name Unique (5-15 characters)
Members Team members
Boards Team boards

Member

Property Description
Name Unique (5-15 characters)
Tasks Assigned tasks
History Activity log

Board

Property Description
Name Unique within a team (5-10 characters)
Tasks Board tasks
History Activity log

📌 Task Types

Bug

Field Allowed Values
Priority High, Medium, Low
Severity Critical, Major, Minor
Status Active, Fixed

Story

Field Allowed Values
Priority High, Medium, Low
Size Large, Medium, Small
Status Not Done, In Progress, Done

Feedback

Field Allowed Values
Status New, Unscheduled, Scheduled, Done
Rating Integer

Note: Task IDs are globally unique across all task types.


🔍 Supported Commands

Members

  • Create member
  • List members
  • View member activity

Teams

  • Create team
  • List teams
  • View team activity
  • Add member to team

Boards

  • Create board
  • List boards
  • View board activity

Tasks

  • Create Bug
  • Create Story
  • Create Feedback
  • Update task properties
  • Assign / Unassign tasks
  • Add comments
  • View history

🧪 Testing

The project includes unit tests that verify:

  • Object creation
  • Validation rules
  • Business logic
  • State transitions
  • Exception handling

🛠 Technologies & Concepts

  • Java
  • Object-Oriented Programming (OOP)
  • Encapsulation
  • Inheritance
  • Polymorphism
  • Abstraction
  • SOLID Principles
  • Exception Handling
  • Unit Testing

📖 Example Scenario

Creating a Bug

A developer discovers a critical issue where the application freezes when clicking the Log In button.

Bug Details

  • Title: The program freezes when the Log In button is clicked
  • Priority: High
  • Severity: Critical
  • Status: Active
  • Assignee: Senior Developer

Steps to Reproduce

  1. Open the application
  2. Click "Log In"
  3. Application freezes

The bug is stored and becomes available for tracking and resolution.


📷 Sample Console Input

CREATEPERSON Aleks
CREATETEAM IT_Support

exit

🎯 Project Goals

  • Demonstrate strong OOP design
  • Follow clean code practices
  • Apply SOLID principles
  • Implement validation and exception handling
  • Build a maintainable and extensible application
  • Achieve high test coverage

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages