ped's People
ped's Issues
Minor formating issue in `Quick Start` section of User Guide
Unfriendly success message after adding events
Steps to produce:
- Use default sample data of the application
- Run
add n/Meetup s/2 hrs from now e/3 hrs from now c/Alex Yeoh c/Bernice Yu
Problem:
- It is not quite user friendly when your output message includes the term
seedu.address.model.person.Person{...}
- It also exposes the internal implemented class to your users.
Telegram constraint does not match User Guide
Inconsitent handling of adding duplicated events
Steps to produce: commands used below are taken from the User Guide, all the data in the application are default sample data
- Run
add n/Gym s/21-02-2023 13:30 e/21-02-2023 14:30
oradd 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 errorThis event already exists in the events book
- But run
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:
- It is not clear from the app and the User Guide what is the meaning of duplicated events and what the expected behaviour should be here.
Adding a new event do not raise errors for some invalid dates
Steps to produce:
- Use the default sample data
- Runs
add n/Gym s/29-02-2023 13:30 e/30-02-2023 14:30
in theevents
tab
Outcome:
Problem:
- Some errors should be raised instead.
- The event is actually stored inside the
eventbook.json
(but the date is converted into28-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" : ""
} ]
}
- However, when I opens the application again and runs
list
, thatGym
event is not shown in the list:
Many outdated information in the Command Summary section of the User Guide
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:
- There are no
find
command - I think it should befilter-n
andfilter-c
now. - There are no delete contacts by keywords feature in the application.
Similar issues might found in the other tables too.
Phone number constraint does not match the User Guide
Unclear documentation `filter-n` and `filter-t` command for `Events` tab in the User Guide
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?
Missing protection for `preferences.json` and `config.json`
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.
Cannot edit the client fields of an event to be include more than 1 person
Steps to produce:
- Use the default sample data
- Runs
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.
Missing client validation for finance/event entries when data is loaded from storage
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"
} ]
}
`summary` command not working in some cases due to integer overflow
Steps to produce:
- Use the default sample data
- Runs
add-c c/Alex Yeoh a/10000000000 d/Ten billion deal t/tmr
- Runs
summary Alex Yeoh
Outcome:
Problem:
- It was expected to show a summary of fiancial transactions with Alex Yeoh but nothing was shown (the previous success message is still on the screen instead). I guessed internally it is implemented as
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). - I think even if you add a upper bound for the amount of each transaction, users can still overflow the sum by adding a lot of high-amount transactions, so need to resolve using other strategies too.
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
Incorrect use of negative examples for `filter-n` command in the `Contacts` tab section of the User Guide
Finance/Event entries do not automatically update when there are changes to the linked Client entries
Steps to produce:
- Add some
finance
entries under an existing client (i.eJohn Doe
) in the application - Edit that client entry's name to
John Doe 2
for example
Problems:
- All the
finance
entries name field are stillJohn Doe
and notJohn Doe 2
, so the data is not correct anymore, which might affect other commands such assummary John Doe 2
Extension:
- This problem also extends to the
events
entries with their client name fields
Wrong URL to the User Guide in the `help` command
When a person is deleted from the contacts tab, finance and event entries that are linked to them still exist
Problem:
- This can lead to irrelevant data that is not removed from the app when the user (freelancer) are done with some clients.
- A more appropriate behaviour is do some cascading delete (delete the person will then in turn delete the relevant entries (or fields) from other tabs
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.