Skip to content

[FZFZFZZ] iP#649

Open
FZFZFZZ wants to merge 40 commits into
nus-cs2103-AY2526S1:masterfrom
FZFZFZZ:master
Open

[FZFZFZZ] iP#649
FZFZFZZ wants to merge 40 commits into
nus-cs2103-AY2526S1:masterfrom
FZFZFZZ:master

Conversation

@FZFZFZZ

@FZFZFZZ FZFZFZZ commented Sep 3, 2025

Copy link
Copy Markdown

ChioChat Launcher

“Your mind is for having ideas, not holding them.” – David Allen (source)

ChioChat Launcher is the entry point for the ChioChat application. It helps you initialize and launch the application seamlessly. It's:

  • Simple to use
  • Lightweight
  • Efficient

All you need to do is:

  1. Clone the repository.
  2. Build the project.
  3. Run the Launcher class.

And you're ready to go! 🚀

Features:

  • Launching the ChioChat application
  • Integration with JavaFX
  • Future enhancements (coming soon)

If you are a Java programmer, you can use it to practice JavaFX development too. Here's the main method:

public class Launcher {
    public static void main(String[] args) {
        Application.launch(Main.class, args);
    }
}

damithc and others added 15 commits July 11, 2024 16:52
In build.gradle, the dependencies on distZip and/or distTar causes
the shadowJar task to generate a second JAR file for which the
mainClass.set("seedu.duke.Duke") does not take effect.
Hence, this additional JAR file cannot be run.
For this product, there is no need to generate a second JAR file
to begin with.

Let's remove this dependency from the build.gradle to prevent the
shadowJar task from generating the extra JAR file.

@IsaiahToh IsaiahToh left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Nice implementation of the task, great job following the coding standard.

Comment thread src/main/java/ChioChat.java Outdated
SavedMeta meta = SavedMeta.parse(line);
Task t;
switch (meta.type) {
case 'T' -> t = new ToDoTask(meta.payload);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cool use of lambda styled switch statements, rarely see that.

}
return baseString;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Neatly ordered file!

Comment thread src/main/java/ChioChat.java Outdated
"event", (input) -> addTask(input, "event"),
"todo", (input) -> addTask(input, "todo"),
"delete", (input) -> deleteTask(input)
);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Smart way of implementing the commands.

Comment thread src/main/java/ChioChat.java Outdated
import java.util.ArrayList;
import java.util.Map;
import java.util.Scanner;
import java.util.function.Consumer;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Good ordering of package imports, easy to process mentally.

Add assertions for key command methods
A new `help` command is introduced in `CommandManager` to provide users
with a quick reference of all supported commands and their usage. This
improves usability by letting users discover functionality without
checking external documentation.

The help output is wrapped with `ui.wrapOutput()` for consistent
formatting with other system messages. It lists commands such as `list`,
`todo`, `deadline`, `event`, `delete`, `mark`, `unmark`, `find`, and
`help` itself, along with a short description of their usage.

This change enhances user experience by offering a clear and accessible
guide directly in the CLI.
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.

4 participants