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

[Muhammad Arshad Shaik] iP #27

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

Conversation

FireRadical22
Copy link

@FireRadical22 FireRadical22 commented Jan 19, 2023

Duke

Duke helps you remember your tasks for the day so you don't have to!!

Duke is:

  • Text-based
  • Simple to interact with
  • FAST F1-FAST to use ๐ŸŽ๏ธ ๐ŸŽ๏ธ

All you need to is:

  1. Download from here
  2. Open Duke by double-clicking on it
  3. Start adding your task!
  4. Sit back and let Duke do the managing for you! ๐Ÿ˜Ž

And the best part? It's completely FREE! ๐Ÿคฉ

Features:

  • Managing tasks
  • Managing deadlines (coming soon)
  • Reminders (coming soon)

damithc and others added 28 commits July 31, 2022 17:20
- Updated Duke Class to mark/unmark task
- Added Task class
- Updated Duke to accommodate different types of tasks

- Added todo task
- Added deadline task
- Added events task
- Updated runtest.bat with appropriate classpaths
- Updated input.txt and EXPECTED.txt with sample test and sample result respectively
- Cleaning code for mark and unmark command
- Update Duke to handle user input errors
- Create DukeException class to be thrown in Duke class
- Added delete feature into Duke
- Created mark and unmark method to throw DukeException in the event of user input error
- Updated delete method to throw DukeException in the event of user input error
- Added Save feature (temp before merge)
- Mandate use of proper date format for deadline and event commands (in testing)
- Update Duke program to check file path in OS-independent way
- Included write or read file feature for appropriate commands
- Fix new lines not being generated when a new Task is added
- Add LocalDateTime to store date and time for Deadline and Event objects
- Update checking of deadline, todo and event commands
- Add Command class to execute commands
- Add UI class for UI feature
- Add Parser class to Pass input from prompt
- Add Storage class to store and access file from file path.
- Add TaskList class to keep track of tasks.
- Update Duke class to implement use of new classes
- Create package duke.task for Task classes and duke for non-Task classes
- Update mainClassName
- Add JUnit5 Test cases
- Fix bugs in Duke program
- Add more exception handling when using TaskList and Command classes
- Update DukeTest class to check for correctness of command inputs.
- Add JavaDoc Documentation for classes and methods
- Edit classes and their methods to comply with coding standard
Copy link

@bernicetoh bernicetoh 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 is neat and easy to read. There are a few instances where you could have added space characters between operators.

src/main/java/duke/TaskList.java Outdated Show resolved Hide resolved
src/main/java/duke/TaskList.java Outdated Show resolved Hide resolved
src/main/java/duke/task/Deadline.java Outdated Show resolved Hide resolved
src/main/java/duke/task/Deadline.java Outdated Show resolved Hide resolved
src/main/java/duke/task/Deadline.java Outdated Show resolved Hide resolved
src/main/java/duke/task/Events.java Outdated Show resolved Hide resolved
src/main/java/duke/task/Events.java Outdated Show resolved Hide resolved
- Update method name for getting descriptions of matching task

Co-authored-by: bernicetoh <87461298+bernicetoh@users.noreply.github.com>
- Changes to code suggested by bernicetoh
Copy link

@pzaiming pzaiming left a comment

Choose a reason for hiding this comment

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

Great job! Code is well written and done naturally with OOP.

src/main/java/duke/Command.java Outdated Show resolved Hide resolved
src/main/java/duke/Command.java Outdated Show resolved Hide resolved
src/main/java/duke/TaskList.java Outdated Show resolved Hide resolved
src/main/java/duke/Command.java Outdated Show resolved Hide resolved
- Integrate JavaFX features into program
- Add assertions where appropriate in program
- Update "bye" command to exit program automatically
- Clear userInput box after everywhere command inputted
- Update error and action messages
- Add further abstractions to some methods
- Remove any use of magic Strings or numbers
- Fix any methods where SLAP is weak
- Add comments where necessary
- Simplify expressions, eliminate deep nesting and long methods where necessary
Implement Tagging feature to allow users to create custom categories for their tasks based on their needs

Duke has been relying on a terminal to get input from the user. As such, better user interface is needed to improve user's experience with Duke program.

Replace UI class with GUI class, to integrate JavaFX into Duke as Duke will evolve to an application with command-line interface
Move appropriate classes into their respective packages for better organisation

Add MainWindow class to handle main window of Duke Application. This is to address the problem of infinite recursion caused by initialisation of Duke object in GUI class and GUI object in Duke class.
Delete sampleTest used for testing out certain classes in Java 11 API. sampleTest is no longer needed as it does not test the program itself.
Add Duke's features, command formats and short description of the features
Add Illustrations and examples of use of features in later commits
Add images for User Guide to illustrate how different features of Duke works

Fix minor bugs found to ensure Duke program runs as intended
Add Image for respective features
Adjust screenshot for deadline feature
Update images for features as images were initially not being shown
Give links for features for better navigability
Add Back To Top link for better navigability in README
Add summary to summary all features of Duke Program
Rename file to UI.png for tracking by iP progress dashboard
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