Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add DateTime functionality #329

Open
wants to merge 19 commits into
base: master
Choose a base branch
from

Conversation

0xEljh
Copy link

@0xEljh 0xEljh commented Oct 2, 2020

Deadline and event support understand dates when entered in ISO format.
Users can query for tasks with matching dates via dated <date in ISO format> command.

0xEljh added 19 commits August 30, 2020 17:51
User input is parsed and printed
User input was only echoed back.

Update parses user input, maintains a list of tasks that can be retrieved on command.
User can use the done keyword to change the status of a task to done. List also keeps tracks of done and undone tasks.
Main interfaced directly with TaskList and only Tasks could be created.

Introduced todos, events, and deadlines as new types of tasks that can be added with more details. Task manager now parses user input and puts a barrier between Duke and TaskList/other task implementations.
TaskManager now informs user of errors due to erroneous user input: Missing command words, not enough arguments, and invalid int/index.
"at" and "by" keywords added to compliment existing keywords which had "/" prefixes.
Delete task from task list by providing its index.
Output class removes cyclic dependency of TaskManager and Duke. Output class will be used to further streamline the TaskManager class so that it does not need to handle parsing, commands, and outputs all together.
List of tasks now saved automatically to user's home directory after the list is updated.
This list is retrieved and loaded upon (re)starting the application.
Refactored code in main to improve readability
Streamlined methods in TaskManager by having Output class handle all printing. Extracted repeated/similar functionality in addEvent and addDeadline
User can input find <keyword(s)> to get a list of tasks that contain the keywords (case insensitive)
add Find based on keyword match
Event and deadline now support ISO dates as details.
New class DateType is new parent class to deadline and event to support this
Find (dated) tasks with matching dates when user queries for a date in ISO format.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant