You are on page 1of 40

A Minor Project Report on

PERSONAL EXPENSE TRACKER

Submitted in partial fulfillment of the requirements for the degree of


Bachelor of Engineering in Software Engineering at Pokhara University

By
MANOJ PANDEY
SHANKAR ACHARYA
SURYA MAN SHRESTHA

Department of Research and Development


GANDAKI COLLEGE OF ENGINEERING AND SCIENCE
Lamachaur, Kaski, Nepal

(December, 2016)
A Minor Project Report on

PERSONAL EXPENSE TRACKER

Submitted in partial fulfillment of the requirements for the degree of


Bachelor of Engineering in Software Engineering at Pokhara University

By
MANOJ PANDEY
SHANKAR ACHARYA
SURYA MAN SHRESTHA

Supervisor
DILIP K SHRESTHA

Department of Research and Development


GANDAKI COLLEGE OF ENGINEERING AND SCIENCE
Lamachaur, Kaski, Nepal

(December, 2016)
ACKNOWLEDGEMENT

We would like to express our deepest appreciation to all those who


provided us the possibility to complete this project. A special gratitude to
our project supervisor, Er. Dilip Kumar Shrestha, whose contribution in
stimulating suggestions and encouragement, helped us to coordinate our
project. We express our profound gratitude to the principal Mr. Rabi Prasad
Baral and the vice principal Mr. Ashok Raj Parajuli for inspiring and
supporting us during the entire project. A special thanks goes to our friend
Mr. Saurav Raj Upadhaya for helping in the making of App Logo and Mr.
Hari Lamichhane for giving valuable suggestions for our project. Last but
not least, many thanks goes to Er. Sujan Tamrakar, HOD, Department of
Research and Development, for his continuous encouragement and support
throughout the project. We have to appreciate the guidance given by other
supervisors in our project that have helped to improve our skills, thanks to
their comment and advices.

Furthermore, we wish to express our heartfelt gratitude to our families,


parents and friends, who have always served as the strongest source of
inspiration in all our ventures we have undertaken.

Manoj Pandey
Shankar Acharya
Surya Man Shrestha

Gandaki College of Engineering and Science


Lamachaur, Kaski, Nepal

i
ABSTRACT

Personal Expense Tracker (PET) is a daily expense management system


which is specially designed for non- salaried and salaried personnel for
keeping track of their daily expenditure with easy and effective way
through computerized system which tends to eliminate manual paper
works. It will also manage records in systematic way and user can access
the stored data conveniently.

We have tried to design the project in such way that user may not have any
difficulty in using this application without much effort. This software can
be really used by end user who have Android running devices with them.
The language that we use to develop this system is Java and SQLite for
database.

ii
TABLE OF CONTENTS
ACKNOWLEDGEMENT ........................................................................ i

ABSTRACT............................................................................................... ii

LIST OF FIGURES .................................................................................. v

LIST OF TABLE .................................................................................... vii

LIST OF SYMBOLS AND ABBREVIATIONS.................................viii

Chapter 1 INTRODUCTION .................................................................. 1

1.1 Background ........................................................................................... 1

1.2 Problem Statement ................................................................................ 1

1.3 Objectives ............................................................................................. 2

1.4 Implication ............................................................................................ 2

Chapter 2 LITERATURE REVIEW ...................................................... 4

Chapter 3 TOOLS AND METHODOLOGY ........................................ 5

3.1 Required Tools...................................................................................... 5

3.2 Approach Used ..................................................................................... 5

3.3 Design ................................................................................................... 6

3.3.1 Use Case Diagram ..................................................................... 7

iii
3.3.2 System Sequence Diagram (SSD) ........................................... 14

3.3.3 Entity Relationship Diagram (ERD) ....................................... 15

3.3.4 Sequence Diagram ................................................................... 16

3.3.5 Design Class Diagram (DCD) ................................................. 20

Chapter 4 TESTING .............................................................................. 21

4.1 Objective of Testing ........................................................................... 21

4.2 Test cases ............................................................................................ 21

Chapter 5 RESULTS AND DISCUSSIONS ........................................ 23

5.1 Limitations .......................................................................................... 23

5.2 Future Research and Recommendation .............................................. 23

CONCLUSION ....................................................................................... 24

BIBILOGRAPHY ................................................................................... 25

APPENDIX I USER INTERFACE ....................................................... 26

iv
LIST OF FIGURES

Figure 3. 1. Block Diagram...................................................................... 6

Figure 3. 2. Use Case Diagram for Personal Expense Tracker .......... 7

Figure 3. 3. System Sequence Diagram (SSD) ................................... 14

Figure 3. 4. Entity Relationship Diagram .......................................... 15

Figure 3. 5. Sequence Diagram of SignUp.......................................... 16

Figure 3. 6. Sequence Diagram of SignIn ........................................... 16

Figure 3. 7. Sequence Diagram of Expense ........................................ 17

Figure 3. 8. Sequence Diagram of Fund ............................................. 18

Figure 3. 9. Sequence Diagram of Wishlist ........................................ 19

Figure 3. 10. Sequence Diagram of Report ........................................ 19

Figure 3. 11. Design Class Diagram ..................................................... 20

Figure i. Sign Up Screen for Personal Expense Tracker (PET) ....... 26

Figure ii. Sign In Screen for Personal Expense Tracker (PET) ....... 27

Figure iii. Home Screen for Personal Expense Tracker (PET) ........ 27

Figure iv. Navigation Drawer ............................................................... 28

Figure v. Expense and Income Category ............................................ 28

v
Figure vi. Expense and Fund Form Layout ........................................ 29

Figure vii. Wishlist and Wishlist Form Layout.................................. 29

Figure viii. Report Layout ..................................................................... 30

Figure ix. Setting and Change Password Layout ............................... 30

vi
LIST OF TABLE

Table 2. 1. Comparison Table ................................................................. 4

Table 4. 1 Table of Test Cases for SignUp........................................... 22

vii
LIST OF SYMBOLS AND ABBREVIATIONS

PET : Personal Expense Tracker

SSD : System Sequence Diagram

ERD : Entity Relationship Diagram

DCD : Design Class Diagram

XML : eXtensible Markup Language

viii
Chapter 1
INTRODUCTION
1.1 BACKGROUND

In life cycle of human after birth the need of materials and belongings is
obvious. In order to fulfill our needs and desire we buy goods. The rule of
earth is that you must have money in order to buy desired good. So in this
way the process of earning and spending goes on in our life.

People in order to track their expenses use traditional paper system to keep
the record of their income and expenditures. This type of traditional system
is burdensome and takes more time. So there must be a management system
which must help us to manage our daily earnings and expenses easily, and
also helps us to analyze records efficiently. So we figured out a way to
eliminate the traditional system with digital, portable, easier and simple
way to record these data in just few clicks with our Android application
called “Personal Expense Tracker (PET)”.

1.2 PROBLEM STATEMENT

Many organizations have their own system to record their income and
expenses, which they feel is the main key point of their business progress.
It is good habit for a person to record daily expenses and earning but due
to unawareness and lack of proper applications to suit their privacy, lacking
decision making capacity people are using traditional note keeping
methods to do so. Due to lack of a complete tracking system, there is a

1
constant overload to rely on the daily entry of the expenditure and total
estimation till the end of the month.

1.3 OBJECTIVES

The aim and objective of the project is to fully manage and keep tracking
the daily expenditure. The following is the benefits that come with the
Personal Expense Tracker (PET):

 Minimize manual effort with daily record of expenditures and


incomes.
 Immediate and easy retrieval of report.
 Secured and transparent data.
 Graphical overview of transactions.
 Help in decision making with related results.
 Help in preparing wish list for pre planning your expenses.

1.4 IMPLICATION

Understanding our spending habit is a challenging work unless we keep the


proper record of each and every transaction we perform. Personal Expense
Tracker (PET) is a way to analyze our spending habit on certain time
interval.

PET is the easiest and most user friendly personal finance Android
application. The system attempts to free the user with as much as possible
the burden of manual calculation and to keep the track of the expenditure.
Instead of keeping a dairy or a log of the expenses on the smartphones or

2
laptops, this system enables the user to not just keep the track on the
expenses but also to plan ahead keeping the past budget in mind. The
simple fact is, by tracking our expenses we will be able to stick to a budget
and therefore save money.

3
Chapter 2
LITERATURE REVIEW

We found various similar product that have already been developed in the
market. Unlike all those products Personal Expense Tracker (PET)
provides security and graphical results. We provide the users to enter their
wish-list before any purchase. It generates notification to notify user about
their timely entry.

In order to complete our task, we used Android platform to build a portable,


handy product that can run in Android phone. We used Android studio to
build our application. The major language we used for scripting was Java
and XML for producing better layout. We used SQLite to implement
database. On comparing our project with other similar applications we
came to conclude with the following:

Apps Expense Manager Hello Expense by Personal Expense


by Bishinews Alan L Tracker
Features
Ease of Use Medium Low High
Backup/Restore Yes Yes No
Expense/Income Yes Yes Yes
Wish List Yes No Yes
Decision Making No No Yes
Notification Yes No Yes
Focus Group Personal Finance & Business Personal
Password Protected No No Yes
Detailed Report No No Yes

Table 2. 1. Comparison Table


4
Chapter 3
TOOLS AND METHODOLOGY
3.1 REQUIRED TOOLS

During the development of the system, we required various tools essential


for the project. Our projected could not have been completed without these
tools. Here are some list of tools used in the project.

a. Notepad++ Text Editor: For basic text editing


b. Android Studio: For application development
c. Inkscape: For generating icons
d. Adobe Photoshop: For generating assets
e. Ms-Word: For preparing report
f. Ms-Visio: For UML diagrams
g. Ms-Excel: For Gantt chart

3.2 APPROACH USED

Having a proper track to our expenses helps us to organize our finance


which is actually a very difficult task. Looking through our expenses at
regular interval allow us to review our spending habit.

Writing records of our expense in paper is a traditional way. In the world


driven by technology, it is not a right measure or choice indeed. It is
difficult to relate our present expenses with past when data need to be
reviewed and it is even not secure.

5
So with this particular application Personal Expense Tracker, we have tried
to feature several concepts that the user can fully track all of his/her
expense as compared to present system in practice. Personal Expense
Tracker is a technology driven approach where user have to log in to track
their spending and earnings.

3.3 DESIGN

Figure 3. 1. Block Diagram

Upon using this application user are provided with three options for data
entry namely – Income, Expense and wish list. If he/she selects income or
expense he/she would be provided with its types and subtypes. For wish
list only items can be inserted. These data would be saved onto database
according to their respective category.

The saved data can later be altered if the user wants to do so. Altering here
means adding description, changing wish list updating data etc. User can
also view the result. They can also filter result to see the required content
only.

6
3.3.1 USE CASE DIAGRAM

Figure 3. 2. Use Case Diagram for Personal Expense Tracker

Personal Expense Tracker (PET) lets you have your privacy, you must
login to open this application. Users are authenticated upon each entry so
that they can enter their expenses and income which will be recorded by
the system. System generates meaningful output form entered data.

7
Use Case UC1: Login

Primary Actor: User

Secondary Actor: System

Stakeholders:

User: Wants to update transaction.

Preconditions: User must login.

Post conditions: Transaction is saved.

Basic flow:

- User login to system using password.


- User selects appropriate option from the menu.

Alternate flow:

- At any time, user enters a wrong password then system notifies.


- User can select the option forgot password.

Use Case UC2: Enter Fund

Primary Actor: User

Secondary Actor: System

8
Stakeholders:

User: Wants to save budget amount in fund category.

Preconditions: User have been logged in.

Post conditions: New fund is saved.

Basic flow:

- User selects category.


- Budget amount is updated.

Alternate flow:

- At any time, system fails, system regains previous status.


- System displays the error.

Use Case UC3: Enter Expense

Primary Actor: User

Secondary Actor: System

Stakeholders:

Preconditions: User have been logged in.

Post conditions: New expense is saved.

9
Basic flow:

- User selects category.


- Expense amount is updated.

Alternate flow:

- At any time, system fails, system regains previous status.


- System displays the error.

Use Case UC4: View Report

Primary Actor: User

Secondary Actor: System

Stakeholders:

Preconditions: User have been logged in.

Post conditions: User gets informed about the transactions.

Basic flow:

- User selects category and time frame.


- Selected result is displayed.

Alternate flow:

- At any time, system fails, system regains previous status.


- System displays the error.

10
Use Case UC5: Make Wishlist

Primary Actor: User

Secondary Actor: System

Stakeholders:

Preconditions: User have been logged in.

Post conditions: New wishlist item is saved.

Basic flow:

- User adds wishlist items with approximate amount.


- The targeted amount is shown.

Alternate flow:

- At any time, system fails, system regains previous status.


- System displays the error.

Use Case UC6: Authentication

Primary Actor: System

Stakeholders:

User: Wants to use service.

Preconditions: User login to system.

11
Post conditions: Password is verified and authorized user is given access
to system.

Basic flow:

- User login to system using password.


- System checks password and authorized user can access service.

Alternate flow:

- At any time, system fails, system logs the error.


- Error message is displayed.

Use Case UC7: Save Data

Primary Actor: System

Preconditions: Transactions are provided.

Post conditions: Display saved message.

Basic flow:

- The user enters the transaction amount with category.


- System saves the amount to the category and display saved message.

Alternate flow:

- At any time, system fails, system regains previous status.


- Error message is displayed.

12
Use Case UC8: Prepare Report

Primary Actor: System

Preconditions: Transactions are provided.

Post conditions: Display the report graphically.

Basic flow:

- The user selects the result category.


- System prepares report.
- Display prepared report graphically.

Alternate flow:

- At any time, system fails, system regains previous status.


- Error message is displayed.

Use Case UC9: Notify User

Primary Actor: System

Preconditions: Notify user setting must be enabled.

Post conditions: Alert message is displayed.

Basic flow:

- System generates notification message.


- Display message in notification bar.

13
Alternate flow:

- At any time, system fails, system regains previous status.


- Error message is displayed.

3.3.2 SYSTEM SEQUENCE DIAGRAM (SSD)

Figure 3. 3. System Sequence Diagram (SSD)

14
User logins and the system validates to checks for the right user. After login
process is completed users can enter their expense, which is recorded by
system under right category. Multiple data can be saved by users. The same
process applies for income. Upon successful data save system assures users
about the action. User can also save their wish list and do have right to
modify them in future if necessary.

3.3.3 ENTITY RELATIONSHIP DIAGRAM (ERD)

Figure 3. 4. Entity Relationship Diagram

15
3.3.4 SEQUENCE DIAGRAM

Figure 3. 5. Sequence Diagram of SignUp

Figure 3. 6. Sequence Diagram of SignIn

16
Figure 3. 7. Sequence Diagram of Expense

17
Figure 3. 8. Sequence Diagram of Fund

18
Figure 3. 9. Sequence Diagram of Wishlist

Figure 3. 10. Sequence Diagram of Report

19
3.3.5 DESIGN CLASS DIAGRAM (DCD)

Figure 3. 11. Design Class Diagram

20
Chapter 4
TESTING

Software testing is a critical element of software quality assurance and


represents the ultimate review of specification, design and code generation.

4.1 OBJECTIVE OF TESTING

 Testing is a process of executing a program with the intent of finding


an error.
 A good test case is one that has a high probability of finding an as-
yet undiscovered error.
 A successful test is one that uncovers an as-yet-discovered error.

4.2 TEST CASES

Test
Purpose Test Cases Result
Case ID
User name with length User name cannot be
TC1 Authentication
less than 2 characters less than 2 characters
Valid user name with
TC2 Authentication User name accepted
minimum 2 characters
User name cannot be
TC3 Authentication User name left blank
less than 2 characters
Password field left Password cannot be
TC4 Authentication
blank empty

21
Test
Purpose Test Cases Result
Case ID
Password with length Password cannot be
TC5 Authentication
less than 4 characters less than 4 characters
Minimum 4 characters
TC6 Authentication Password accepted
valid password
Password and Confirm
Please enter same
TC7 Authentication Password did not
password
match
Confirm Password Please enter same
TC8 Authentication
field left blank password
Security question with Security question
TC9 length less than 3 cannot be less than 3
Authentication characters characters

Table 4. 1 Table of Test Cases for SignUp

22
Chapter 5
RESULTS AND DISCUSSIONS

First of all, we gained additional skills in the Java programming language.


We also learned how to use a lot of the components in Android Studio such
as the debugger. We also learned XML, a language we didn't know at all
earlier. Finally, this project allowed us to use SQLite skills acquired during
our studies. We have been able to complete our project according to our
plan in the given timeline.

5.1 LIMITATIONS

The project assists well to record the income and expenses in general.
However, this project has some limitations:

 The application is unable to maintain the backup of data once it is


uninstalled.
 This application does not provide higher decision capability.

5.2 FUTURE RESEARCH AND RECOMMENDATION

To further enhance the capability of this application, we recommend the


following features to be incorporated into the system:

 Nepali language interface.


 Provide backup and recovery of data.
 Provide better user interface for user.

23
CONCLUSION

From this project, we are able to manage and keep tracking the daily
expenses as well as income. While making this project, we gained a lot of
experience of working as a team. We discovered various predicted and
unpredicted problems and we enjoyed a lot solving them as a team. We
adopted things like video tutorials, text tutorials, internet and learning
materials to make our project complete. Furthermore, now we know much
more about the Android platform, java language and the SQLite query.

24
BIBILOGRAPHY

Creating Gantt Charts. (2016). Retrieved 09 02, 2016, from Gantt Charts
Web site: http://www.gantt.com/creating-gantt-charts.htm

Entity Relationship . (2016). Retrieved 09 02, 2016, from Creately Web


site: https://creately.com/app/#

Fowler, M. (2004). UML Distilled Third Edition A Brief Guide To The


Standard Object Modelling Language. Addison-Wesely. Retrieved
12 14, 2016

Krutchten, P. (2000). The Rational Unified Process An Introduction


Second Edition. Addison-Wesely. Retrieved 12 13, 2016

Larman, C. (2008). Applying UML and Patterns. Pearson Education, Inc.


Retrieved 08 28, 2016

UML-Diagram. (2016). Retrieved 12 16, 2016, from UML-Diagram


Website: http://www.uml-diagrams.org/class-diagrams-
examples.html

25
APPENDIX I
USER INTERFACE

Figure i. Sign Up Screen for Personal Expense Tracker (PET)

26
Figure ii. Sign In Screen for Personal Expense Tracker (PET)

Figure iii. Home Screen for Personal Expense Tracker (PET)

27
Figure iv. Navigation Drawer

Figure v. Expense and Income Category

28
Figure vi. Expense and Fund Form Layout

Figure vii. Wishlist and Wishlist Form Layout

29
Figure viii. Report Layout

Figure ix. Setting and Change Password Layout

30

You might also like