project-proposal-2024

CashContest

Abstract

Ever find yourself wanting to save money but just lack of self-control? Ever felt frustrated by overspending on nights out when you’re trying to save? Say goodbye to financial stress and hello to CashContest, an innovative spending tracking app that gamify your saving journey.

CashContest isn’t just your average budget tracker. It’s a powerful tool that not only allows you to record your spending and provides monthly reports with detailed analysis but also lets you engage in friendly competition with your friends. Challenge each other in specific spending categories over a set time period to boost motivation and savings. Don’t feel like competing with friends? You can also personalise you’re own spending goals and receive timely notifications to stay updated on your budget status to stay on track towards your financial goals.

Author

Name: Chi-Hsuan (Fiona) Wu

Student number: 48655541

Functionality

The features that the app should have are:

Account Management

Spending Tracking

Monthly Reports

Competitions

Goal Setting

Additional Features

Scope

The scope for the MVP will include the features:

Account Management

Spending Tracking

Monthly Reports

Competitions

Goal Setting

Quality Attributes

Reliability

Reliability is an important attribute for this system as users are entrusting the app with financial information and expect accurate tracking and updating of their spending, savings, and competition standings. If users find mistakes or delays in updates, it can lead to frustration and diminish trust in the app. Moreover, in the context of competitions, reliability ensures fairness and transparency among participants, as all users rely on the system to accurately reflect their and others’ spending behavior.

Scalability

It is crucial to ensure that the application delivers a seamless and efficient user experience, even during periods of high activity, such as the start of a new month when users are more likely to log expenses and set goals. CashContest will perform horizontal scaling to distribute the load. A load balancer will be used to distribute traffic across all available servers. Caching strategy will also be used to improve the performance. By caching data such as one month’s transaction records, CashContest enables faster retrieval of data compared to fetching it from the database.

Availability

A financial tracking app needs to always be accessible and functional, as users expect to access their financial information, log transactions, and check competition standings at any time. Users rely on the app for daily financial planning and decision-making; therefore, any interruption could disrupt their financial routines and lead to a negative user experience.

Evaluation

Reliability