Overview
Something Daily is a desktop application as a combination of to-do list and expenditure tracker which is written in Java. The target users are NUS SoC students. This application aims to improve students' life efficiency from helping them deal with their numerous deadlines and plan their daily expenditures. The user interacts with it using a CLI, and it has a GUI created with JavaFX. This project portfolio is aimed to show my contribution to our project.
Summary of contributions
-
Major enhancement: added the check command for Expenditure Tracker
-
What it does: allows the user to check how much money they have spent in a specific period.
-
Justification: This feature improves the product significantly because if a user want to know how much money they have spent in a period, they can easily get the value.
-
-
Major enhancement: added a pie-chart to show the expenditure
-
What it does: allows the user to see where and how much they have spent when they want to use the check command.
-
Justification: This feature improves the product significantly because users can see their each expense in a period directly.
-
Highlights: This enhancement will appear a new window to show the chart.
-
Credits: This feature needs another library jfreechart to draw the chart.
-
-
Major enhancement: added the ability to delete an expenditure
-
What it does: allows the user to delete an expenditure by index.
-
Justification: This feature improves the product significantly because users may add a wrong expenditure.
-
-
Major enhancement: added the ability to edit an expenditure
-
What it does: allows the user to edit an expenditure by index.
-
Justification: This feature improves the product significantly because users may want to change some parts of an expenditure.
-
-
Minor enhancement: change GUI for expenditure description
-
Minor enhancement: some test files for expenditure tracker
-
Code contributed: [RepoSense Dashboard]
-
Other contributions:
-
Documentation:
-
Add implementation of ET_check command in the Developer Guide.
-
Add some command of Expenditure tracker in the Users Guide.
-
Update use cases in the Developer Guide.
-
-
Community:
-
Tools:
-
Integrated a third party library (jFreeChart) to the project
-
-
Contributions to the User Guide
Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users. |
Checking expenditures : ET_check
Checks the status of the expenditures in a particular period and generates a pie-chart to demonstrate how much money was spent on each unit period.
Format: ET_check start/STARTDATE end/ENDDATE
Examples:
-
ET_check start/01-01-2017 end/01-01-2018
Checks the status of the expenditures from 01-01-2017 to 01-01-2018 and generates a pie-chart to illustrate how much money was spent on each expenditure. === Deleting an expenditure :ET_delete
Deletes the specified expenditure from the Expenditure Tracker.
Format: ET_delete INDEX
Examples:
-
ET_delete 2
Deletes the 2nd expenditure in the Expenditure Tracker. -
ET_delete 1
Deletes the 1st expenditure in the Expenditure Tracker. === Editing an expenditure :ET_edit
Edits an existing expenditure in the Expenditure Tracker.
Format: ET_edit INDEX [e/DESCRIPTION] [d/DATE] [m/MONEY] [c/CATEGORY]
Examples:
-
ET_edit 1 e/Beef rice m/12.5
Edits the expenditure description and money detail of the 1st expenditure in the Expenditure Tracker list to beBeef rice
and12.5
respectively. -
ET_edit 2 d/09-12-2018 c/Electronics
Edits the expenditure date and category of the 2nd expenditure to be09-12-2018
andElectronics
respectively.
Contributions to the Developer Guide
Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project. |
Check Expenditure
Current Implementation
Check the total money spent in a specific period uses both Logic and Model components. It also generate a chart to show each expenditure in this period on each date.
The following sequence diagram shows how the ET_advice
operation works:
Design Consideration
Aspect: Methods to support the check commands
-
Alternative 1 (current choice): Use list to get each money in expenditures.
-
Pros: Easy to implement using the exist list for expenditures.
-
Cons: Can not get the expenditures which are not shown in the list.
-
-
Alternative 2: Create additional structure for expenditures.
-
Pros: May use less memory.
-
Cons: Another data structure may cause some errors.
-
Aspect: Methods to generate the graph
-
Alternative 1 (current choice): Use a pie chart.
-
Pros: Can show users the percentage of each expenditure directly.
-
Cons: Do not show the change of their expense during this period.
-
-
Alternative 2: Use a line chart.
-
Pros: Can show users the trend of their expenditures according to the date.
-
Cons: Can not let users know how much each expenditure occupies total expenditures.
-
Use case 15: Add expenditure / income
System: Expenditure Tracker & Calendar
MSS
-
User enter
add
command followed by the amount of money -
Expenditure tracker receives information and shows the dates to be added
-
User choose the date
-
Expenditure tracker notifies user to pick category
-
User choose the category to be added
-
Expenditure Tracker record and display the income / outcome on calendar
Use case 16: Check expenditure / income status
System: Expenditure Tracker & Calendar
MSS
-
User enter
check status
command -
Expenditure tracker asks user to choose whether to check in the visual calendar or key in the starting date and closing date of a particular period
-
User keys in
visual
command ormanual
command -
Calendar shows the expenditure / income for each day visually or Expenditure Tracker shows the expenditure / income status by displaying the amount of money.
Use case 17: Delete expenditure / income
System: Expenditure Tracker & Calendar
MSS
-
User enters
ET_delete
command followed by index number -
Expenditure tracker confirms expenditure is present and deletes the expenditure
Extensions
2a. The list is empty. 2b. The given index is invalid 2b1. Expenditure list shows an error message
Use case 18: Edit or Update expenditure
System: Expenditure Tracker & Calendar
MSS
-
User enters
ET_edit
command followed by index number -
Expenditure tracker confirms expenditure is present in the list
-
User enter relevant contents
-
Expenditure tracker shows the updated expenditure in the list
Extensions
2a. The list is empty. 2b. The given index is invalid. 2b1. To-do list shows an error message