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

[ryanchua00] iP #363

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

Conversation

ryanchua00
Copy link

@ryanchua00 ryanchua00 commented Jan 30, 2023

Roody Application

"Your mind is for having ideas, not holding them." - David Allen

The Roody application helps frees your mind of having to remember things you need to do. It's,

  • text-based
  • easy to learn
  • FAST SUPERFAST to use!

All you need to do is,

  1. download it from here
  2. double click it
  3. add your tasks from the command line
  4. let it manage your tasks for you 😋

And it is FREE!

Features:

  • Managing Tasks
  • Managing Events
  • Reminders! (Coming soon)

If you Java programmer, you can use it to practice Java too. Here's the constructor for Roody method:

/**
  * Creates a chatbot with specified filepath to task data.
  * @param filepath The filepath to task data.
  */
public Roody(String filepath) {
    // Assumed no more than 100 tasks
    this.list = new ArrayList<Task>();
    this.ui = new Ui();
    this.storage = new Storage(filepath);
}

damithc and others added 12 commits July 31, 2022 17:20
- Added Roody.java
- Created input reading and class commands
- Add the ability to store whatever text entered by the user and display them back to the user when requested.
- Added "this." to object-specific fields
- Added Task class
- Added Functions to handle mark/unmark
- Improved speak function
- Added inheriting classes of task
- Changed Task to abstract
- Added toString() overrides
- Changed bat file to keep prompt open
- Added exception class
- Handled exceptions
- Handled errors
- Added delete functionality
Copy link

@peaol peaol left a comment

Choose a reason for hiding this comment

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

Good job on implementing Roody.java, perhaps adding some more OOP like classes would be good!

src/main/java/Roody.java Outdated Show resolved Hide resolved
src/main/java/Roody.java Outdated Show resolved Hide resolved
- Added Task.saveTask() method for ease of storage
- Added saveFile() and loadFile() methods
- Changed Strings to LocalDate
# Conflicts:
#	src/main/java/Deadline.java
#	src/main/java/Event.java
#	src/main/java/Roody.java
Copy link

@lennoxtr lennoxtr left a comment

Choose a reason for hiding this comment

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

Your code is intuitive and very easy to read. Good Job!

}

// toggles completion status of tasks
private void complete(int index, boolean complete) throws RoodyException{
Copy link

Choose a reason for hiding this comment

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

perhaps a javadoc @param comment here would be helpful to explain why boolean complete is needed

}


private void delete(int index) {
Copy link

Choose a reason for hiding this comment

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

A more intuitive name here would be great

Suggested change
private void delete(int index) {
private void deleteTask(int index) {

# Conflicts:
#	src/main/java/roody/Deadline.java
#	src/main/java/roody/Roody.java
#	src/main/java/roody/Storage.java
#	src/main/java/roody/Task.java
#	src/main/java/roody/Todo.java
ryanchua00 and others added 24 commits February 5, 2023 23:00
# Conflicts:
#	src/main/java/roody/Deadline.java
#	src/main/java/roody/Event.java
#	src/main/java/roody/Parser.java
#	src/main/java/roody/Roody.java
#	src/main/java/roody/Todo.java
#	src/main/java/roody/Ui.java
Add GUI

Added classes to handle GUI and changed Roody.java to launch GUI.
Depreciated CLI and UI functions were either removed or converted to
a String-based message format to pass to the GUI.

Improve switch flow in Roody.java

Methods in switch cases were extracted to individual methods. Error
handling to be improved to consolidate try-catch blocks.
Handle exceptions in Parser.java

While Roody.java used to handle exceptions and execute methods,
exception handling has been shifted to Parser.java for ease of
understanding. Only parsed input is passed to Roody.java,
simplifying command flow.

Add more custom exceptions and constants

To reduce repeated strings and literals, custom exceptions with
 fixed messages have been added for easier throwing and usage.
Constants have also been added to reduce magic literals.
*Roody.java
*Parser.java
Commands to carry out individual tasks captured by abstract
Command.java class and inherited by child command classes.
This classes override execute method, allowing for a single method
to be called in Roody.java

Check input format and create command

Parser.java now checks format of commands first before creating the
relevant commands and passing it back to Roody.java. Roody.java now
does not know the exact command, only that it is a command.
# Conflicts:
#	src/main/java/roody/Parser.java
#	src/main/java/roody/Storage.java
According to workflow
Improved code quality according to issue posted by bot. Applied SLAP
and renamed relevant variables.
Added infinite dialog length and removed dead code.
Add Ui.png

Improve GUI
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.

3 participants