I'm currently doing a double degree in Computer Science (CS) and Data Science & Analytics (DSA) at the National University of Singapore.
Feel free to reach me for any personal or professional opportunities!
There are some commands that are not included in the table, and some commands currently in the table do not exist.
For example, in the Contacts Tab
command table:
find
command - I think it should be filter-n
and filter-c
now.Similar issues might found in the other tables too.
Steps to produce:
finance
entries under an existing client (i.e John Doe
) in the applicationJohn Doe 2
for exampleProblems:
finance
entries name field are still John Doe
and not John Doe 2
, so the data is not correct anymore, which might affect other commands such as summary John Doe 2
Extension:
events
entries with their client name fieldsProblem:
Problems: Unlike the filter-c
command which mentioned Filtering Events by Clients
and Shows a list of events that contains client's names who matches
.
It it not explicit clear what is filtered by filter-n
(Readers might need to guess it is by the description). There is one part in the screenshot belows that said Client's name matching ...
which should be Description
instead?
Steps to produce:
edit 2 n/Meetup s/01-12-2023 2pm e/01-12-2023 3pm c/Alex Yeoh c/Bernice Yu
(this command was taken from the User Guide)Outcome:
Problem: It is expected to be able to edit the selected events to have multple clients as mentioned in the User Guide, but an error (Multiple values specified for the following single-valued field(s): c/
) was raised instead.
Steps to produce:
add n/Meetup s/2 hrs from now e/3 hrs from now c/Alex Yeoh c/Bernice Yu
Problem:
seedu.address.model.person.Person{...}
Steps to produce: commands used below are taken from the User Guide, all the data in the application are default sample data
add n/Gym s/21-02-2023 13:30 e/21-02-2023 14:30
or add n/Tennis s/31-09-2023 19:30 e/31-09-2023 21:30 l/20 Lower Kent Ridge Road, 119080
twice will return an error This event already exists in the events book
add n/Meetup s/2 hrs from now e/3 hrs from now c/Alex Yeoh c/Bernice Yu
twice will not return any error.Problem:
Steps to produce:
add-c c/Alex Yeoh a/10000000000 d/Ten billion deal t/tmr
summary Alex Yeoh
Outcome:
Problem:
int
which can be overflown when the total amount is high like the above example (but the User Guide does not warn anything about this).Logging: Output from the logs for your reference
...
Caused by: java.lang.NumberFormatException: For input string: "10000000000"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.base/java.lang.Integer.parseInt(Integer.java:652)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
at seedu.address.model.finance.FinanceSummary.generateSummaryStatistic(FinanceSummary.java:57)
at seedu.address.model.finance.FinanceSummary.generateSummary(FinanceSummary.java:42)
at seedu.address.logic.commands.finance.SummaryCommand.execute(SummaryCommand.java:42)
at seedu.address.logic.LogicManager.execute(LogicManager.java:54)
at seedu.address.ui.tab.FinanceTab.executeCommand(FinanceTab.java:82)
at seedu.address.ui.CommandBox.handleCommandEntered(CommandBox.java:45)
... 57 more
Steps to produce:
add n/Gym s/29-02-2023 13:30 e/30-02-2023 14:30
in the events
tabOutcome:
Problem:
eventbook.json
(but the date is converted into 28-02
) as follows:{
"events" : [ {
"eventName" : "Meeting with Alex",
"timeStart" : "03-11-2024 09:00",
"timeEnd" : "03-11-2024 10:00",
"location" : "Conference Room",
"clients" : [ {
"name" : "Alex Yeoh",
"phone" : "87438807",
"email" : "[email protected]",
"address" : "Blk 30 Geylang Street 29, #06-40",
"company" : "Google",
"telegramName" : "@AlexYeoh"
} ],
"eventDescription" : "Discussion"
}, {
"eventName" : "Conference with Bernice",
"timeStart" : "03-12-2023 18:00",
"timeEnd" : "03-12-2023 19:00",
"location" : "Conference Room",
"clients" : [ {
"name" : "Bernice Yu",
"phone" : "99272758",
"email" : "[email protected]",
"address" : "Blk 30 Lorong 3 Serangoon Gardens, #07-18",
"company" : "FAPro",
"telegramName" : "@BerniceYu"
} ],
"eventDescription" : "Discussion"
}, {
"eventName" : "Team Lunch",
"timeStart" : "04-11-2023 12:00",
"timeEnd" : "04-11-2023 13:00",
"location" : "Conference Room",
"clients" : [ ],
"eventDescription" : "Discussion"
}, {
"eventName" : "Project Presentation",
"timeStart" : "10-11-2023 15:00",
"timeEnd" : "10-11-2023 16:30",
"location" : "Conference Room",
"clients" : [ ],
"eventDescription" : "Discussion"
}, {
"eventName" : "Gym",
"timeStart" : "28-02-2023 13:30",
"timeEnd" : "28-02-2023 14:30",
"location" : "",
"clients" : [ ],
"eventDescription" : ""
} ]
}
list
, that Gym
event is not shown in the list:The User Guide mentioned warnings about editting the data files (incorrect format will reset all the data), but did not warn users about editting the preferences.json
and config.json
files that are also generated.
If some users set the content of preferences.json
into:
{
"guiSettings" : {
"windowWidth" : 740.0,
"windowHeight" : 600.0,
"windowCoordinates" : null
},
"addressBookFilePath" : null,
"eventsFilePath" : null,
"financeFilePath" : null
}
and the config.json
into:
{
"logLevel" : "INFO",
"userPrefsFilePath" : null
}
Problem: The application will not be able to start. A possible approriate behaviour for the application is to reset these files into default correct values rather than not being able to start.
Problem: Unlike other fields (when users attempt to modify the fields such as time in the json
file to be of invalid format, all the data will be reset when the application starts - as cautioned in the User Guide), when I attempted to change client name field in the financebook.json
and addressbook.json
files to someone who do not exist in the addressbook.json
, the application still starts with these incorrect information (instead of reseting the data), so I think there was some missing validation for client names during storage loading.
Example: change the sample eventsbook.json
to below and the application still runs with the incorrect information in the data.
{
"events" : [ {
"eventName" : "Meeting with Alex",
"timeStart" : "03-11-2024 09:00",
"timeEnd" : "03-11-2024 10:00",
"location" : "Conference Room",
"clients" : [ {
"name" : "Does not exist",
"phone" : "87438807",
"email" : "[email protected]",
"address" : "Blk 30 Geylang Street 29, #06-40",
"company" : "Does not exist",
"telegramName" : "@Does_not_exist"
} ],
"eventDescription" : "Discussion"
}, {
"eventName" : "Conference with Bernice",
"timeStart" : "03-12-2023 18:00",
"timeEnd" : "03-12-2023 19:00",
"location" : "Conference Room",
"clients" : [ {
"name" : "Does not exist",
"phone" : "99272758",
"email" : "[email protected]",
"address" : "Does_not_exist, #07-18",
"company" : "FAPro",
"telegramName" : "@Does_not_exist"
} ],
"eventDescription" : "Discussion"
}, {
"eventName" : "Team Lunch",
"timeStart" : "04-11-2023 12:00",
"timeEnd" : "04-11-2023 13:00",
"location" : "Conference Room",
"clients" : [ ],
"eventDescription" : "Discussion"
}, {
"eventName" : "Project Presentation",
"timeStart" : "10-11-2023 15:00",
"timeEnd" : "10-11-2023 16:30",
"location" : "Conference Room",
"clients" : [ ],
"eventDescription" : "Discussion"
} ]
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.