[Marcus Yeo] iP#667
Open
siuuuuuuuuuuuuuuuuuu wants to merge 56 commits into
Open
Conversation
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.
seokjoon27
reviewed
Sep 4, 2025
Eugene-Lek
reviewed
Sep 5, 2025
Eugene-Lek
left a comment
There was a problem hiding this comment.
LGTM. Sorry for being anal. I have no choice because the IP review grading scheme requires me to make comments even if the code is good
|
|
||
| public class Bobby { | ||
| private static final String EXIT_COMMAND = "bye"; | ||
| private static final String LIST_COMMAND = "list"; |
There was a problem hiding this comment.
variable names should be in camelCase according to the course's style convention :(
| @@ -0,0 +1,6 @@ | |||
| // src/main/java/BobbyException.java | |||
| public class BobbyException extends Exception { | |||
| public BobbyException(String message) { | |||
There was a problem hiding this comment.
If the BobbyException is no different from a regular Exception, then maybe should just use a regular exception haha
| private static void handleDeadlineCommand(String userInput, ArrayList<Task> tasks) throws BobbyException { | ||
| String[] parts = userInput.length() > 8 ? userInput.substring(8).split("/by", 2) : new String[0]; | ||
| if (parts.length != 2 || parts[0].trim().isEmpty() || parts[1].trim().isEmpty()) { | ||
| throw new BobbyException("Whatdatmean what time does the deadline start and end?"); |
There was a problem hiding this comment.
Technically the exception message should mention the possibility that the description is empty haha
added 13 commits
September 10, 2025 17:04
Merge add-gradle-support to master branch
Merge branch 'branch-A'JavaDoc' into master
Previously, users could only mark tasks as done, but there was no way to unmark a task as not done. This limited the flexibility of the task management system, as users could not correct mistakes or update the status of tasks that were marked as done by accident. This commit introduces the UnmarkCommand, which allows users to unmark a task as not done. The following changes were made: * Added UnmarkCommand class to handle the unmark operation. * Updated Parser to recognize the unmark command and return an UnmarkCommand instance. * Added markAsNotDone method in TaskList to support unmarking tasks. * Updated Task to include markAsNotDone and added assertions for state transitions. * Enhanced Ui to provide feedback when a task is unmarked. * Added assertions in relevant classes to document important assumptions. * Added/updated tests to cover the unmark functionality. With this change, users can now unmark tasks, improving the usability and robustness of the application.
Previously, the codebase did not consistently document key assumptions about non-null parameters, valid indices, and invariants. This made it harder to catch programming errors early and to understand the intended constraints at various points in the code. This commit adds meaningful assert statements throughout the codebase to document important assumptions, such as: * Non-null parameters in constructors and methods (e.g., file paths, task descriptions, command inputs) * Valid indices before accessing or modifying lists * Non-null objects before calling methods or accessing fields * Correct state transitions (e.g., marking/unmarking tasks) With these changes, the codebase is now more robust and self-documenting. Running with assertions enabled () will help catch bugs early during development and maintenance.
…n of BobbyException
- Implement ViewScheduleCommand to allow users to view all scheduled tasks for a given date using the command: viewschedule d/M/yyyy - Update Parser to recognize and parse the viewschedule command and its date argument - Add getTasksForDate(LocalDate date) method to TaskList to filter and return all Deadlines and Events scheduled for the specified date - Update Ui with showScheduleForDate to display the schedule in a user-friendly format - Ensure schedule output is in chronological order by time for the selected date - ToDos are not included in the schedule as they have no associated date This feature allows users to easily see their schedule for any chosen day, improving task management and planning.
Add assert statements to document important assumptions
Improve code quality
Add viewschedule command to display tasks for a specific date
…tures, and startup enhancements - Increased the default window width to 700px and set a minimum width for better message separation and usability. - Made user messages green and bot messages blue for clear visual distinction. - Styled error messages with a red background and black, unbolded text for better readability. - Increased profile picture size to 72x72px for better visibility. - On startup, display the welcome message, today’s schedule, and the todo list as bot messages for improved user experience. - Loaded dialogbox.css globally in the main application class to ensure consistent styling across all UI components. - Cleaned up redundant or misplaced CSS loading and fixed FXML to use the robust <styleClass> child element for style assignment.
Merge UI improvement changes to master
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bobby 🚀
Bobby frees your mind of having to remember things you need to do.
It's:
BoringSUPER FAST 😉All you need to do is:
Features
If you are a Java programmer, you can use it to practice Java too.
Inline code example: run with
java Main.