Tribhuvan University Institute of Engineering

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 25

TRIBHUVAN UNIVERSITY

INSTITUTE OF ENGINEERING

Kathmandu Engineering College


Department of Computer Engineering

CERTIFICATE

The undersigned certify that they have read and recommended to the Department of
Computer Engineering, a minor project work entitled “MERO WALLET” submitted
by Nation Shakya – 73045, Rabin Thapa – 73055, Sanil Manandhar – 73069, Saurav
Munankarmi – 73072 in partial fulfillment of the requirements for the degree of
Bachelor of Engineering.

_____________________________
Er. Ajay Shrestha
(External Examiner)

_____________________________ ______________________
Er. Sapna Thakulla Er. Sudeep Shakya
(Project Coordinator) (Head of Department)
Department of Electronics and Department of Electronics and
Computer Engineering. Computer Engineering.
Kathmandu Engineering College Kathmandu Engineering College

iii
ACKNOWLEDGEMENT

First of all, we are grateful to our teachers for providing us the opportunity to develop
our minor project. We would like to thank the Department of Computer
Engineering for helping us in this report. We would also like to thank the faculty
members Head of Department of Computer Engineering, Er. Sudeep Shakya and
Deputy Head of Department of Computer Engineering, Er. Kunjan Amatya for
providing us the required guidance that we need for this project. We are extremely
indebted to Er. Sapna Thakulla for the necessary templates and docs which has
helped us a lot in the completion of our project.

We would also like to thank all our friends and family for the assistance they provided
during this report. We hope all their help and support can result in a project that all of
us can be proud of and can inherit many new skills in the field of programming.
Finally, we would like to give our sincere gratitude towards anyone who helped us
directly or indirectly to finalize this report.

iv
ABSTRACT

“Mero Wallet” is an expense tracking app which provides a platform to record the
user’s day to day transactions and provide a statistical report of their expense using
graphical charts and bars. This application helps the user to manage his/her budget
and control the money flow from their wallet. The major aim of this app is to aware
people of their budget expenses and help them track each and every transactions. It
helps them in savings and keep record of each transaction. The user can then review
the statistical details from the records and manage their finance. The diagrams such as
pie chart and line chart helps the user to get a better understanding of the different
expense categories in which he/she has spent the budget. “Mero Wallet” helps to set
a budget limit for the user according to their requirement and manage their expense
according to the provided budget. Data analysis is carried out so that users can get
notified when the expense on a certain category is about to meet the expense made in
the same category in the previous month. All of the user’s information such as
username, expense made, budget, and previous records are stored in a database. When
user logs into the app, all of the information is retrieved from the database to run the
app.

Keywords: Budget, database, expense, finance, tracker, transaction.

v
TABLE OF CONTENTS

ACKNOWLEDGEMENT............................................................................................iv

ABSTRACT...................................................................................................................v

LIST OF FIGURES....................................................................................................viii

LIST OF ABBREVIATIONS.......................................................................................ix

CHAPTER ONE: INTRODUCTION............................................................................1

1.1 BACKGROUND THEORY................................................................................1

1.2 PROBLEM STATEMENT..................................................................................1

1.3 OBJECTIVES......................................................................................................2

1.4 SCOPE OF THE PROJECT.................................................................................2

1.5 APPLICATIONS.................................................................................................2

CHAPTER TWO: LITERATURE REVIEW................................................................3

2.1 Existing Applications and Their Problems..........................................................3

2.1.1 Expensify (2008 A.D)...................................................................................3

2.1.2 Wallet (2011 A.D).........................................................................................3

2.1.3 Kharcha Kitab (2016 A.D)............................................................................4

2.2 Solutions That Our App Provides........................................................................4

CHAPTER THREE: METHODOLOGY......................................................................5

3.1 PROCESS MODEL.............................................................................................5

3.2 TOOLS USED.....................................................................................................6

3.2.1 Android.........................................................................................................6

vi
3.2.2 Android Studio..............................................................................................6

3.2.3 Java................................................................................................................7

3.2.4 SQLite...........................................................................................................7

3.3 BLOCK DIAGRAM............................................................................................8

3.4 ALGORITHM......................................................................................................9

3.5 FLOWCHART...................................................................................................11

3.6 CLASS DIAGRAM...........................................................................................12

3.7 ENTITY RELATIONSHIP DIAGRAM............................................................13

3.8 DATA FLOW DIAGRAM................................................................................13

3.8.1 Level 0 DFD................................................................................................13

3.8.2 Level 1 DFD................................................................................................14

3.9 USE CASE DIAGRAM.....................................................................................15

CHAPTER FOUR: EPILOGUE..................................................................................16

4.1 RESULTS AND CONCLUSION......................................................................16

4.2 FUTURE ENHANCEMENT.............................................................................16

SCREENSHOTS......................................................................................................17

References....................................................................................................................18

vii
LIST OF FIGURES

Figure 2.1 Expensify Screenshot

Figure 2.2 Wallet Screenshot

Figure 2.3 Kharcha Kitab

Figure 3.1 Prototyping Model

Figure 3.2 Block Diagram

Figure 3.3 Flowchart

Figure 3.4 Class Diagram

Figure 3.5 Entity Relationship Diagram

Figure 3.6 Level 0 DFD

Figure 3.7 Level 1 DFD

Figure 3.8 Use Case Diagram

Figure 3.9 Gantt chart

viii
LIST OF ABBREVIATIONS

A.D: Anno Domini

GUI: Graphical User Interface

iOS: iPhone Operating System

IT: Information Technology

NDK: Native Development Kit

OS: Operating System

POP: Prototyping on Paper

RDBMS: Relational Database Management System

SQL: Structured Query Language

UI: User Interface

ix
CHAPTER ONE: INTRODUCTION

1.1 BACKGROUND THEORY

Generally, people in Nepal do not keep track of their expenses and do not have any
proper management regarding their budget and savings. In the current age when
inflation is a major issue, the need for an expense tracking app has never been more
important. It really is important to keep track of how one spends his/her money.
Tracking expenses creates financial awareness. It also helps identify spending issues.
So especially in the context of Nepal where people are generally unaware of their
expense tracking, such application might play a huge role in the budget management
of the individual. Drawing upon our interviews, we identify a number of opportunities
and challenges for general people to use expense tracking app for their expense
management.

An expense tracker helps people to keep track of daily, weekly and monthly expenses
which helps them to keep track of all of their transactions and expenses. It helps
people to stay under their feasible budget and control their expense. An expense
tracker helps a lot when it comes to savings. Hence arises the need of an expense
tracker in the day to day expenses that we all do.

1.2 PROBLEM STATEMENT

Expenses are a daily part of one’s life. Everyone goes through some kind of expense
daily no matter what type of transaction it is. But generally people here don’t really
focus on recording their small transactions and only focus on the comparatively
bigger ones. Even if one does record their expenses, they use a pen, paper and manual
calculations which is an erroneous and tiresome way for recording any expense data
which might discourage anyone. In addition to this, most people also do not have any
idea regarding their savings and their feasible budget.

Keeping all of these things in mind, we decided to develop an application which


keeps track of user’s expense data and help them track their budget allowing them to
manage their finances electronically.

1
1.3 OBJECTIVES

 To create a platform that records the user’s day to day transactions with details
like date, amount, picture of the receipt etc.
 To make people realize the importance of budget tracking.

1.4 SCOPE OF THE PROJECT

Currently there are not many specific apps that provide detailed recordings of
transactions. Unlike in developed countries where people track their each expenses, it
is not a popular idea here in Nepal.

The scope of this app is primarily focused for the Nepalese society where the concept
of keeping track of expenses is not quite well established. But with proper awareness
among the people, this app will definitely be used as a daily priority app. There might
be many other expense tracking apps in the market but people will be encouraged to
use our app as it is relatively simple and has a user friendly UI for the starting users..

1.5 APPLICATIONS

The applications of our project are listed below:

 To act as a system to record user’s transaction.


 To help users to analyze their expenses.
 To provide weekly report on the user’s expenses.
 To represent the expense categories graphically using pie charts.

2
CHAPTER TWO: LITERATURE REVIEW

Nowadays it is hard to imagine people tracking their expenses manually on a paper.


An expense tracker increases the efficiency and reliability on budget tracking by
multiple time for the user. It is time efficient and much faster way to perform such
action with least mathematical errors. In fact, people here in Nepal don’t believe in
tracking each of their transactions and don’t consider it as a priority. In the age of
digitalization, people no longer keep physical record of their expenses manually. Ever
since expense tracking has been introduced, people tend to store their transaction
records digitally.

2.1 Existing Applications and Their Problems

2.1.1 Expensify (2008 A.D)

In present day there are many apps which helps users to track their transaction
records. “Expensify” is one of the most popular apps among many expense tracking
apps in the market. Launched in 2008 A.D[CITATION Placeholder1 \l 1033 ], this
application might not be popular in the Nepalese society but it is used widely in
foreign countries. This app automatically submits an expense report to the user after
the user has uploaded a picture of the receipt in the software using smart scan feature.
The free version of this application only allows 5 receipts scan per month which is not
feasible. For the unlimited scan access, the user needs a monthly subscription to the
app which requires some payment and hence is not free.

2.1.2 Wallet (2011 A.D)


“Wallet” is also an expense tracking application released in 2011 AD. It only focuses
on manual data input by the user and shows the data graphically using graphs and
charts but doesn’t support the smart scan feature.. This app have features like savings
plans and can be synced with a banking application. Furthermore there are features
like debts, goals, shopping list etc. which might be sophisticated and not suitable for
the people where the concept of digital expense tracking is not common. Such apps
are widely available in the market and are free to use. The problem with these apps in
the context of the Nepalese society is that the some of the features such as bank
syncing and card import is not available in Nepal and so has geographical limitations.

3
2.1.3 Kharcha Kitab (2016 A.D)

The main inspiration for our application is “Kharcha Kitab”. It is an android


application released in 2016 by a company called Impact IT[ CITATION Kha16 \l
1033 ]. It is a household application that will manage your daily expenses and income.
One of the highlighting feature of this application is that we can track the money
given or taken from a friend. The application links our user profiles through Facebook
account. This is the only Nepalese based expense tracking application we were able to
track in the Google Play Store.

Figure 2.3 Kharcha Kitab

Figure 2.1 Expensify Screenshot Figure 2.2 Wallet Screenshot

2.2 Solutions That


Our App Provides

Our application, “Mero Wallet” is a free android application available to all the
android users which provides a very simple and user friendly user interface that helps
the user to kick start his/her expense tracking activity alongside budget tracking as
well. Anyone new to expense tracking concept can use “Mero Wallet” with ease. It
omits the geographical limitations that most of the application features available has
and doesn’t require payment subscription to use. This application also provides
feature to add receipt picture alongside the expenditure details.

4
CHAPTER THREE: METHODOLOGY

3.1 PROCESS MODEL

“Mero Wallet” is developed following the prototype model where we establish the
requirements of the software along a quick design of the system. In the quick design
only the visible elements of the software and inputs and outputs are designed. The
final output of the design is a prototype[ CITATION Rog05 \l 1033 ]. We review the
prototype and we make necessary changes to make the software closer to our goal.
With additional requirements we make another prototype which fulfills these
requirements. We keep on fine tuning the details until it exactly fulfills our
requirements. We chose this process model because after making prototype it gives us
even clearer image and also potentially reveals constraints of the software previously
unknown to us. It is easy to add new features during development. This process also
aligns with our projected schedule. This model is suitable as we do not have to do risk
analysis[ CITATION Ian18 \l 1033 ].

We 1st define the application’s broad set of objectives which is followed by quick
design where the visible elements of the app (UI) are designed. We used prototyping
on paper (POP) app to roughly design basic functions and UI design of the “Mero
Wallet” app. After the basic design, the development phase starts where the essential
coding is done to achieve the required output. Android studio is used to develop the 1st
prototype. After the 1st prototype, improvements in UI design and features are done
according to the requirements.

5
[ CITATION TRY19 \l 1033 ]

Figure 3.1 Prototyping Model

3.2 TOOLS USED

3.2.1 Android
Android is a mobile operating system developed by Google. It is used by
several smartphones and tablets. Examples include the Sony Xperia, the Samsung
Galaxy, and the Google Nexus One.

The Android operating system (OS) is based on the Linux kernel. Unlike Apple's iOS,
Android is open source, meaning developers can modify and customize the OS for
each phone. Therefore, different Android-based phones often have different graphical
user interfaces GUIs even though they use the same OS[ CITATION Android \l
1033 ].

3.2.2 Android Studio


Android Studio is the official Integrated Development Environment (IDE) for
Android app development, based on IntelliJ IDEA. On top of IntelliJ's powerful code
editor and developer tools, Android Studio offers even more features that enhance
your productivity when building Android apps, such as:

 A flexible Gradle-based build system

 A fast and feature-rich emulator

 A unified environment where you can develop for all Android devices

 Instant Run to push changes to your running app without building a new APK

 Code templates and GitHub integration to help you build common app
features and import sample code

 Extensive testing tools and frameworks

 Lint tools to catch performance, usability, version compatibility, and other


problems

6
 C++ and NDK support

 Built-in support for Google Cloud Platform, making it easy to integrate


Google Cloud Messaging and App Engine [ CITATION AndroidStudio \l 1033 ]

3.2.3 Java
Java is a programming language and computing platform first released by Sun
Microsystems in 1995. There are lots of applications and websites that will not work
unless you have Java installed, and more are created every day. Java is fast, secure,
and reliable. From laptops to datacenters, game consoles to scientific supercomputers,
cell phones to the Internet, Java is everywhere [ CITATION Java1 \l 1033 ].

Java was designed to have the look and feel of the C++ programming language, but is
simpler to use and enforces an object-oriented programming model. Java can be used
to create complete applications that may run on a single computer or be distributed
among servers and clients in a network. It can also be used to build a small
application module or applet for use as part of a webpage [ CITATION Java2 \l
1033 ].

3.2.4 SQLite
SQLite is an in-process library that implements a self-contained, serverless, zero-
configuration, transactional SQL database engine. The code for SQLite is in the
public domain and is thus free for use for any purpose, commercial or private. SQLite
is the most widely deployed database in the world with more applications than we can
count, including several high-profile projects. MySQL is a freely available open
source Relational Database Management System (RDBMS) that uses (SQL) and is
mostly used for relational data and transactions. It is an open source and we can install
in anywhere and several cloud providers support managed version of it. It was
developed by the Swedish company in 1995. One of the main advantages of this
database is that it is cross platform. It can be launched on OS MAC, Linux and
Windows [CITATION MySQL \l 1033 ].

7
3.3 BLOCK DIAGRAM

Figure 3.2 Block Diagram

The block diagram shows that user gives necessary details through the applications
that processes in the main server and gets saved in the database which can be
retrieved later as required. We take the expense data and the required budget from the
user manually. The expense data are recorded and saved in the database. With each
expense the remaining budget is calculated and is displayed to the user alongside the
total expense made by the user.

8
3.4 ALGORITHM

Step 1: Start

Step 2: If user has existing account

Go to step 4.

Else

Go to step 3

Step 3: Input account details for new account sign up.

Go to step 4

Step 4: Input user name and password for login.

Step 5: If login credentials are valid

Go to step 6

Else

Print ‘Invalid Credentials’ and go to step 4

Step 6: Show expense status in pie chart.

Step 7: Show all options: set budget, add expenses and records.

Step 8: If ‘set budget’ is selected

Go to step 9

Else if ‘add expense’ is selected

Go to step 10

Else if ‘see records’ is selected

Go to step 11

9
Step 9: Set budget amount.

Step 10: Add expense details

Step 11: Display all records

Step 12: If total expense is equal to 90% of initial budget

Display “low remaining budget” warning notification

Step 13: If user logs out

Go to step 14

Else

Go to step 6

Step 14: End

10
3.5 FLOWCHART

Figure 3.3 Flowchart

11
3.6 CLASS DIAGRAM

Figure 3.4 Class Diagram

12
3.7 ENTITY RELATIONSHIP DIAGRAM

Figure 3.5 Entity Relationship Diagram

3.8 DATA FLOW DIAGRAM

3.8.1 Level 0 DFD

Figure 3.6 Level 0 DFD

13
3.8.2 Level 1 DFD

Figure 3.7 Level 1 DFD

14
3.9 USE CASE DIAGRAM

Figure 3.8 Use Case Diagram

15
CHAPTER FOUR: EPILOGUE

4.1 RESULTS AND CONCLUSION

Hence, we finally compiled an application that records expense data from the user and
records it in a user specific database.

Each expense data entered manually by the user is recorded and can be viewed
alongside the graphical representations like pie chart and line charts which allows user
to be updated with their daily expenses with detailed information about their each
transactions. The application also allows the user to set a budget for their expenses
which helps them to stay in a limited cash flow.

4.2 FUTURE ENHANCEMENT

We have considered following features to be eligible for the future enhancements of


Mero Wallet:

 Online database server implementation.


 Bank synchronization and E-payment can be implemented.

16
SCREENSHOTS

References

[1] "Expensify," 2008. [Online]. Available: https://use.expensify.com/pricing.

[2] "Kharcha Kitab," 2016. [Online]. Available: http://www.kharchakitab.com/.

[3] R. S. Pressman, "Software Engineering," New York, USA, McGraw-Hill


Companies, Inc., 2005.

[4] I. Somerville, "Software Engineering," Noida, India, Pearson India Education


Services, Ltd., 2018.

[5] "TRY QA," [Online]. Available: http://tryqa.com/what-is-prototype-model-


advantages-disadvantages-and-when-to-use-it/. [Accessed 04 01 2019].

[6] [Online]. Available: https://techterms.com/definition/android.

17
[7] [Online]. Available: https://developer.android.com/studio/intro/.

[8] [Online]. Available: https://www.java.com/en/download/faq/whatis_java.xml.

[9] [Online]. Available: https://www.theserverside.com/definition/Java.

[10] "SQLite," [Online]. Available: https://www.sqlite.org/about.html.

18

You might also like