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

[Shenyi] iP #520

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

[Shenyi] iP #520

wants to merge 79 commits into from

Conversation

ShenyiCui
Copy link

@ShenyiCui ShenyiCui commented Sep 1, 2022

Duke

DukePro frees your mind from having to remember things you need to do.

Features

  • Text-based
  • Easy to learn
  • SUPER FAST to use

Installation

  1. Download it from here
  2. Navigate to the jar file in your terminal
  3. run java -jar duke.jar

And it is FREE!

Upcoming Features

  • Managing Tasks
  • Add a GUI

damithc and others added 30 commits July 31, 2022 17:20
 - update gitignore to include .class

addresses ip-level-1
- add echo to user input
- loop cli infinitely

addresses ip-level-1
- create a Task class to store items added by the user

addresses Level-2 A-Classes
- add function to add tasks
- refactor out the greetings message into it's own method
- create new method to list tasks

addresses Level-2
- allow tasks to be marked as complete and incomplete

addresses Level-3
- change mark and unmark output msg

addresses Level-3
- add control flow to mark and unmark command

addresses Level-3
- add new Class Todo
- add new Class Event
- add new Class Deadline
- make Task abstract

addresses Level-4 A-Inheritance
- fix infinite toString recursion error

addresses Level-4
- centralise the user output
- practice DNR

addresses Level-4
- add tests to project

addresses A-TextUiTesting
- create custom class DukeException
- handle all possible errors

addresses Level-5 A-Exceptions
remove taskCount

addresses Level-6
- add delete feature

addresses Level-6
- add enums for command flags
- add enums for TaskTypes

addresses A-Enums
- fix code with google-styleguide

addresses Level-6
- refactor out logo into static constant

addresses Level-6
- add new test cases

addresses A-TextUiTesting
- update .gitignore to ignore vscode files

addresses Level-6
- refactor java styles

addresses Level-6
- move logic for commands from Duke to Command enum class
- Add javadocs for respective classes

addresses week-2-refactor
- remove unused Commands file

addresses week-2-refactor
- add skeleton code for AllTaskList to track all Tasks

addresses week-2-refactor
- finish moving logic of commands from Duke to Command

addresses week-2-refactor
- refactor method to throw DukeException instead of IndexOutOfBounds

addresses week-2-refactor
- move error handling to chat instead of main

addresses week-2-refactor
- add a common super constructor to create the "task" string

addresses week-2-refactor
- refactor output to user for add and delete

addresses week-2-refactor
- create uniform execption handling with DukeException

addresses week-2-refactor
Copy link

@Josephaedan Josephaedan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall your code looks great! I think you have followed the coding standards for the most part across all your commits and I only had a few minor suggestions. Keep up the good work!

private static final String STORAGE_PATH = "storage/storage.txt";

/**
* Method used to init the duke.Storage on a device, creating the directory and file if it doesn't exist.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not much to comment here, but perhaps you could consider being a little more specific about what initStorage() does in your description?

import java.io.Serializable;

/*
* Abstract super class of all Tasks.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps you could add the properties of the Task class here as explanation in your documentation
eg. @param task, @param isComplete

- use java fxml to build UI
- integrated SceneBuilder
refactor code to improve code-quality
- add ci/cd that checks for compilation on pushes and pull requests
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.

None yet

3 participants