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.
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.
- Create teams
- Add members to teams
- View all teams
- View team members
- Track team activity history
- Create boards within teams
- View all boards
- Track board activity
- Create members
- View all members
- Track individual activity history
Create and manage three different task types:
- Unique ID
- Title & description
- Reproduction steps
- Priority
- Severity
- Status
- Assignee
- Comments
- Change history
- Unique ID
- Title & description
- Priority
- Size
- Status
- Assignee
- Comments
- Change history
- Unique ID
- Title & description
- Rating
- Status
- Comments
- Change history
- Assign / Unassign tasks
- Add comments
- Update task properties
- View task history
- Track all modifications
- Filter by title
- Filter by status
- Filter by assignee
- Sort by title
- Sort by priority
- Sort by severity
- Sort by size
- Sort by rating
| Property | Description |
|---|---|
| Name | Unique (5-15 characters) |
| Members | Team members |
| Boards | Team boards |
| Property | Description |
|---|---|
| Name | Unique (5-15 characters) |
| Tasks | Assigned tasks |
| History | Activity log |
| Property | Description |
|---|---|
| Name | Unique within a team (5-10 characters) |
| Tasks | Board tasks |
| History | Activity log |
| Field | Allowed Values |
|---|---|
| Priority | High, Medium, Low |
| Severity | Critical, Major, Minor |
| Status | Active, Fixed |
| Field | Allowed Values |
|---|---|
| Priority | High, Medium, Low |
| Size | Large, Medium, Small |
| Status | Not Done, In Progress, Done |
| Field | Allowed Values |
|---|---|
| Status | New, Unscheduled, Scheduled, Done |
| Rating | Integer |
Note: Task IDs are globally unique across all task types.
- Create member
- List members
- View member activity
- Create team
- List teams
- View team activity
- Add member to team
- Create board
- List boards
- View board activity
- Create Bug
- Create Story
- Create Feedback
- Update task properties
- Assign / Unassign tasks
- Add comments
- View history
The project includes unit tests that verify:
- Object creation
- Validation rules
- Business logic
- State transitions
- Exception handling
- Java
- Object-Oriented Programming (OOP)
- Encapsulation
- Inheritance
- Polymorphism
- Abstraction
- SOLID Principles
- Exception Handling
- Unit Testing
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
- Open the application
- Click "Log In"
- Application freezes
The bug is stored and becomes available for tracking and resolution.
CREATEPERSON Aleks
CREATETEAM IT_Support
exit
- 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