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

[Lim Rui Ting Valencia] iP #608

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

Conversation

ValenciaLim
Copy link

@ValenciaLim ValenciaLim commented Feb 20, 2024

Cal

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

Introducing Cal, your very own secretary that remembers your task for you! 😉 It's

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

Chat with Cal and he will help you to keep track of:

  • To Dos
  • Deadlines
  • Events

And it is FREE!

Features:

  • Managing tasks
  • Managing deadlines (coming soon)
  • Reminders (coming soon)

Get Started

  1. Download the .jar file from here
  2. Run the following command in the directory where the .jar file is located at: java -jar cal.jar

If you are 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);
    }
}

@ValenciaLim ValenciaLim changed the title Lim Rui Ting Valencia iP (till week 3 only) Lim Rui Ting Valencia iP Feb 24, 2024
@ValenciaLim ValenciaLim changed the title Lim Rui Ting Valencia iP [Lim Rui Ting Valencia] iP Feb 24, 2024
@ValenciaLim ValenciaLim marked this pull request as ready for review February 24, 2024 13:37
ValenciaLim and others added 20 commits February 25, 2024 05:09
TaskSerialiser lacks assertions to ensure that task exist
in order to serialise task into string and parse string back into
task.

StorageManager lacks assertions to ensure that save path exists before
attempting to save to directory and load from directory.

Assert statements are added to the TaskSerializer class to check for
null inputs, as well as StorageManager class to check for empty save
path.

Adding assertions allows us to catch potential issues early in the
development process, reducing the likelihood of introducing bugs into
the codebase.
Compare branch-A-Assertions and master
Parser class: create functions to check for null task number and blank
fields.

Null task number and blank fields are handled in multiple switch cases, causing code
duplication.

Extracting the common error handling into its corresponding function
allow us to reuse the code more efficiently. This also reduces the
number of lines the parseCommand method have.

Error handling for null task number is written in the checkNullTaskNum
function. Error handling for blank fields i.e. descriptions, due date,
start date, end date, keyword are written in the checkBlankField
function.
Tasklist add() method: check for duplicate tasks and overlapping events
before adding to tasklist.

DialogBox and MainWindow: change design of the error message to highlight
errors, allow resizing of window, make profile pictures smaller and add
circle border around it.
Tasklist add() method: check for duplicate tasks and overlapping events
before adding to tasklist. Use of Apache Common Lang Library to make
descriptions insensitive to additional whitespaces and lack of
whitespace.

DialogBox and MainWindow: change design of the error message to highlight
errors, allow resizing of window, make profile pictures smaller and add
circle border around it.
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.

2 participants