Skip to content

TaskPilot - Intelligent Project Management System with an AI Agent

1. Introduction

TaskPilot is a project management system that integrates an AI virtual assistant (AI Agent), built on Java Spring Boot with a Modular Monolith architecture. The platform supports Agile/Scrum workflows and improves management efficiency through intelligent automation.

2. Objectives

This project focuses on researching and implementing an AI Agent that serves as a virtual assistant with the following capabilities:

  • Natural Language Understanding (NLU): Interpret diverse user commands and extract intent.
  • Action Execution (Function Calling): Automatically invoke business functions to query or update data.
  • Intelligent Recommendation: Suggest suitable team members for tasks based on real project data.

3. Scope

Flexible Project and Task Management

The platform provides a complete digital workspace where Project Managers can create projects, set timelines, and invite members. Each task is tracked with detailed attributes such as assignee, reporter, deadline, priority, tags, difficulty level, and required skills.

Progress Visualization with Kanban and Dashboard

An interactive Kanban Board allows drag-and-drop task movement across 4 status columns (TODO -> IN_PROGRESS -> REVIEW -> DONE). The Dashboard provides summary charts for task volume and completion progress.

Smart Interaction Through the AI Agent

The core feature enables users to issue natural-language commands in a chat interface. The AI analyzes intent and automatically performs actions such as creating tasks, searching data, and updating status. It also applies a smart matching algorithm that combines skill fit and workload to recommend assignees.

Skill Profile Management and System Configuration

Security is implemented with JWT authentication. Each user manages their own profile and skills, which act as key input for AI-based matching. Administrators can tune recommendation algorithm weights.

4. User Roles

ActorResponsibilityUse Cases
Project Manager (pm)Coordinate resources, assign tasks, monitor delivery, use AI auto-assignUse Case Diagram
Member (mem)Track assigned tasks, update progress, interact with AI chatUse Case Diagram
Administrator (ad)Manage system settings, accounts, and AI weight configurationUse Case Diagram

5. Use Case Overview

The system includes 59 use cases across 11 subsystems:

#SubsystemUse CasesActor
IAuthenticationLogin, Register, Forgot/Reset Passwordad, pm, mem
IIUser ProfileView/Update Profile, Delete Accountad, pm, mem
IIIUser SkillsView/Add/Update/Delete Personal Skillspm, mem
IVSystem AdminSystem Settings, Skill Directory, User Managementad
VProject ManagementCreate/View/Update/Join/Leave/Archive Projectspm, mem
VIProject MembersView/Add/Update/Remove Memberspm, mem
VIISprint ManagementView/Create/Update/Start/Delete Sprintspm, mem
VIIITask ManagementKanban, Backlog, Workload, CRUD Tasks, Assignpm, mem
IXInteractionView/Write/Edit/Delete Commentspm, mem
XNotificationReceive/Mark-as-Read Notificationsad, pm, mem
XIAI AssistantChat Sessions, Chat with AI, Logs, Auto-Assignmentpm, mem

📋 Detailed Use Case List

6. System Use Case Diagram

System Overview Diagram

7. Technical Architecture

  • Backend: Java Spring Boot (Modular Monolith)
  • Database: PostgreSQL (13 tables)
  • Authentication: JWT Token
  • AI Engine: NLU + Function Calling + Heuristic Recommendation
  • Frontend: React (Kanban Board, Dashboard, Chat UI)

Related documentation:

Notes

  • Sequence diagrams are written in PlantUML.
  • Each diagram has a unique diagram id.
  • Use cases are grouped by subsystem.
  • Sequence details are available in Sequence.