0% found this document useful (0 votes)
353 views35 pages

A Creative and Innovative Project Report: Android Application For Effective Expense Manager (Cashity)

This document is a project report for an Android application called Cashity that helps users manage their daily expenses. It discusses [1] the motivation for developing a mobile expense manager since internet is not always available, [2] the background and features of the Android operating system on which the application is built, and [3] the objectives of the proposed Cashity application which allows users to track expenses digitally.

Uploaded by

Priyadarshini.R
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
353 views35 pages

A Creative and Innovative Project Report: Android Application For Effective Expense Manager (Cashity)

This document is a project report for an Android application called Cashity that helps users manage their daily expenses. It discusses [1] the motivation for developing a mobile expense manager since internet is not always available, [2] the background and features of the Android operating system on which the application is built, and [3] the objectives of the proposed Cashity application which allows users to track expenses digitally.

Uploaded by

Priyadarshini.R
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

ANDROID APPLICATION FOR EFFECTIVE

EXPENSE MANAGER (CASHITY)

A CREATIVE AND INNOVATIVE PROJECT REPORT

Submitted by

R.PRIYADARSHINI (1515102088)

COMPUTER SCIENCE ENGINEERING

SONA COLLEGE OF TECHNOLOGY

ANNA UNIVERSITY: CHENNAI 600 025

APRIL 2018
ANNA UNIVERSITY: CHENNAI – 600 025

BONAFIDE CERTIFICATE

Certified that this project report “ANDROID APPLICATION FOR EFFECTIVE


EXPENSE MANAGER(CASHITY)” the bonafide work of “R.PRIYADARSHINI
(1515102088), R.SOWDESWARI (1515102108)” who carried out the creative and
innovative project work under my supervision.

SIGNATURE SIGNATURE

Dr.B.SATHIYABHAMA M.Tech, Ph.D., Dr.S.ANITHA ELAVARASI M.E, Ph.D.,


HEAD OF THE DEPARTMENT CO-ORDINATOR
Professor Assistant Professor
Department of Computer Science Department of Computer Science
and Engineering and Engineering
Sona college of Technology Sona college of Technology
Salem. Salem.

—————————- —————————-
Internal Examiner External Examiner
INDEX

CHAPTER NO. TITLE PAGE NO.

ABSTRACT I
LIST OF FIGURES II
LIST OF ABBREVIATIONS III

1. INTRODUCTION 1
1.1 MOTIVATION 1
1.2 BACKGROUND 1
1.3 ANDROID 2
o 1.3.1 FEATURES 2
o 1.3.2 ANDROID ARCHITECTURE 3
o 1.3.3 APPLICATION 4
o 1.3.4 MERITS AND DEMERITS 5
1.4 OBJECTIVE 5

2. LITERATURE REVIEW 6
2.1 EXISTING SYSTEM 6
2.2 KEY TERMS OF ANDROID STUDIO 7

3. SYSTEM ANALYSIS 9
3.1 NEED FOR THE PROPOSED SYSTEM 9
3.2 OPERATING ENVIRONMENT 9
o 3.2.1 MODULE DESCRIPTION 9
o 3.2.2 SOFTWARE REQUIREMENTS 10
o 3.2.3 HARDWARE REQUIREMENTS 11
o 3.2.4 CONSTRAINTS, ASSUMPTIONS
AND DEPENDENCIES 11

1
CHAPTER NO. TITLE PAGE NO.
4. PROPOSED SYSTEM DESIGN 12
4.1 PROPOSED SYSTEM 12
4.2 SYSTEM ARCHITECTURE 14
4.3 ENTITY RELATIONSHIP DIAGRAM 15
4.4 DATAFLOW DIAGRAM 16
4.5 USE-CASE DIAGRAM 17

5. CONCLUSION 18

APPENDIX IV

i. SCREEN SHOTS V
ii. SAMPLE CODE X
iii. REFERENCES XIV
ABSTRACT

Daily Expenditure management for an individual is an essential activity in their fast

moving life. This android application named as “CASHITY” is used to manage the user‘s daily

expenses in a more efficient and manageable way. By using this application it can reduce the

manual calculations for their daily expenses and keep the track of the expenditure. This

application allows users to maintain a digital automated diary. It takes income from user and

divides in daily expense allowance. Financial management and internal control should be

understood, established, organised and implemented properly for a successful management. This

acts as a main concept of the application. The objective of financial management is to help users

to make sensible investment and financing decisions in the future. This concept acknowledges that

financial theory teaches that investment and financing decisions should be based on cash flow and

risk. It provides information on payback period, return on capital employed, earnings per share

effect, working capital, profit planning, standard costing, financial statement planning and ratio

analysis. It seeks to combine the practical rules of thumb of the traditionalists with the ideas of the

financial theorists to form a balanced approach to practical financial management for MBA

students, financial managers and undergraduates.

1
LIST OF FIGURES

TABLE NO TITLE PAGE NO

1.1 ANDROID ARCHITECTURE 3

4.1 SYSTEM ARCHITECTURE 14

4.2 ENTITY RELATIONSHIP DIAGRAM 15

4.3 DATAFLOW DIAGRAM 16

4.4 USE-CASE DIAGRAM 17

LIST OF ABBREVIATIONS

FIGURE NO TITLE PAGE NO

2.1 KEY TERMS USED IN ANDROID STUDIO 7

2
CHAPTER 1

INTRODUCTION

Cashity allows users to maintain a digital automated diary. With the launch and increase in

sales of smartphones over the last few years, people are using mobile applications to get their

work done, which makes their lives easier. Mobile application comprises various different

categories such as entertainment, sports, lifestyle, education, games, food and drink, health and

fitness, finance, etc. Cashity falls in the finance category and serves the important purpose of

managing finances which is a very important part of one’s life.

1.1 MOTIVATION

There exist quite a few web-based software called as expense calculators. Some of them are

stand alone applications which provide a single service like tracking personal expenses where

as others provide a combination of services. However, there does not exist, any software

which is essentially for a mobile-based expense tracking. The motivation behind taking up

such a problem statement was the fact that Internet is not always available at our disposable.

If such a mobile application exists it will be of enumerable help at any given time of the day.

1.2 BACKGROUND

In our day to day life, we’ve always dealt with money as a basic necessity for survival in this

fast-moving life. As an effective expense managing practise many of us used to write down

manually all our daily expenses in a small chit of paper in order to be aware of our daily

expenditure, as the digitalization era is in motion, smart phones with latest operating systems from

various different organisation are becoming a growing trend in the society. With the help of

android studio we have developed an application in order to manage the daily expense in an

1
effective digitalized way. Using this application he/she will make their money management much

easier and faster. It lets the user to compare their spending each week, month, and year. Numerous

categories like entertainment, insurance, automobile, healthcare etc are available. Our application

has a new concept which is very easy and simple to handle, not very complicated as other mobile

applications. The main benefit of using mobile phone is that it’s simple and innovative.

1.3 ANDROID

Android is a software stack for mobile devices that includes an operating system, middleware and

key applications. The Android SDK provides the tools and APIs necessary to begin developing

applications on the android platform using the Java programming language.

1.3.1 FEATURES

● Application framework enabling reuse and replacement of components

● Dalvik virtual machine optimized for mobile devices

● Integrated browser based on the open source WebKit engine

● Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the

OpenGL ES 1.0 specification (hardware acceleration optional)

● SQLite for structured data storage

● Media support for common audio, video, and still image formats (MPEG4, H.264, MP3,

AAC, AMR, JPG, PNG, GIF.

● GSM Telephony (hardware dependent)

2
● Bluetooth, EDGE, 3G, and Wi-Fi (hardware dependent)

● Camera, GPS, compass, and accelerometer (hardware dependent)

● Rich development environment including a device emulator, tools for debugging,

memory and performance profiling, and a plug-in for the Eclipse ID

1.3.2 ANDROID ARCHITECTURE

The following diagram shows the major components of the Android operating system.

Each section is described in more detail below:

Fig.1.1: Android Architecture

Source: Google Images

3
1.3.3 APPLICATIONS

Android will ship with a set of core applications including an email client, SMS

program, calendar, maps, browser, contacts and others. All applications are written using the Java

programming language.

By providing an open development platform, Android offers developers the ability to build

extremely rich and innovative applications. Developers are free to take advantage of the device

hardware, access location information, run background services, set alarms, add notifications to

the status bar and much, much more.

Developers have full access to the same framework APIs used by the core applications. The

application architecture is designed to simplify the reuse of components; any application can

publish its capabilities and any other application may then make use of those capabilities (subject

to security constraints enforced by the framework). This same mechanism allows components to

be replaced by the user.

1.3.4 MERITS OF ANDROID OS

● Totally open API

● Device and network-independent software platform

● Android app marketplace is democratic

● OS is updated often and even for older devices like the HTC Dream (T-Mobile G1)

● True multi-tasking OS based on Linux kernel

4
● Mostly free third-party apps

● Has great potential to scale well up to higher-end devices like Smartbooks (various

laptop manufacturers experimenting with this)

1.3.4(a) DEMERITS OF ANDROID OS

● Fewer developers and a smaller user base than the more established iPhone / iOS

software ecosystem

● User lacks the ability to definitively close applications from within task manager

● Few payment options for application marketplace - only Google Checkout No

review process on the application marketplace, nothing stopping malware from

getting published

● No multi-touch implementations on handsets sold in the U.S. (up to at least

Android v2.1)

● Limited to Google accounts

1.4 OBJECTIVE

The main objective of this application is to eliminate the use of the traditional way of using

paper for calculating and monitoring our expenses and providing a digitalised platform that is

focused on helping you manage your expenses

5
CHAPTER 2

LITERATURE REVIEW

2.1 EXISTING SYSTEM

In existing, we need to maintain the Excel sheets etc. files for the user daily and monthly

expenses. In existing, there is no as such complete solution to keep a track of its daily expenditure

easily. And there is no such pie-chart representation which is user-friendly and easy

understand-ability. In the existing system, a person has to keep a log in a diary or in a computer to

do all the calculations that is required for calculating the budget which may sometimes results in

errors leading to losses. But in this application, the money which is spent is recorded and

displayed in the pie-chart format for the better understanding of the user. There is several

application which stores and maintains bank details regarding the savings and the money spent

from the account. But this is a very essential application which is needed for all the people for

maintaining or managing the income which they get. By tracking the money which is being spent ,

the user can also plan or have an idea of saving the money. This is the most important benefit of

the application.

This application provides easy way of categorizing the spent money. It provides various

categories in which the money will be spent like entertainment, schooling, monthly expenditures,

savings etc.

With the help of these facilities, the user can easily categorize the area in which he spent the

money and record it. At the end, the whole expenses which the user has made in several categories

6
will be displayed in the form of pie-chart for easier understand-ability. This is the benefit of the

application when compared with the existing system.

2.2 KEY TERMS OF ANDROID STUDIO

Table 2.1 Key Terms used in Android Studio

Term Or Acronym Definition

Android Android is an open mobile phone platform that

was developed by Google and, later, by the

Open Handset Alliance. Google defines

Android as a "software stack" for mobile

phones

Android SDK A software development kit that enables

developers to create applications for the

Android platform. The Android SDK includes

sample projects with source code, development

tools, an emulator, and required libraries to

build Android applications.

7
SQLite A public domain, compact SQL-based database

management system designed for embedded

applications such as Smarthones and PDAs. It

is also linked directly into software

applications.

GIT GIT is a free & open source, distributed version

control system designed to handle everything

from small to very large projects with speed and

efficiency. GIT is used for version control of

files.

ANT Ant is an open source build tool (a program for

putting together all the pieces of a program).

Ant is portable and simple to use. Ant is

independent of both platform and development

environment

REST Short for Representational State Transfer, REST

is a web-specific network architecture that

allows easier development and deployment of

8
distributed applications, mainly using Web

Services

CHAPTER 3

SYSTEM ANALYSIS

3.1 NEED FOR THE PROPOSED SYSTEM

The purpose of this document is to collect, analyze and high-level requirements and features of

this mobile application. It focuses on the capabilities needed by the target users. The document

contains a mention of the purpose of the system, its overall description, specific requirements

pertaining to the same and other supporting information.The document gives an overview of the

system, a complete description of all the features and specifications and its dependencies, issues

related to specific requirements and miscellaneous information.

3.2 OPERATING ENVIRONMENT

3.2.1 MODULE DESCRIPTION

Cashity provides the following functionalities to the users:-

o Overview

The Overview module will help the user to initially start the application and the expenses tab are

visible at NULL as it does not contain any entry from the user.

9
o Category creation

The user can create their own category according to their own needs and convenience. This can be

done by add category tab which is present in the home screen.

o Additional Infos

The user can set the date when he/she is spending their money and also an helpful notes tab is also

being provided below to the dates tab in order to take notes of the expenses done by the user.

o Logging expenses

The user will enter all expense details in the application and this module will calculate the total

amount of daily expenses accordingly.

o History

This module will gives the entire history of all the expenses done by the user for the course of

a day, week, month and year. This tab generally is helpful in accessing the past spending on

various things as and can help the user to know how much of money was spent.

o Report generation

This module will generate the budget report in the form of a pie-chart to classify how much

money was spent on a particular category and is used to help the user to analyse their

expenses.

3.2.2 SOFTWARE REQUIREMENTS

10
1. Android SDK.

2. SQLite for database server

3. Android Studio Version 3.0.1

4. GIT (Version Control System)

5. ANT

6. Middle-ware: REST (Protocol for web services)

3.2.3: HARDWARE REQIREMENTS

1. A mobile handset with Android Operating System.

2. For computer: 4GB RAM (min.) and 120 GB HDD

3.2.4 CONSTRAINTS, ASSUMPTIONS AND DEPENDENCIES

1. The application will only work on Android based mobile handset.

2. Internet services will not be required as it is an offline application at the time.

3. Only one member is logged into the application from one mobile handset.

11
CHAPTER 4

PROPOSED SYSTEM DESIGN

4.1 PROPOSED SYSTEM:

The objective behind this solution is to design a refined system which will allow the user

to efficiently manage his or her expenses with ease. This system will include a website application

that will allow users to maintain a digital automated diary. After logging into the system, a user

can add the bills with an option to attach the image of the bill or not. The option to attach a bill

helps the user to remember when and where the payment was made. The user can also add the

information about how the payment was made i.e. via check, card or cash. The system also allows

entering the check details. As soon as the entry is made about the expense, the database is updated

and according to the nature of the bill deduction or addition to the total balance in the user’s

pocket is made. In order to make the user aware about the average rate of the expenses, an alluring

graphical statistics are also provided. In addition to the daily tracking of the expenditure, it is also

beneficial to have a quick access to the past record of the expense habit; keeping in mind there is

also an option of monthly budget to provide a quick glance of the past spending. With the help of

these facilities, the user can easily categorize the area in which he spent the money and record it.

12
At the end ,the whole expenses which the user has made in several categories will be displayed in

the form of pie-chart for easier understand ability. There is also an option to view owe and lend

expenses which adds or gets deducted from the overall budget according without bothering the

user. The data is very important asset for corporation, so strong authentication method is to be

used to ensure security of information from malicious users. It easy to be customized in future, as

the client demand some other additional features. The complexity of customer (ie. Users) may be

different or if mode of business changes then the system has capability to make appropriate

modification to suite that change. Customization is key factor of designing this software. The

accuracy of all type of calculations are important and to be achieved at any cost. The data retrieval

and other manipulation related task which is done at the database level is fast enough. Storage of

data is easily accessible.

13
4.2 SYSTEM ARCHITECTURE

Fig.4.1: SYSTEM ARCHITECTURE OF CASHITY

● This diagram provides a clear representation of the user interaction with the system

● It gives a clear step-by-step procedure of the architecture

14
4.3 ENTITY RELATIONSHIP DIAGRAM

Fig.4.2: ENTITY RELATIONSHIP DIAGRAM OF CASHITY

● It tells how the various entities are related to each other along with various attributes used
in the application.
● The various entities used are USER, CATEGORIES, EXPENSES, and CURRENCY.

15
4.4 DATA FLOW DIAGRAM:

Fig.4.3: DATA FLOW DIAGRAM OF CASHITY

● The data flow of the interaction between the user and application is clearly represented in
the form of a data flow diagram
● The various operations used are interpreted in the form of directed arrows from user to the
application

16
4.5 USE-CASE DIAGRAM:

Fig.4.4: USE-CASE DIAGRAM OF CASHITY

17
CONCLUSION

Program works faster without any error. This application is very useful for calculating

personal expenses. Tracking your expenses daily can save you money, but it can also help you set

financial goals for the future. If you know exactly where your money is going every month, you

can easily see where some cutbacks and compromises can be made. It will also give you a good

outlook on your spending habits and those impulse buys will stick out like little red flags.

In this report, a flexible solution is discussed for keeping track of group expenses on the go rather

than the contemporary way of making mental and sometimes erroneous calculations. It is

discussed at length about some existing applications along with their limitation. Our application

deals with developing an application to overcome the shortcomings of the existing

expense-tracking applications.

A comparative study of various available technologies to solve and their feasibilities and

advantages/disadvantages were also made. Finally in conclusion the best approach would be an

Android mobile application synchronized with a web-application to track the expenses. This

report discusses the proposed system in detail, with regards to its functionality, strengths and

weaknesses.

18
APPENDIX
SCREENSHOTS

Fig5.1 Welcome Screen

4
Fig5.2 Navigation Toolbar

5
Fig 5.3 Category List

6
Fig 5.4 History Tab

7
Fig 5.5 Expense Tab

8
Fig5.6 Graph View

9
SAMPLE CODE

Main Activity.java
package com.project.priyadarshrajendran.cashity;

import android.app.AlertDialog;
import android.app.FragmentTransaction;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.provider.Settings;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.text.Layout;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.RelativeLayout;
import android.widget.Toast;

import layout.add;

import static android.R.attr.onClick;

public class MainActivity extends AppCompatActivity


implements NavigationView.OnNavigationItemSelectedListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);


setSupportActionBar(toolbar);

//RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.content_main);

10
// relativeLayout.setBackgroundColor(Color.BLUE);

DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);


ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open,
R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);


navigationView.setNavigationItemSelectedListener(this);

Overview fragment = new Overview();


android.support.v4.app.FragmentTransaction fragmentTransaction =
getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.frame, fragment, "Overview");
fragmentTransaction.commit();
}

@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);

return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.

11
int id = item.getItemId();
//noinspection SimplifiableIfStatement
switch (item.getItemId()) {
case R.id.add:
startActivity(new Intent(this, Tab2.class));
return true;

case R.id.archive:
startActivity(new Intent(this, Setting.class));
return true;

case R.id.action_1:
return true;

case R.id.exit:
finish();
return true;
}/*

DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);


drawer.closeDrawer(GravityCompat.START);
return true;
}

12
Activity_main.xml

<?xml version="1.0" encoding="utf-8"?>


<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"

tools:openDrawer="start">

<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />

<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />

</android.support.v4.widget.DrawerLayout>

13
REFERENCES

Android

1. www.android.com

2. www.googlehandsetalliance.com

SQLite

3. www.souptonuts.sourceforge.net

4. www.sqlitebrowser.sourceforge.net

5. https://www.youtube.com/watch?v=neaCUaHa2Ek

Android Studio

6. https://developer.android.com/studio/index.html

7. http://nevonprojects.com/project-ideas/android-project-ideas/

8. https://www.emeraldinsight.com/

9. https://www.tutorialspoint.com/android/android_architecture.htm

10. https://www.advantageccs.org/

14

You might also like