Professional Documents
Culture Documents
T. NAVEENKUMAR
(18MCM034)
Under the Guidance of
APRIL-2020
i
DEPARTMENT OF COMPUTER SCIENCE
PSG COLLEGE OF ARTS & SCIENCE
An Autonomous College-Affiliated to Bharathiar University
CERTIFICATE
This is to certify that this Project work entitled “INCOME AND EXPENSE
MANAGER” is a bonafide record of work done by T. NAVEENKUMAR (18MCM034)
in partial fulfillment of the requirements for the award of Degree of Master of Science in
Computer Science of Bharathiar University.
ii
DECLARATION
This Project work has not been submitted by me for the award of any other Degree/
Diploma/ Associate ship/ Fellowship or any other similar degree to any other university.
DATE : (18MCM034)
iii
ACKNOWLEDGEMENT
I would like to thank Dr. D. BRINDHA, MSc., Mphil., PhD., Principal, PSG College
of Arts and Science for giving me an opportunity to do this project.
I take the privilege of expressing my sincere thanks to all faculty members of Department
of Computer Science, for their guidance, support and encouragement during my project.
Finally, I am greatly indebted to my parents and friends for their kind co-operation in completion
of my project.
iv
SYNOPSIS
The aim of this project is developing a website which is called “INCOME AND EXPENSE
MANAGER”. It’s developed using PHP as Front-End and MySQL as Back-End. Today’s world is
very fast and competitive.
It is a complete business solution whose main focus is on saving expenses and time
supervision. This web application is developed to help in all the situations. Add some information
that comes as income from other persons and what are all the expenses or payments one has to pay
in specific date or month.
It has been developed and customized keeping in mind the requirements of the predicted
audiences like students, businessman of any organization which will help the users to save their
money in future by analyzing the reports of this expert system.
Each functionality maintains consistency in the system such as if user saves details from a
web then reports consistency will be maintained. It also contains the relevant information of the
expense which are saved in the database.
It consists of categories like add income, add new expense, view categories of expenses,
expenses export file. There are variety of tasks done in this system. Some of them are managing
task, changing wallpaper etc. There is provision to view reports on weekly basic, daily basic,
monthly basic.
v
TABLE OF CONTENT
S. NO TITLE PAGE. NO
1 INTRODUCTION
1.1 PROJECT OVERVIEW 1
4 SYSTEM DESIGN
4.1 USE CASE DIAGRAM 8
4.2 SEQUENCE DIAGRAM 9
4.3 ACTIVITY DIAGRAM 10
4.3 DATAFLOW DIAGRAM 11
4.4 ENTITY RELATIONSHIP DIAGRAM 13
4.5 INPUT DESIGN 15
4.6 OUTPUT DESIGN 19
4.7 DATABASE DESIGN 22
5 SYSTEM TESTING AND IMPLEMENTATION
5.1 SYSTEM TESTING 26
5.2 SYSTEM IMPLEMENTATION 28
6 SCOPE FOR FUTURE ENHANCEMENT 29
7 CONCLUSION 30
8 BIBLIOGRAPHY 31
9 APPENIX
A. SCREENSHOTS 32
B. SAMPLE CODING 42
vi
1. INTRODUCTION
This web application known as “Income and Expense Manager” is developed to help
in managing income and expense daily or periodically. Which one can’t able to remember
what are the things one has to do at the end of month and what are the payments one has to
pay for the particular month. Due to some conflict or some other stress one forgets what are
the income or where the money has to come from or what the payments one has to pay. This
application will help one to make a note for what or the things one has to do at the end of
month. For example, like how much is spent for monthly and what are the expenses for a
month. Some of the expense features like food expenses, billing expenses like phone,
electricity, taxation and some other personal expenses. In income features if one is a
businessman having some multi business when one doesn’t know from which part income
has come and how much income it has come for him, but with the help of this application one
can divide and store all the income and finalize the income for each month. In this fast-
moving world this application will be very useful for a people who have a family and
especially for business people.
1
1.2 MODULE AND DESCRIPTION:
• User Register
• Account
• Category
• Add Income and Expenses
• Transactions
• Budget
• Reports
1. User Register
Users’ needs to create a new account before they can add balance and keep record of
their purchase transactions, this module helps in creating one.
2. Account
It reminds the amount that we have in hand and also intimates the amount that are in
the various bank accounts.
3. Category
Users can have their own item categories for items that they entered. The category is
personalized for users for their own using.
2
4. Add Income and Expenses:
This module mainly depends on the MYSQL database for storing income and expense
details. The transaction details are stored based on the different categories like Food,
Housing, Education, Health and etc.,
5. Transactions
User can Add item name, price, description and the purchase date in the transaction.
6. Budget
The budget module is a monitor module, which reminds the user on the maximum
amount one can spend for the month.
7. Reports
3
2. SYSTEM CONFIGURATION
COMPONENTS REQUIREMENTS
BACK-END : MYSQL
COMPONENTS REQUIREMENTS
4
2.3 SOFTWARE DESCRIPTION
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source
general-purpose scripting language that is especially suited for web development and HTML can
be embedded into it. The developer could use PHP and HTML to generate the homepage. Once
a visitor accesses the index page, the server will execute the PHP command and send the
outcomes of implementation to the visitor’s browser, however, the difference is that PHP is open
source and supports most of the popular platforms and it can be run on a Windows platform and
multiple versions of UNIX.
PHP does not require any pre-processing before rapid feedback; it does not need
mod_perl to adjust the memory image of server. PHP consumes few resources, as a part of the
IIS server, PHP does not need to call an external binary code and the server does not bear any
additional burden. In addition to operating the page, PHP can cooperate with HTTP. The cookie
and digital signatures management can be modified in the settings, and it provides a good
connectivity to the database.
There is no need to have a very special development environment with PHP, the block
starts and ends with the tags <?php and ?>.
The PHP programming language is similar to Pascal. There is no need to define any
variables before using them, and it is very simple to establish the array and the Hash. PHP also
has some object-oriented features which are provided to support and to organizing and
packaging the source code.
5
OVERVIEW OF THE BACK – END:
MYSQL
MySQL was owned and sponsored by a Swedish company MySQL AB, now owned by
Oracle Corporation. MySQL is free for open source and not-for profit projects. For
commercial use, developers have to pay a license fee and paid editions offer additional
functionality.
MySQL is a Relational Database Management System (RDBMS) that runs as a server
providing multi-user access to a number of databases.
MySQL was designed for three principles, which are performance, reliability and usability. A
cheap, distinctive, fast and efficient RDBMS was created by following those principles.
MySQL becomes a perfect tool for developers and administrators to establish maintain and
configure complex applications.
6
3. SYSTEM ANALYSIS
If one wants to balance an income and expense for each month one has to do it
noted but one can’t do this for each and every month those who have a lot of income and
expenses, so to reduce the stress for the person and make easy to calculate the income and
expense, this application has been so much helpful for a person. In this application it has
features like add expenses categories add income so that one can add what are the income and
expenses has been done for a month, but this application will not have any download feature.
Day to day updates cannot be downloaded. But it has used to perform calculation on income and
expenses to overcome this problem a new application is proposed.
This application is developed by adding some extra features. In expenses there have
been some expense feature like add expenses (one can add new expense for a month), add
categories (one can add new categories for a month), (expenses for a month), export
expenses (it will remain as a specific date how much expense has taken for a month), view
expenses (one can view what are all expense for a month). In income and expense some of
the features like add income, add category, export income and expense file, remainder,
transaction and report to view expenses. By adding these features, it helps the users to work
more efficient. This eliminates the drawback of the existing system application, moreover
one can download day to day activities.
7
4. SYSTEM DESIGN
A use case is a methodology used in system analysis to identify, clarify, and organize
system requirements. The use case is made up of a set of possible sequences of interactions
between systems and users in a particular environment and related to a particular goal. It is
represented using ellipse. Actor is any external entity that makes use of the system being model. Its
represented using stick figure.
8
4.2 SEQUENCE DIAGRAM:
9
4.3 ACTIVITY DIAGRAM:
10
4.4 DATAFLOW DIAGRAM
An arrow represents one or data items or data objects. A data flow shows the flow of
information from its source to its destination.
LEVEL 0: -
Login Login
INCOME
USER
AND DATABASE
EXPENSE
MANAGER
Response
Response
11
LEVEL 1: -
Check
Request
for login
for login
Response Reply
Insert Data
Add Income Add
Teacher Income Table
Response Reply
Insert Data
Add Expenses
Add
Student Expense Table
Response Reply
Insert Data
Add Income Category
Add News
Income category
& event
Response Reply
Report
12
4.5 ENTITY RELATIONSHIP DIAGRAM
Depicts relationships between data objects. The object-relationship pair can be represented
graphically using the Entity-Relationship Diagram. A set of primary components is identified for
the ERD: data objects, attributes, relationships, and various type indicators. The primary purpose of
the ERD is to represent data objects and their relationships.
Entity:
Rectangles are used to represent the entity in the diagram. Name of the Entity is written
inside the rectangle.
Attribute:
An oval shape is used to represent the attributes. Name of the attribute is written inside the
oval shape and is connected to its entity by a line.
Relationship:
A diamond shape is used to show the relationship between the entities. A mapping with
weak entity is shown using double diamond. Relationship name will be written inside them.
13
ER DIAGRAM
Cate ID
user_id
name
M
password Email Categories
Name
Currency
Add Budget_id
username 1 Cate_id
User Login
Budget
User_id
1
Accounts Acc_id
userid
Income_id Title
User id
Acc Name
Amount
1 ADD
M Expenses_id
Income
Title
Date Expenses
Description
Amount
1
Total_id Calculate
REPORT
Total
User_id
Acc_id
14
4.6 INPUT DESIGN
In an information system, input is the raw data that is processed to produce output. During
the input design, the developers must consider the input devices such as PC, MICR, OMR, etc.
Therefore, the quality of system input determines the quality of system output. Well-designed
input forms and screens have following properties −
• It should serve specific purpose effectively such as storing, recording, and retrieving the
information.
• To design source documents for data capture or devise other data capture methods
• To design input data records, data entry screens, user interface screens, etc.
15
LOGIN FORM
FIGURE 4.6.1
This page shows home page of login. The form is used to login.
FIGURE 4.6.2
16
HOMEPAGE
FIGURE 4.6.3
17
TRANSACTION FORM
FIGURE 4.6.4
FIGURE 4.6.5
18
4.7 OUTPUT DESIGN
The design of output is the most important task of any system. During output design,
developers identify the type of outputs needed, and consider the necessary output controls and
prototype report layouts.
• To develop output design that serves the intended purpose and eliminates the production of
unwanted output.
• To develop the output design that meets the end users requirements.
OUTPUT FORM:
FIGURE 4.7.1
19
INCOMES SUMMARY DETAILS
FIGURE 4.7.2
20
INCOME CALENDER
FIGURE 4.7.3
INCOME REPORT
FIGURE 4.7.4
21
4.8 DATABASE DESIGN
DBMS is a software that handles the storage, retrieval, and updating of data in a computer system.
TABLE DESIGN
A database is a collection of related data. Each of these datas is grouped into different
related groups. Each of these groups is stored in the physical memory like disks in the form of bits.
But when a user wants to see some specific data, if he is given in the form of bits, he will not
understand what it is. Also, in the memory records are scattered in different data blocks and it will
not be in any order. But user would always like to see a meaningful and formatted data. Hence the
user is given a logical view of the data stored in the database. This is achieved by displaying the
records in the form of a table with rows and columns. Each column in the table forms the related
set of information of an object. Object can be anything in the real world –either living or non-
living.
For example, if we consider Pen as an object, we can create a table for it with columns like its
name, type, pen color, ink color, orientation, weight, ease of use etc.
Basically, column contains the specification or details about the object with which a table is
created. Rows of the table contain the value for these entire columns. Each row will have specific
values related to single object.
22
Table Name : User Details
Primary Key : User_id
23
Table Name : Income Details
Primary Key : Income_id
24
Table Name : Account Details
Primary Key : Account_id
Foreign key : Teacher_id
25
5. SYSTEM TESTING AND IMPLEMENTATION
It is the stage of implementation, which ensures that system works accurately and
effectively before the live operation commences. It is a confirmation that all are correct and
opportunity to show the users that the system must be tested with the text data and show that the
system will operate successfully and produce expected results under expected conditions.
Web Application testing is a crucial element of applications quality assurance and
represents the unlimited review of specification, design and coding. Testing represents an
interesting anomaly for the software.
The testing phase is responsible for ensuring that the system performs the way that the
detailed design documentation specifies. Testing involves testing of developed system using
various test data. Preparation of test data plays a vital role in system testing. After preparing the test
data, the system under study was tested using those test data. During this stage, the errors are
detected and corrected.
Before implementation, the proposed system must be tested with raw data to ensure that the
modules of the system work correctly and satisfactorily. The system must be tested with valid data
to achieve its objective.
Testing is vital to the parts of the system are correct; the goal will be successfully achieved.
Inadequate testing or non-testing leads to errors that may not appear until this months later.
This creates two problems:
• This time lag between the cause and appearance of the problem.
• The effort of system errors on files and records within the system. A small system error can
conceivably exploded into much larger problem. Effectively early in the process translates
directly into long term cost savings from a reduced number of errors.
26
UNIT TESTING:
Unit tests perform basic test at component level and test a specific business process,
application, and system configuration. Unit tests ensure that each path of a business process
performs accurately to the documented specifications, functionality and contains clearly defined
inputs and expected results.
VALIDATION TESTING:
Validation succeeds when the developed system functions as per the requirement of the
customer. Application validation is achieved through a series of black box that demonstrate the
conformity with the requirements. Deviations or errors in this steps are corrected.
OUTPUT TESTING:
Various outputs has been generated by the system. The system generated output and the
desk-calculated values have been compared. All the output is perfect as the company desires. It
begins with the low volumes of transactions based on live tone. The volume is increased until the
maximum level for each transaction type is reached. The total system is also tested for recovery
and fall back, after various major failures to ensure that no data are lost during the emergency time.
INTEGRATION TESTING :
Integration tests are done to test integrated application components were individually
satisfactory, as shown by successful unit testing; the combination of components is correct and
consistent.
27
5.2 SYSTEM IMPLEMENTATION
System implementation is the stage of the project when the theoretical design is turned into
a working system. If the implementation stage is not correctly planned and controlled, it can be
choice. The following are the main stages in the implementation:
• Planning
• Training
• Maintenance
PLANNING:
Planning plays an important role in the implementation. The planning should face any
practical problems of controlling various activities of people out their own data processing
department.
TRAINING:
Successful implementation needs trained computer staff. So some staff can teach them
about the computer implementation, which only then becomes a well-designed system.
MAINTENANCE:
Maintenance involves recovery on crash such as the backups and the end user should be
given only executable format of the system.
28
6. SCOPE FOR FUTURE ENHANCEMENT
• Android application: In Future we are planning to create a mobile application for Income
and Expense Manager which is used in Mobile, Tablets or other device.
• Auto Reminder: A reminder in Mobile which can store data in mobile so even if user is not
connected alarm of mobile can ring and sent notification to user.
• Resource Module: To develop the Resource Module in which System will maintain the
Resources used in completing the Tasks assigned by user.
• Stenography: To use stenography concept to secure data theft from users account.
• Chat Module: To integrate chat module so to give this system a nice look, so that user who
are saving expenses and using this system can chat with each other.
• We will be adding certain features to the application to make it more useful to the user.
Some of the extra features are like enabling users to register to the application using
existing email or social network account, it will synchronize the users profile information to
the application.
29
7. CONCLUSION
This web application will help its users to manage the cost of their daily expenditure. It will
guide them and aware them about their daily expenses. It will prove to be helpful for the people
who are frustrated with their daily budget management, irritated because of amount of expenses
and wishes to manage money and to preserve the record of their daily cost which may be useful to
change their way of spending money. In short, this application will help its users to overcome the
wastage of money.
The application will eliminate sticky note, spreadsheet and ledger that cause confusions, data
inconsistency problems while recording and splitting of expenses. With our application user can
manage his expenses more effectively.
Apart from this, the application can be used to collect samples of data related to user’s expenses
with permissions and use those sample data as parameters to evaluate patterns of spending. Using
some data mining technique expenses can be classified and can be used in market analysis and
planning.
30
8. BIBLIOGRAPHY
REFERENCE BOOKS:
• Data Mining and Analysis: Foundations and Algorithms, Daily Expenses, Mohammed J.
Zaki and Wagner Meira, Jr, Cambridge University Press, 2013.
• Adam Trachtenberg, “PHP Cook Book”, Orreilly & Associates Publication, First Edition,
2003.
• Dongosselin, “New PHP Program with MySQL”, Dongosselin, Class Technology
Publication, 2008.
WEBSITES:
• http://expense-manager.com/how-expensesoftware/
• https://www.splitwise.com/terms
• https://www.xpenditure.com/en?
• https://markushintersteiner.at/
• http://expense-manager.com/how-expensesoftware/
• http://en.wikipedia.org/wiki/Informationtechnology
31
9. APPENDIX
A. SCRRENSHOTS
LOGIN PAGE
USER DASHBOARD
32
TRANSACTION
INCOME PAGE
33
EXPENSE PAGE
ACCOUNT
34
BUDGET
EXPENSE CATEGORIES
35
INCOME CATEGORIES
INCOME VS EXPENSE
36
INCOME CALENDER
EXPENSE CALENDER
37
INCOME SUMMARY
EXPENSE SUMMARY
38
PRINTED EXPENSE REPORT
39
ADD BUDGET CATEGORY
40
ADD NEW CATEGORY FOR EXPENSE AND INCOME
ACCOUNT PROFILE
41
B. SAMPLE CODEING
Dashboard:
<?php session_start();
if ($current_file_name == $requestUri)
echo 'class="active"';
}
// Logout
if (isset($_GET['action'])) {
$action = $_GET['action'];
if ($action == 'logout') {
session_destroy();
header('Location: login.php');
}
}
//Link to page
if (isset($_GET['page']) && $_GET['page'] == 'Transaction') {
$page = 'Transaction';
} else if (isset($_GET['page']) && $_GET['page'] == 'AssetReport') {
$page = "AssetReport";
} else if (isset($_GET['page']) && $_GET['page'] == 'ManageBudget') {
$page = "ManageBudget";
} else if (isset($_GET['page']) && $_GET['page'] == 'ManageIncomeCategory') {
$page = "ManageIncomeCategory";
} else if (isset($_GET['page']) && $_GET['page'] == 'ManageExpenseCategory') {
$page = "ManageExpenseCategory";
} else if (isset($_GET['page']) && $_GET['page'] == 'ManageAccount') {
$page = "ManageAccount";
} else if (isset($_GET['page']) && $_GET['page'] == 'ManageIncome') {
$page = "ManageIncome";
42
} else if (isset($_GET['page']) && $_GET['page'] == 'Settings') {
$page = "Settings";
} else if (isset($_GET['page']) && $_GET['page'] == 'ExpenseReport') {
$page = "ExpenseReport";
} else if (isset($_GET['page']) && $_GET['page'] == 'ManageExpense') {
$page = "ManageExpense";
} else if (isset($_GET['page']) && $_GET['page'] == 'ReportPdf') {
$page = "ReportPdf";
} else if (isset($_GET['page']) && $_GET['page'] == 'IncomeVsExpense') {
$page = "IncomeVsExpense";
} else if (isset($_GET['page']) && $_GET['page'] == 'IncomeCalender') {
$page = "IncomeCalender";
} else if (isset($_GET['page']) && $_GET['page'] == 'AllIncomeReports') {
$page = "AllIncomeReports";
} else if (isset($_GET['page']) && $_GET['page'] == 'AllExpenseReports') {
$page = "AllExpenseReports";
} else if (isset($_GET['page']) && $_GET['page'] == 'ExpenseCalender') {
$page = "ExpenseCalender";
} else if (isset($_GET['page']) && $_GET['page'] == 'siteSettings') {
$page = "siteSettings";
} else {
$page = 'dashboard';
}
//Get Header
include('includes/header.php');
if (file_exists('pages/'.$page.'.php')) {
// Load the Page
include('pages/'.$page.'.php');
} else {
// Else Display an Error
echo '
<div class="wrapper">
<h3>Err</h3>
<div class="alertMsg default">
<i class="icon-warning-sign"></i> The page "'.$page.'" could not be found.
</div>
</div>
';
}
include('includes/footer.php');
?>
43
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="login-panel panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title text-center"><span class="glyphicon glyphicon-
lock"></span> <?php echo
$UserSign; ?></h3>
</div>
<div class="panel-body">
<?php if ($msgBox) {
echo $msgBox;
} ?>
44
<form method="post" action="" role="form">
<fieldset>
<div class="form-group">
<label for="email"><?php echo $Emails; ?></label>
<input class="form-control" placeholder="<?php echo
$Emails; ?>" name="email" type="email" autofocus>
</div>
<div class="form-group">
<label for="password"><?php echo $Passwords; ?></label>
<input class="form-control" placeholder="<?php echo
$Passwords; ?>" name="password" type="password" value="">
</div>
<hr>
<button type="submit" name="login" class="btn btn-success btn-block"><span
class="glyphicon glyphicon-log-in"></span> <?php echo
$SignIn; ?></button> <hr>
<a href="signUp.php" class="btn btn-info btn-block"> <span class="glyphicon
glyphicon-pencil"></span> <?php echo
$RegisterAnAccount; ?></a>
</fieldset>
</form>
</div>
</div>
</div>
</div>
<div class="row text-center">
<small >copyright © <?php echo Date('Y'); ?> Money Manager | All right
Reserved</small><br>
<small >Powered By Developer</small>
</div>
</div>
</body>
</html>
45