Build Task Planner- [Low Level Design: like JIRA]

Arshad
2 min readMay 29, 2021

--

I am going to design a task planner, if you are a working professional then you listen about the Jira, it is kinda similar to that. As the name suggests, a task planner is used to assign the task to the team member and checking the progress of the project of each teammate which is assigned to him.
First familiar with the few terms for better understanding:

- Sprint: This is a time period in which the company assigns a task to the employee/team to complete a set amount of work.
- Task: This comes inside the sprint, where any new feature of the project is broken down into task, which is assigned to the team member.

Functionalities of the task planner:
1. User should create any sprint and task inside this and also can delete the task.
2. User should be able to create the task of type story, features, bug.
3. Task should have a description.
4. Can change the status of the task.
5. User can check the delayed tasks, sprint details, tasks assigned to the user.

So, Firstly create a model, which means which class should exist for our requirements.

I can see we need three classes:
- A ”User” class that stores the user information regarding tasks and sprints.
- A ”Sprint” class that stores the task of each sprint.
- A ”Task” class stores all the information about the task like name, start & end time, etc.

So I am showing you the schema of all three classes and all the APIs related to that.

  1. From the beginning, we need two ENUMSfor task status and task type:

2. We need a Sprint class that has information regarding sprint.

3. Also a Task class having task information

4. Now the final User class with multiple APIs

Hope it helps you ;)

--

--