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

[mamayuan] ip #534

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

[mamayuan] ip #534

wants to merge 57 commits into from

Conversation

mamayuan
Copy link

@mamayuan mamayuan commented Sep 3, 2023

DukePro - Task Manager 📖

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

DaDaYuan frees your mind of having to remember things you need to do. It's:

  • text-based
  • complex easy to learn
  • FAST SUPER FAST to use 🚀

All you need to do is:

  1. Download it from here
  2. Double-click it.
  3. Add your tasks.
  4. Let it manage your tasks for you 😉

And it is expensive FREE! 🎉

Features:

  • Managing tasks
  • Managing deadlines
  • Reminders

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

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

@mamayuan mamayuan changed the title Up to Level-6 [mamayuan] Up to Level-6 Sep 3, 2023
@mamayuan mamayuan changed the title [mamayuan] Up to Level-6 [mamayuan] ip Sep 3, 2023
Copy link

@jibtaf jibtaf left a comment

Choose a reason for hiding this comment

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

Looks good to me, although there may be some style errors. Perhaps adding javadoc and header comments for public methods will make your code more clear and easier to understand. Also, according to the Git conventions, you should use "Add", "Settle", "Finalise" instead of "Adds", "Settles", and "Finalises". Overall, well done! 👍

package duke;

import duke.exceptions.FileIoException;
import duke.tasks.*;
Copy link

Choose a reason for hiding this comment

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

Should the classes imported be explicitly listed out?

import duke.exceptions.UnknownCommandException;


import java.util.ArrayList;
Copy link

Choose a reason for hiding this comment

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

I think import java.* should be before import duke.*, according to the checkStyle function.

import duke.exceptions.EmptyDescriptionException;
import duke.exceptions.UnknownCommandException;


Copy link

Choose a reason for hiding this comment

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

Perhaps one blank line is enough?

Copy link

@ChangruHenryQian ChangruHenryQian 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!

Comment on lines 57 to 59
System.out.println("Got it. I've added this task:");
System.out.println(" " + tasks.getTask(tasks.getNumberOfTasks() - 1));
System.out.println("Now you have " + tasks.getNumberOfTasks() + " task(s) in the list.");

Choose a reason for hiding this comment

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

Should Ui class do the printing part?

Comment on lines +6 to +8
public enum TaskType {
TODO, EVENT, DEADLINE
}

Choose a reason for hiding this comment

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

I like your implementation of the enum class for task types.

@@ -0,0 +1,31 @@
package duke.exceptions;

public class ErrorMessages {

Choose a reason for hiding this comment

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

Great implementation on ErrorMessage class.

Comment on lines 3 to 20
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

import duke.tasks.Task;
import duke.tasks.Todo;
import duke.tasks.Event;
import duke.tasks.Deadline;
import duke.tasks.TaskList;
import duke.exceptions.UnknownCommandException;
import duke.exceptions.FileIoException;
import duke.exceptions.ErrorMessages;

Choose a reason for hiding this comment

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

I enjoy your clean separation and ordering of the import statements.

mamayuan and others added 30 commits September 16, 2023 16:53
The Duke application lacks a user interface and a main entry point for users to interact with.

To make the Duke application user-friendly and navigable, we need a proper user interface and an entry point to launch the application.

Implement the MainWindow class to act as the controller for the main application window.
Add the DialogBox custom control to display dialogues for the user and Duke with associated images.
Introduce the Launcher class as the application's entry point.

Using JavaFX, we can ensure a consistent and efficient user interface. The DialogBox custom control allows us to encapsulate dialogue functionalities, ensuring code reusability and organization. The Launcher acts as a clear entry point for the application, keeping the initialization process straightforward.

Added Javadoc comments to the newly created classes for better documentation and clarity.
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