Skip to the content.

Developer Guide

Acknowledgements

Project Duke’s GitHub repository is available here.

Design & implementation

The basic data structure is an abstract class Task, and it has three main types (child class) :

e.g.

[D][X] quiz submission (by: Oct 1 2021 23:59)

[x] is the status of the task.

TaskList is the main list that contains all the Task, it contains some basic method to operate on a task, e.g.

As this a CLI based project, another main section is the Command, all the sub commands will be

The above commands will extend to Command class.

Parser Class is used to handle the input that user entered to make sure can generate the correct command based on the input.

Storage Class have two main function load() and save(), which is used to load and save the task into a .txt file

UML diagram

whole class diagram

User Stories

Version As a … I want to … So that I …
v1.0 Todo app user add a task to the list with different task types can have a list to help me memory the things need to do
v1.0 Todo app user be able to delete tasks will not see too many tasks in the list
v1.0 Todo app user mark a task as done status can know that if I still have any outstanding tasks in the list
v1.0 new user have a command that can show all the syntax instructions can know what I need to type to achieve what I want
v1.0 new user receive the notification when I type a wrong command can know where I do wrong
v1.0 Todo app user list down all my tasks can have a basic view of the tasks
v1.0 forgetful user find the tasks based on the keywords will not lost when have too many tasks in the list
v1.0 Todo app user clear all the tasks in the list can start from the beginning instead of delete one by one when I don’t need to go through the existing tasks anymore
v1.0 Todo app user view the tasks that have been done already based on specific period can have a basic statistic or dashboard view
v2.0 Todo app user sort the tasks by the finish date descending order in the list can see the outstanding tasks before the finished tasks
v3.0 Todo app user update the tasks when necessary don’t need to delete the whole task when I try to modify anything

Non-Functional Requirements