NUURA NAJATI BINTI MUSTAFA
Transcript of NUURA NAJATI BINTI MUSTAFA
DAILY EXPENSE TRACKER MOBILE APPLICATION
NUURA NAJATI BINTI MUSTAFA
BACHELOR OF COMPUTER SCIENCE (SOFTWARE
DEVELOPMENT) WITH HONOURS
UNIVERSITI SULTAN ZAINAL ABIDIN
2021
Daily Expense Tracker Mobile Application
NUURA NAJATI BINTI MUSTAFA
BACHELOR OF COMPUTER SCIENCE (SOFTWARE
DEVELOPMENT) WITH HONOURS
Universiti Sultan Zainal Abidin
2021
i
DECLARATION
I hereby declare that the report is based on my original work except for quotations and
citations, which have been duly acknowledged. I also declare that it has not been
previously or concurrently submitted for any other degree at Universiti Sultan Zainal
Abidin or other institutions.
NUURA
_______________________________
Name: Nuura Najati Binti
Mustafa
Date: 2nd February 2021
ii
CONFIRMATION
This is to confirm that:
The research conducted and the writing of this report were under my supervision.
_______________________________
Name: Pn. Norlina Binti Udin @
Kamaruddin
Date:
iii
DEDICATION
In the Name of Allah, the Most Gracious and the Most Merciful.
Alhamdulillah, I thank God for His grace and grace, I can prepare and complete this
report successfully.
First of all, I would like to thank my supervisor, Pn. Norlina Binti Udin @ Kamaruddin
Shamsudin because with guidance, the advice, and the thoughtful ideas are given g me
the opportunity to prepare this report successfully.
Besides, my gratitude is also to my colleagues who share ideas, opinions, knowledge,
and reminders. They helped me answer every question that was important to me in
completing this report.
Thanks also to my beloved mother and father always support and motivated me to
prepare for this report for Final Year Project.
I would like to take the opportunity to thank all lecturers of the Informatics and
Computing Faculty for their attention, guidance, and advice in helping and sharing ideas
and opinions in making this report successful.
May Allah SWT bless all the efforts that have been given in completing this
report.
Thank you.
iv
ABSTRACT
Daily Expense Tracker Mobile Application is an application meant for all type of people
concerned and cautious about their daily expenses. With the help of this application,
users will be able to more careful of their spendings and save more. Also, this
application is an easier alternative to keeping track of users’ use of money than the
traditional way of writing their expenses in their diary. This application implements
least squares method which helps to predict an outcome by finding the best fit line for
a set of data. The use of the least squares method will help users in obtaining a successful
budget planned with the prediction of the outcome of the budget based on expenses. In
conclusion, this application will incorporate the function of generating a monthly
expense report and budget outcome predictions.
v
ABSTRAK
Daily Expense Tracker Mobile Application adalah dihasilkan untuk sekumpulan
masyarakat yang bimbang dan berhati-hati mengenai perbelanjaan harian. Pengguna
akan lebih berhati-hati akan perbelanjaan dan menyimpan lebih banyak dengan
bantuan aplikasi ini. Selain itu, aplikasi ini adalah alternatif yang lebih mudah untuk
mengawasi penggunaan wang pengguna daripada cara tradisional menulis
perbelanjaan pengguna di buku catatan. Aplikasi ini menggunakan kaedah Least
Squares yang membantu meramalkan hasil dengan mencari garisan yang paling tepat
untuk sekumpulan data. Penggunaan kaedah Least Squares membantu pengguna
merancang bajet belanjawan yang berjaya dengan peringatan mengenai ramalan hasil
bajet belanjawan berdasarkan perbelanjaan. Kesimpulannya, aplikasi ini merangkumi
fungsi-fungsi iaitu menghasilkan laporan perbelanjaan bulanan dan ramalan hasil
bajet belanjawan.
vi
CONTENTS
PAGE
DECLARATION i
CONFIRMATION ii DEDICATION iii ABSTRACT iv ABSTRAK v
CONTENTS v
LIST OF TABLES vii LIST OF FIGURES viii LIST OF ABBREVIATIONS ix
CHAPTER 1 INTRODUCTION 1 1.1 Introduction 1
1.2 Project Background 1 1.3 Problem Statement 3 1.4 Objectives 3
1.5 Scope 4 1.6 Limitation of Work 4
1.7 Expected Result 4
1.8 Activities, Milestones (Gantt Chart) 5-6 1.9 Summary of the Chapter 7
CHAPTER 2 LITERATURE REVIEW 8 2.1 Introduction 8
2.2 Research Based on Article 8-9
2.3 Research Based on Existing System 9-12
2.4 Least Squares Method 13
2.5 Summary of the Chapter 14
CHAPTER 3 METHODOLOGY 15 3.1 Introduction 15
3.2 Project Methodology 15-16
3.2.1 Requirement Gathering 16
3.2.2 Designing Requirements 16
3.2.3 Development 17
3.2.4 Testing 17
3.2.5 Deployment 17
3.3 Framework 17-18
3.4 Hardware and Software Requirements 18
3.4.1 Hardware 18-19
3.4.2 Software 19
3.5 System Design 19
3.5.1 Context Design 20
3.5.2 Data Flow Diagram (DFD) Level 0 21
3.5.3 Entity Relationship Diagram (ERD) 22
3.6 Database Design 23-24
3.7 Summary of the Chapter 24
REFERENCES 25-26
vii
LIST OF TABLES
Table No. Title Page
Table 1.8: Table Task Analysis 5
Table 2.2: Researched Based on Article 8-9
Table 2.3.1: Existing Table 1Money 10
Table 2.3.2: Existing Table Wallet 11
Table 2.3.3: Existing Table Expense Manager 12
Table 3.6.1: User Table 22
Table 3.6.2: Expense Table 22
Table 3.6.3: Income Table 22
Table 3.6.4: Report Table 23
viii
LIST OF FIGURES
Figure No. Title Page
Figure 1.8: Gantt Chart 6
Figure 2.3.1: Existing System 1Money 10
Figure 2.3.2: Existing System Wallet 11
Figure 2.3.2: Existing System Expense Manager 12
Figure 2.2.1: Least Squares Method Formula 13
Figure 2.2.2: Least Squares Method Formula 13
Figure 2.2.3: Least Squares Method Formula 13
Figure 3.2: Agile Development Methodology 16
Figure 3.3: Framework 18
Figure 3.5.1: Context Diagram 20
Figure 3.5.2: Data Flow Diagram 21
Figure 3.5.3: ERD 22
ix
LIST OF ABBREVIATIONS
DFD Data Flow Diagarm
ERD Entity Relationship Diagram
LSM Least Squares Method
1
CHAPTER 1
INTRODUCTION
1.1 Introduction
Money management is a topic people of all age are used to hear. From an early age, the
subject money is introduced to toddlers in a way that they should really be mindful of
how they spend and saves up their money. Parents would literally prepare their child a
piggy bank so that their child would learn to save money. The reason for teaching their
child on how to save up money is very valid. It has been reported from The Star
newspaper dated 22 June 2015 that close to 25,000 Malaysians below the age of 35 have
become bankrupt since 2010. (Adzis et al, 2017)
Since then, saving money has been a lot easier with the evolving use of
technologies such as mobile devices that helps peole keep track of daily expenses. It
has been predicted that mobile devices will add up to 5.6 billion. (Wang et al, 2018)
Mobile devices has become more engaging for users because of the installation of
applications are now available. It has now may seem that an application has now taken
over the job of many daily things such as writing down on notebook as a reminder, a
planner, a tracker and many others. Therefore, it is best to intergrate mobile application
and tracking expenses together for the combination of money management application
that everyone needs.
2
1.2 Project Background
Mobile devices and applications are known to bring crucial additional benefits in terms
of usability for users which includes accessibility, portability and location awareness.
(Nayebi et al, 2012) As what most technology-literate would, an application with a
specified use of their daily life would be necessarily installed for the full extent of
convenience. Similarly, to other applications, an income tracking application would
bring more benefit when it comes to improving the lifestyle of users.
Thus, “Expense Tracker Mobile Application” is introduced as an application,
beneficial for users to handle their expense on a daily when they are reminded of it. It
comes in handy when users have trouble being consistent in tracking their expenses,
especially when they forget to note their expenses. (Thanapal et al, 2016) In this
application, users can identify expenses such as food bills, taxation, phone bills and
electricity bills. By inserting the bills into the application, users can balance out their
income and usage with the automated feature so that users do not have to calculate on
their own and end up miscalculating. (Thanapal et al, 2016) Tracking expenses when
done for personal matters, helps users to exercise organizing receipts and outline their
cash flows for budget drafting. (Corena & Ohtsuki, 2012) Thereafter, the least square
method is used to find the best prediction of monthly budget.
3
1.3 Problem Statement
Keeping track of expenses these days is not an easy job for people with busy lifestyle.
Making sure each and every purchase is jotted is already a hassle but making sure the
right outcome of savings after being deducted with expenses is even harder. Therefore,
an easy solution for these issues is to find the right medium for users to maintain a better
expense tracking diary.
This mobile application is proposed to help users overcome the struggles they
have to endure when they do not track their expenses or track their expenses manually
or even have troubles with the current existing expense tracker that they are using.
The common issues that occurs when users track their expenses manually are
that, they tend to overspend and users will not know where their money go which will
consequently interfere with their future plans. But the problems with the existing
applications are the fact that some are not user friendly, outdated and does not solves
the users’ difficulties in planning their budget. When tracking expenses manually, users
tend to miscalculate their expenses to the point that their cash flow does not make sense.
Therefore, this proposed project will help users solve these issues.
1.4 Objectives
The objectives of this mobile application are proposed to solves the issues below:
• To study the limitations of the previous expense trackers and develop a more
dated system.
• To develop an improved system in terms of the system being user-friendly.
• To test the functionality of least square technique in an expense tracker.
4
1.5 Scope
The system is divided into two (2) scope which are admin and user. These scopes give
an overview of the functions of the system.
1. User:
- Log into application
- Input expenses daily and income monthly
- View expense report and budget
1.6 Limitation of Work
This project has potential limitations in terms of accessibility and system. For
the aspect of accessibility, the system is only limited for mobile application. Therefore,
users are incapable to access the system through web browser. This limitation is
something to look into moving forward. In terms of the system itself, since the method
being used is least square method, is that it is very sensitive to deviations. Hence, it
could drastically effect the outcome.
1.7 Expected Result
The expected result of the “Daily Expense Tracker Mobile Application” system
would be the improvement of the functionality, usability and real life problems. It is
expected to have a more user-friendly interface for the ease of users. The interface will
be easier for users to understand and less complicated. All the functionality of a digitally
automated financial diary will be inserted with the additional of a statistical graph for a
better expense planning.
5
1.8 Activities, Milestones (Gantt Chart)
A Gantt Chart of the following outline is made, in order to keep the development on
track:
Task Start Date
(Date-Month)
Days to Complete
(Days)
Title Discussion & Selection 21-Oct 14
Title Registration 8-Nov 1
Proposal Writing 10-Nov 53
Literature Review 11-Nov 7
Proposal Progress Presentation 26-Nov 1
Methodology 13-Dec 4
Model Prototype Development 15-Dec 5
Proposal Drafting 30-Dec 5
Preparation for Final Presentation
10-Jan 7
Final Proposal Presentation
17-Jan 1
Amending 17-Jan 7
Submission of Proposal Report 24-Jan 1
Table 1.8; Table Task Analysis
6
Month Oct Nov Dec Jan
Week 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Activities
Title Discussion & Selection
Title Registration
Proposal Writing
Literature Review
Proposal Progress Presentation
Methodology
Model Prototype Development
Proposal Drafting
Preparation for Final Presentation
Final Proposal Presentation
Submission of Proposal Report
Figure 1.8; Gantt Chart
7
1.9 Summary of the Chapter
The summary of this chapter includes the following items being covered:
• project background
• problem statement
• objectives
• project scope
• limitation of work
• expected results
• milestone
8
CHAPTER 2
LITERATURE REVIEW
2.1 Introduction
In this chapter, the technique proposed which is least square method is reviewed in the
previous articles written and similar systems are discussed.
2.2 Research Based on Article
A research based on articles were done to gain information on the technique used. The
articles are summarized as following;
Authors Title Objectives Method Result
Jiang, B. N.
A Least-
Squares
Approach to
Prediction The
Future Sales of
Pharmacy
-To determine
the future sales
of pharmacy for
year 2019,2020
and 2021 using
Least-Squares
Method
Least-Squares
Method
It seem that
LSM is
deemed to be
effective and
widely
utilized in
data fitting,
with the best
fit reducing
the residual
squared sum.
Jabeur, S. B.
Bankruptcy
prediction
using Partial
Least Squares
Logistic
Regression
To improve the
Logistic
Regression in the
presence of
highly correlated
data
Partial-Least-
Squares
Method
This study
demonstrated
that
the empirical
application of
the PLS
approach to
firms
belonging to
9
2.3 Research Based on Existing System
Some research based on existing system is required in order to build a system that is
equivalent to the standard of the system or even more reliable that the previous.
Therefore, three existing systems with similar objectives are reviewed.
various
activity areas
provides
good results.
Zhao, D.,
Ding, S. X.,
Karimi, H. R.,
Li, Y., &
Wang, Y.
On robust
Kalman filter
for two-
dimensional
uncertain linear
discrete
time-varying
systems: A
least squares
method
To investigate
the problem for
two-dimensional
uncertain linear
discrete time
varying system
with stochastic
noises.
Least-Squares
Method
The robust
2-D state
filter has been
obtained by
solving a
robust
regularized
least squares
problem
Table 2.2; Researched Based on Article
10
2.3.1 1Money
Figure 2.3.1; Existing System 1Money
The advantages and disadvantages on 1Money application are as follow:
Existing System Advantages Disadvantages
1Money - User can put different
values of budget on each
type of purchase
- Colourful interface
- Complex interface
- No prediction if user
might overspend
Table 2.3.1; Existing System 1Money
11
2.3.2 Wallet
Figure 2.3.2; Existing System Wallet
The advantages and disadvantages on Wallet application are as follow:
Existing System Advantages Disadvantages
Wallet : Personal
Finance, Budget &
Expense Tracker
- User-friendly interface
- User can insert different
budget for different time frame
- Has prediction whether user
will overspend based on
previous spendings
- Cannot manage
categories properly
Table 2.3.2; Existing System Wallet
12
2.3.3 Expense Manager
Figure 2.3.3; Existing System Expense Manager
The advantages and disadvantages on Expense Manager application are as follow:
Existing System Advantages Disadvantages
Expense Manager - User can insert different
budget for different time
frame
- User can put different
values on each type of
purchase
- Has estimation on the
amount for user to use to
stick to budget
- Initial balance, income
and expenses are not
separately categorised by
cash and bank transfer
Table 2.3.3; Existing System Expense Manager
13
2.4 Least Squares Method
The technique used for this project is least square method. This a method of finding the
best fit given to all the variable. In this project, the method is implemented to find a
suitable spending budget after calculating all the input of expenses. It helps to predict
the budget as it is one of the prediction techniques in data mining. Below figure includes
the formulas of least square method and the steps:
Step 1: For each (x,y) point calculate 𝑥2 and 𝑥𝑦
Step 2: Sum all x, y, 𝑥2 and 𝑥𝑦, which gives ∑𝑥 , ∑𝑦 , ∑𝑥2 𝑎𝑛𝑑 ∑𝑥𝑦
Step 3: Calculate Slope m:
Figure 2.2.1; Least Square Method Formula
(N is the number of points)
Step 4: Calculate Intercept b:
Figure 2.2.2; Least Square Method Formula
Step 5: Assemble the equation of the line
Figure 2.2.3; Least Square Method Formula
14
2.5 Summary of Chapter
As a conclusion, several articles and journals had been reviewed for a clearer
perspective of least square method to be implemented in the project. The method helps
in predicting a variable by using the best fit outcome. This shows that the method is
suitable in obtaining the objectives of the project.
15
CHAPTER 3
METHODOLOGY
3.1 Introduction
In this chapter, the methodology chosen will be discussed for the completion of the
whole project. This project will be implementing agile development methodology, as
this methodology is open for continuous repetition of processes. The repetition of
processes aspect of this methodology will bring great significance to the project for
constant amendment.
3.2 Project Methodology
Agile development is a user focused method that take into consideration of user’s stories
in building a system. It helps to make a system more user friendly in order to satisfy
user’s requirement. In addition to its biggest perks as to being able to continuously
improve, it gives the system the opportunity to adapt to continual changes a system has
to undergo in the ongoing changes and upgrades of technologies. The phases of this
methodology are as mentioned below:
1. Requirements gathering
2. Design
3. Development
4. Testing
5. Deployment
16
Figure 3.2; Agile Development Methodology
3.2.1 Requirements Gathering
The requirements of the built up of an expense and income tracker are gathered.
Reports and articles of previous expense and income tracker are reviewed in
order to understand and gather the needed requirements. In this phase, technical
and usability of previous systems are evaluated to achieve needed information.
3.2.2 Designing Requirements
The gathered requirements from the requirements gathering phase are used in
order to identify and to proceed to the designing requirements phase. This phase
is concluded with diagrams being made such as context diagram, data flow
diagram and activity diagram. The diagrams are made to enlighten the whole
system as to how the workflow of the system works.
17
3.2.3 Development
The development of the system begins in this phase. The system will constantly
undergo numerous changes considering that the system is still at its beginning
phase of development.
3.2.4 Testing
In this phase, the development of the system is at its final stage after the product
of the system has go through a quality assurance test to ensure the system is
performing as it should be.
3.2.5 Deployment
Lastly, in the deployment phase, the system should be performing in a great
condition given that the system has been tested and is expected to ready by the
end of the last presentation.
3.3 Framework
The framework of the Daily Expense Tracker application helps to explain the
functionality of the system. It starts off with users managing their account by inserting
the personal data such as username, email and password. Later on, user will have to
insert their income, expenses and budget in order for the system to operate functionally.
The inserted data will be saved into the database. As per stated of the system,
the data will be manipulated to produce a prediction of the monthly budget for user to
keep track of. This outcome is achieved by implying Least Square Method. It is a
method for finding the best fit line which in this case is found by using date and
18
expenses. For instance, user insert RM 500 as their budget for the month and by
inserting their daily expenses, the method will predict whether the budget entered is
achievable according to the spendings done in the last few days.
Figure 3.3; Framework
3.4 Hardware and Software Requirements
Throughout the process of developing the application, software and hardware
requirements as below are used:
3.4.1 Hardware
Hardware requirement as to develop the application are:
I. Laptop: Asus X441U
19
• Processor: Intel Core I3-6100U,
• Memory: 4GB Ram
• Storage: 1TB SSD+1Tb HDD
• Operating System: Windows 10 Home Single Language
II. Android Mobile Phone: OPPO A93
• Android 10
• Used to run, test and deploy application
3.4.2 Software
Software requirement as to develop this system are:
I. Xampp
II. MySQl
III. Andriod Studio
IV. Cordova
3.5 System Design
The system design is explained through diagrams such as Framework Diagram, Context
Diagram (CD), Data Flow Diagram and Entity Relationship Diagram (ERD).
20
3.5.1 Context Diagram
The context diagram below shows the boundary of the system and its environment. It
helps to understand the system at a high level view. The diagram shows that for the user
entity, user can register, login, insert income and insert expenses. For outgoing flows,
it shows that the system will then display the predicted outcome of budget and expense
report.
Figure 3.5.1; Context Diagram
21
3.5.2 Data Flow Diagram (DFD) Level 0
The DFD helps represent the system. For Daily Expense Tracker, DFD shows that the
system has one entity which is user. The processes include register, login, manage
income, manage expense and produce report. As for data store, there are two data
store whis user’s information and funds transfer.
Figure 3.5.2; Data Flow Diagram
22
3.5.3 Entity Relationship Diagram (ERD)
Entity Realationship Diagram or ERD is a diagram that helps visualize the structure of
the database of the system. For the figure below, shows the structure of database for the
Daily Expense Tracker application. There are user, income, expense and report as
entities. The entities have its own attributes that helps the entites to be related to each
other.
Figure 3.5.3; ERD
23
3.6 Database Design
The database design of Expense Tracker application is based of the database of the
system, expenseDB which include the tables, User, Expense, Income, and Report.
Name Type Null Comment
email Varchar(30) Not Null Primary Key
username Varchar(30) Not Null
password Varchar(30) Not Null
Table 3.6.1; User Table
The table shown above is the user table. The table is used to store the user’s detail when
registering to the application. The details include email, password and username.
Name Type Null Comment
expense_date Date Not Null Primary Key
expense int Not Null
email Varchar(30) Not Null Foreign Key
Table 3.6.2; Expense Table
The table above is the expense table. The table consist of expense_date for primary
key, email from the user table as foreign key and expense.
Name Type Null Comment
income_date Date Not Null Primary Key
income int Not Null
email Varchar(30) Not Null Foreign Key
Table 3.6.3; Income Table
The table above is the income table. The table consist of income_date for primary key,
email from the user table as foreign key and income.
24
Name Type Null Comment
remainingFund_date Date Not Null Primary Key
expense int Not Null Foreign Key
income int Not Null Foreign Key
remainingFund int Not Null
Table 3.6.4; Report Table
The table shown above is the report table. The table has remainigFund_date for
primary key, expense from the expense table and income from income table as foreign
key and remainingFund.
3.7 Summary of Chapter
In conclusion, this chapter discussed the methodology used for this research is agile
development methodology and the hardware and software requirements required. Lastly
the diagrams included are contet diagram, data flow diagram and entity relationship
diagram. These diagrams are included for a better understanding of the flow of the
system.
25
REFERENCES
Abazid, M., & Alkoud, D. A LEAST-SQUARES APPROACH TO PREDICTION
THE FUTURE SALES OF PHARMACY.
Adzis, A. A., Bakar, J. A., & Shahar, H. K. (2017). Factors influencing young adults’
debt in Malaysia. Journal of Business and Retail Management Research, 12(1).
Chandini, S., Poojitha, T., Ranjith, D., Akram, V. M., Vani, M. S., & Rajyalakshmi,
V. (2019). Online Income and Expense Tracker.
Corena, J. C., & Ohtsuki, T. (2012). Secure and fast aggregation of financial data in
cloud-based expense tracking applications. Journal of Network and Systems
Management, 20(4), 534-560.
Jabeur, S. B. (2017). Bankruptcy prediction using partial least squares logistic
regression. Journal of Retailing and Consumer Services, 36, 197-202.
Jahan, N. Z., & Vinodhini, K. I. (2016, April). Personalized Expense Managing
Assistant Using Android. Retrieved from http://oaji.net/articles/2017/1948-
1513926576.pdf
Jiang, B. N. (1998). On the least-squares method. Computer methods in applied
mechanics and engineering, 152(1-2), 239-257.
Kolhe, V., Basu, B., Shah, V., & Ostwal, A. (2020, February). My Expenses.
Retrieved from https://www.irjet.net/archives/V7/i2/IRJET-V712224.pdf
Lukas, H. L., Henig, E. T., & Zimmermann, B. (1977). Optimization of phase
diagrams by a least squares method using simultaneously different types of
data. Calphad, 1(3), 225-236.
Nayebi, F., Desharnais, J. M., & Abran, A. (2012, April). The state of the art of
mobile application usability evaluation. In 2012 25th IEEE Canadian
Conference on Electrical and Computer Engineering (CCECE) (pp. 1-4).
IEEE.
Sabab, S. A., Islam, S. S., Rana, M. J., & Hossain, M. (2018, September). eExpense:
A smart approach to track everyday expense. In 2018 4th International
Conference on Electrical Engineering and Information & Communication
Technology (iCEEiCT) (pp. 136-141). IEEE.
Thanapal, M. P., Patel, Y., Lokesh, R. T. P., & Satheesh, K. J. (2015). Income and
expense tracker. Indian Journal of Science and Technology, 8(S2), 118-122.
26
Velmurugan, A., Mayan, J. A., Niranjana, P., & Francis, R. (2020, December).
Expense Manager Application. In Journal of Physics: Conference Series (Vol.
1712, No. 1, p. 012039). IOP Publishing.
Wang, J., Cao, B., Yu, P., Sun, L., Bao, W., & Zhu, X. (2018, July). Deep learning
towards mobile applications. In 2018 IEEE 38th International Conference on
Distributed Computing Systems (ICDCS) (pp. 1385-1393). IEEE.
Zhang, D., & Adipat, B. (2005). Challenges, methodologies, and issues in the usability
testing of mobile applications. International journal of human-computer
interaction, 18(3), 293-308.
Zhao, D., Ding, S. X., Karimi, H. R., Li, Y., & Wang, Y. (2019). On robust Kalman
filter for two-dimensional uncertain linear discrete time-varying systems: A
least squares method. Automatica, 99, 203-212.