This application permits to keep track of tasks related to projects. It already comes with the implemented features:
show
: list all the tasks divided by projectsadd <project>
: add a new project:add task <project> <task description>
: add a new task on a projectcheck <task id>
: mark a task as done
The code base is not in the best shape, there are new features that need to be implemented, is up to you to decide if start by working on the new features or to do some preparatory refactoring.
- Deadlines
- Give each task an optional deadline with the
deadline <ID> <date>
command. - Show all tasks due today with the
today
command.
- Give each task an optional deadline with the
- Customizable IDs
- Allow the user to specify an identifier that's not a number.
- Disallow spaces and special characters from the ID.
- Deletion
- Allow users to delete tasks with the
delete <ID>
command.
- Allow users to delete tasks with the
- Views
- View tasks by date with the
view by date
command. - View tasks by deadline with the
view by deadline
command. - Don't remove the functionality that allows users to view tasks by project,
but change the command to
view by project
.
- View tasks by date with the
Feel free to follow the approach you feel most comfortable with, to verify the
working state of the application you can use the automated unit tests or by
manually running the main method in the TaskList
class.