User Stories

No. As a/an {user type/role} I can {function} so that {benefit}
Theme: As a user, I can track my everyday expenses
1.1 User Set a daily spending limit to a specified amount I can track how much I have left to spend for the day
1.2 User Set a weekly spending limit to a specified amount I can track how much I have left to spend for the week
1.3 User Set a monthly spending limit to a specified amount I can track how much I have left to spend for the month
1.4 User See how much I have remaining before the limit is reached I can keep my expenses within that limit
1.5 User Enter my expenditure after each payment I can keep track of how much I have spent
1.6 User Enter a description for each payment I can keep track of what I spend my money on
1.7 User Enter a category of each expenditure I can keep track of what I spend my money on across categories
1.8 Forgetful user Get reminders of upcoming payments I can make payments on time
Theme: As a user, I can track my income
2.1 User Enter my regular income I can track my income
2.2 User Enter my ad-hoc income I can track my income
2.3 User Enter a description for my income I can keep track of where my income was from
Theme: As a user, I can track my savings
3.1 User Compare my income to my expenditure I can determine how much I have saved
3.2 User Set daily saving goals I can cultivate good saving habits
3.3 User Set weekly saving goals I can cultivate good saving habits
3.4 User Set monthly saving goals I can cultivate good saving habits
3.5 User Set specific saving goals I can save up enough for a specific item or service
Theme: As a user, I can analyze my saving/spending trends
4.1 User See my saving trends in the form of visual data representations I can better plan my future expenses
4.2 User See my spending trends in the form of visual data representations I can gauge my expenses and cut down if needed
Theme: As a user, I can input commands quickly using CLI inputs
5.1 User Autocomplete commands based on what has been typed so far I can type commands faster
5.2 User Define shortcuts for tasks I can save time on frequently performed tasks
Theme: As a user, I can control when and how my data is stored
6.1 User Export and import my data I can transfer my data from one device to another
6.2 User Back up my data I can recover my data in the event it gets lost
Theme: As a user, I would like a sense of pride and accomplishment when working towards my saving goals
7.1 User Complete gamified savings challenges I can feel rewarded for reaching my savings goals and encouraged to continue reaching more saving goals
7.2 User See my long-term accomplishments in the form of animated objects I can feel a sense of satisfaction
7.3 User Be rewarded for consistently using the application I am motivated to consistently track my expenses

Rejected User Stories

No. As a/an {user type/role} I can {function} so that {benefit} Reason for rejection
1 User Receive a forfeit for going over expenditure limit I can feel punished for going over my expenditure limit and discouraged from going over the limit in the future Encourages the user to not report/ under-report expenditures, which is undesired behaviour
2 User Select valid commands from a drop-down thingy I can input commands faster Focus more on CLI; does not relate well to the user being a fast typist and preferring typing over other means of input
3 User Interact with the system via a chatbot interface The application feels more personal Too much work; does not really contribute to expense tracking
4 User Synchronisation of application data to the cloud My data will always be backed up in the cloud Remote server is not allowed due to project constraints
5 User Link to bank API My expenses and income will automatically be tracked by the application Remote server is not allowed due to project constraints. In addition, banks do not expose such APIs for public consumption due to security concerns