Skip to content

[tijngsheng] ip#526

Open
tjingsheng wants to merge 67 commits into
nus-cs2103-AY2324S1:masterfrom
tjingsheng:master
Open

[tijngsheng] ip#526
tjingsheng wants to merge 67 commits into
nus-cs2103-AY2324S1:masterfrom
tjingsheng:master

Conversation

@tjingsheng

@tjingsheng tjingsheng commented Sep 3, 2023

Copy link
Copy Markdown

Duke project

Hello from

      ██╗██╗███╗   ██╗ ██████╗     ███████╗██╗  ██╗███████╗███╗   ██╗ ██████╗ 
      ██║██║████╗  ██║██╔════╝     ██╔════╝██║  ██║██╔════╝████╗  ██║██╔════╝ 
      ██║██║██╔██╗ ██║██║  ███╗    ███████╗███████║█████╗  ██╔██╗ ██║██║  ███╗
 ██   ██║██║██║╚██╗██║██║   ██║    ╚════██║██╔══██║██╔══╝  ██║╚██╗██║██║   ██║
 ╚█████╔╝██║██║ ╚████║╚██████╔╝    ███████║██║  ██║███████╗██║ ╚████║╚██████╔╝
  ╚════╝ ╚═╝╚═╝  ╚═══╝ ╚═════╝     ╚══════╝╚═╝  ╚═╝╚══════╝╚═╝  ╚═══╝ ╚═════╝

Project Description

This is my project, created from a template for a greenfield Java project.
It's named after the Java mascot Duke.
This project is a Java application that aims to provide a user-friendly task management system. It allows users to manage their tasks efficiently and keep track of their schedules.

Features

  • Task Creation: Users can add various types of tasks, including todo, deadline, and event tasks.
  • Task List: View a list of all tasks, including their descriptions and completion status.
  • Task Completion: Mark tasks as complete when they are done.
  • Task Deletion: Remove tasks that are no longer needed.
  • Task Searching: Search for tasks based on keywords.
  • Data Storage: Data is automatically saved and loaded for seamless usage.

Installation Option 1

  1. Go to tjingsheng ip releases

  2. Get Java: Ensure you have a functioning version of Java.

  3. Copy the JAR File: Copy the JAR file you want to run into an empty folder.

  4. Open a Command Window: Open a command prompt (Windows) or terminal (macOS/Linux) in the same folder where you copied the JAR file.

  5. Run the Command: Use the following command to run the JAR file:

  6. Enjoy: Duke is very fun.

    java -jar duke.jar
    

Installation Option 2

  1. Clone the tjingsheng ip repository to your local machine.
  2. Open the project in your preferred Java development environment.
  3. Build and run the application.
  4. Enjoy

Todo List

  • Task 1 : Get duke
  • Task 2 : Experiment with it
  • Task 3 : Profit ???
  • Task 4 : Cry

Project Sample

    /**
     * Runs the Duke application, allowing the user to interact with it via the command line.
     */
    public static void runDuke() {
        Scanner scanner = new Scanner(System.in);
        Ui.helloWorld();
        boolean isConversing = true;
        while (isConversing) {
            String rawCommand = Ui.getUserInput(scanner);
            TaskList taskList = TaskFileHandler.readFromFile();
            Ui.getBotMessage();
            Command command = Parser.parse(rawCommand);
            command.execute(taskList);
            TaskFileHandler.saveToFile(taskList);
            isConversing = !command.isByeCommand();
        }
    }

"Duke hehe Duke hehe" - Jing Sheng

@tjingsheng tjingsheng changed the title Customise the sample Duke Repo [tijngsheng] ip Sep 3, 2023

@zhanyang01 zhanyang01 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.

I like how most of the coding standards and coding quality standards are met, good job for the IP so far!

Comment thread src/main/java/Duke.java Outdated
Comment thread src/main/java/Duke.java Outdated
Comment thread src/main/java/Parser/Parser.java Outdated
@@ -0,0 +1,29 @@
package Parser;

import Command.*;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Should wildcard imports be used? Maybe it is better to list them out?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I think * is better as I am importing almost every command in that package

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

HMMM actually now that I saw this " Rationale: Importing classes explicitly gives an excellent documentation value for the class at hand and makes the class easier to comprehend and maintain. Appropriate tools should be used in order to always keep the import list minimal and up to date. IDE's can be configured to do this easily." in the style guide, I am feeling conflicted.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

How can IDE be configured to do it though?

applied SLAP (and other abstraction mechanisms) to shorten methods e.g.,
extract some code blocks into separate methods. You may ignore this
suggestion if you think a longer method is justified in a particular
case.

Avoid committing binary files (e.g., *.class, *.jar, *.exe) or third-
party library files in to the repo. Removed Sono.zip.

Add improvements to exception handling.
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