You are on page 1of 51

INCOME AND EXPENSE MANAGER

MAJOR PROJECT REPORT


Submitted by

T. NAVEENKUMAR

(18MCM034)
Under the Guidance of

Dr. K. MANIKANDAN. MCA., MPhil., PhD.,


Assistant Professor
Department of Computer Science

In partial fulfillment of the requirements for the award of the degree of

MASTER OF SCIENCE IN COMPUTER SCIENCE


of Bharathiar University

DEPARTMENT OF COMPUTER SCIENCE


PSG COLLEGE OF ARTS & SCIENCE
An Autonomous College-Affiliated to Bharathiar University

Accredited with A grade by NAAC (3rd Cycle)

College with Potential for Excellence

(Status awarded by the UGC)

Star College Status Awarded by DBT-MST

An ISO 9001:2015 Certified Institution

Coimbatore -641 014

APRIL-2020

i
DEPARTMENT OF COMPUTER SCIENCE
PSG COLLEGE OF ARTS & SCIENCE
An Autonomous College-Affiliated to Bharathiar University

Accredited with A grade by NAAC (3rd Cycle)

College with Potential for Excellence

(Status awarded by the UGC)

Star College Status Awarded by DBT-MST

An ISO 9001:2015 Certified Institution

Coimbatore -641 014

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.

Guide Head of the Department

Submitted for Viva-Voce Examination held on

Internal Examiner External Examiner

ii
DECLARATION

I, T. NAVEENKUMAR (18MCM034), hereby declare that this Project work entitled


“INCOME AND EXPENSE MANAGER”, is submitted to PSG College of Arts and
Science (Autonomous), Coimbatore in partial fulfillment for the award of Master of
Computer Science degree is a record of original work done by me under the supervision
and guidance of Prof. Dr. K. MANIKANDAN. MCA., MPhil., PhD., Assistant Professor,
Department of Computer Science, PSG College of Arts and Science, Coimbatore.

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.

PLACE : Coimbatore T. NAVEENKUMAR

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 would like to thank my guide Dr. K. MANIKANDAN. MCA., Mphil., PhD.,


Assistant Professor, Department of Computer Science for his excellence guidance, valuable
suggestions and more support provided throughout the completion of the project work.

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

1.2 MODULE AND DESCRIPTION 2


2 SYSTEM CONFIGURATION
2.1 SOFTWARE SPECIFICATION 4
2.2 HARDWARE SPECIFICATION 4
2.3 SOFTWARE DESCRIPTION 5
3 SYSTEM ANALYSIS
3.1 EXISTING SYSTEM 7
3.2 PROPOSED SYSTEM 7

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

1.1 PROJECT OVERVIEW

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.2.1 MODULE DESCRIPTION:

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

a. View all transaction by transaction date.

b. View Transaction by category.

c. Export expenses and income files.

3
2. SYSTEM CONFIGURATION

2.1 SOFTWARE SPECIFICATION

COMPONENTS REQUIREMENTS

OPERATING SYSTEM : Microsoft windows 10.1

FRONT-END : PHP5.5, HTML 5, CSS 3

SERVER : XAMPP Apache 3.2.1

BACK-END : MYSQL

2.2 HARDWARE SPECIFICATION

COMPONENTS REQUIREMENTS

PROCESSOR : Intel Core i5 7th Gen

RAM : 8.00GB (7.74GB usable)

HARD DISK DRIVE : 1TB

CACHE MEMORY : 2MB

4
2.3 SOFTWARE DESCRIPTION

OVERVIEW OF THE FRONT – END:

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.

Installing PHP on Windows:


Since PHP is open source, it is easy to download the Windows Binaries from the PHP
official website. The PHP version used in this project is 5.2.0. Above all, the PHP 5.2.0 zip file
was downloaded and decompressed to local hard disk. In order to associate PHP with the local
database, some extensions were enabled in a text file called php.ini such as mbstring, gd2 and
MySQL. In the next place, index.php was added into the default library of IIS so that the server
could recognize the php file located in the root of the web server once the visitor accesses the IP
address or the DNS name.

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.

Installing MySQL on Windows:


We simply downloaded MySQL windows installer and installed it into local hard disk.
The following settings were configured in the MySQL Server:
− Server type
− TCP/IP Networking
− Server SQL mode
− Default character set
− Windows Service
− Security.
After the configuration of the MySQL Server, the setting was executed into a configuration
file. The service was started and the security settings were applied. The default character set
used in the server was utf-8. It is widely used transformation format with encoding for the
world-wide web and accounting for more than half of all Web pages.

6
3. SYSTEM ANALYSIS

It is a process of collecting and interpreting facts, identifying the problems, and


decomposition of a system into its components. It is conducted for the purpose of studying a
system. It is a problem-solving technique that improves the system and ensures that all the
components of the system work efficiently to accomplish their purpose.

3.1 EXISTING SYSTEM

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.

3.2 PROPOSED SYSTEM

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

4.1. USE CASE DIAGRAM:

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:

A sequence diagram in Unified Modeling Language (UML) is a kind of interaction diagram


that shows how processes operate with one another and in what order. It is a construct of a Message
Sequence Chart.

9
4.3 ACTIVITY DIAGRAM:

Activity diagram is another important behavioral diagram in UML diagram to describe


dynamic aspects of the system. Activity diagram is essentially an advanced version of flow chart
that modeling the flow from one activity to another activity.

10
4.4 DATAFLOW DIAGRAM

A Data Flow Diagram (DFD) is a graphical representation of the "flow" of data


through an Information System. A data flow diagram can also be used for the
visualization of Data Processing DFD is then "exploded" to show more detail of the
system being modeled.

Processes or transform are represented by circles in a DFD. This shows what


systems do. Each process has one or more data inputs and produces one or more data
outputs. Each process has a unique name which appears inside the circle that
represents the process in a DFD.

The rectangle Is used to represent an external entity, that is a system element or


another system that produces information for transaction by the software or receives
the information produced by the software.

An arrow represents one or data items or data objects. A data flow shows the flow of
information from its source to its destination.

DATA FLOW DIAGRAM

LEVEL 0: -

Login Login
INCOME
USER
AND DATABASE
EXPENSE
MANAGER
Response
Response

11
LEVEL 1: -

Check
Request
for login
for login

USER Login User table

Response Reply

Insert Data
Add Income Add
Teacher Income Table
Response Reply

Insert Data
Add Expenses
Add
Student Expense Table
Response Reply

Add Account Insert Data


Add
Account Table
Subject
Response Reply

Manage Budget Send Data


Manage
Budget Table
class
Response Reply

Insert Data
Add Income Category
Add News
Income category
& event
Response Reply

Add Expenses Insert Data


Category Add Exam Expense category
Table
Reply
Response

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 Attributes 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.

• It ensures proper completion with accuracy.

• It should be easy to fill and straightforward.

• It should focus on user’s attention, consistency, and simplicity.

Objectives for Input Design:

The objectives of input design are −

• To design data entry and input procedures

• To reduce input volume

• 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.

• To use validation checks and develop effective input controls.

15
LOGIN FORM

FIGURE 4.6.1

This page shows home page of login. The form is used to login.

ADD NEW ACCOUNT

FIGURE 4.6.2

This form is used to enter the account details.

16
HOMEPAGE

FIGURE 4.6.3

This page is display homepage.

17
TRANSACTION FORM

FIGURE 4.6.4

This form is used to enter the daily transaction details.

BUDGET CATEGORY FORM

FIGURE 4.6.5

This form is used to enter budget category.

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.

Objectives of Output Design:

The objectives of input design are −

• 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.

• To deliver the appropriate quantity of output.

OUTPUT FORM:

OVERALL INCOME & EXPENSE DETAILS

FIGURE 4.7.1

This page is display income and expenses details.

19
INCOMES SUMMARY DETAILS

FIGURE 4.7.2

This page is display income summary details.

20
INCOME CALENDER

FIGURE 4.7.3

The above report displays incomes in date order.

INCOME REPORT

FIGURE 4.7.4

The above report displays overall incomes.

21
4.8 DATABASE DESIGN

A database management system (DBMS) is a collection of programs that enables you


to store, modify, and extract information from a database. There are many different types of
database management systems, ranging from small systems that run on personal computers to huge
systems that run on mainframes.

DBMS is a software that handles the storage, retrieval, and updating of data in a computer system.

Ex- SQL Server (Microsoft), MySQL (Freeware), Oracle (Oracle).

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

S.N NAME DATA TYPE SIZE CONSTRAINT DESCRIPTION

1 User_id Int 5 Primary Key User ID

2 FirstName Varchar 10 Not Null First name

3 LastName Varchar 10 Not Null Last name

4 Email Varchar 15 Not Null Email ID

5 Currency Varchar 5 Not Null Currency

6 Password Varchar 10 Not Null Password

Table Name : Expense Details

Primary Key : Expense_id

Foreign key : User_id, Category_id, Account_id

S.N NAME DATA TYPE SIZE CONSTRAINT DESCRIPTION

1 Expense_id Int 5 Primary Key Expense ID

2 User_id Int 10 Foreign Key User ID

3 Title Varchar 10 Not Null Title

4 Date Date - Not Null Date

5 Category_Id Int 5 Foreign Key Category Id

6 Account_Id Int 5 Foreign Key Account Id

7 Amount Int 10 Null Amount

8 Description Text 50 Not Null Description

23
Table Name : Income Details
Primary Key : Income_id

Foreign key : User_id, Category_id, Account_id

S.N NAME DATA TYPE SIZE CONSTRAINT DESCRIPTION

1 Income_id Int 5 Primary Key Income ID

2 User_id Int 5 Foreign Key User ID

3 Title Varchar 10 Not Null Title

4 Date Date - Not Null Date

5 Category_Id Int 5 Foreign Key Category Id

6 Account_Id Int 5 Foreign Key Account Id

7 Amount Int 10 Null Amount

8 Description Text 50 Not Null Description

Table Name : Budget


Primary Key : Budget _id

Foreign key : User_id, Category_Id

S.N NAME DATA TYPE SIZE CONSTRAINT DESCRIPTION

1 Budget_id Int 5 Primary Key Budget Id

2 Category_id Int 5 Foreign Key Category Id

3 User_id Int 5 Foreign Key User Id

4 Date Date - Not Null Date

5 Amount Int 10 Null Amount

24
Table Name : Account Details
Primary Key : Account_id
Foreign key : Teacher_id

S.N NAME DATA TYPE SIZE CONSTRAINT DESCRIPTION

1 Account_id Int 5 Primary Key Account ID

2 User_id Int 5 Foreign Key User ID

3 Accountname Varchar 25 Not Null Account Name

Table Name : Category Details


Primary Key : Category_id
Foreign key : User_id

S.N NAME DATA SIZE CONSTRAINT DESCRIPTION


TYPE

1 Category_id Int 5 Primary Key Category ID

2 User_id Int 5 Foreign Key User ID

3 Category Name Varchar 25 Not Null Category Name

4 Level Int 2 Not Null Level

Table Name : Report Details


Primary Key : Total_id
Foreign key : User_id, Account_id

S.N NAME DATA TYPE SIZE CONSTRAINT DESCRIPTION

1 Total_id Int 5 Primary Key Total_id

2 User_id Int 5 Foreign Key User_id

3 Account_id Int 5 Not Null Account_id

4 Totals Int 10 Not Null Totals

25
5. SYSTEM TESTING AND IMPLEMENTATION

5.1 SYSTEM TESTING

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

PRINTED INCOME REPORT

39
ADD BUDGET CATEGORY

ADD NEW ACCOUNT

40
ADD NEW CATEGORY FOR EXPENSE AND INCOME

ACCOUNT PROFILE

41
B. SAMPLE CODEING

Dashboard:

<?php session_start();

// Cek Active Link


function ActiveClass($requestUri)
{
$current_file_name = basename($_SERVER['REQUEST_URI'], ".php");

if ($current_file_name == $requestUri)
echo 'class="active"';
}

//check already login


if (!isset($_SESSION['UserId'])) {
header ('Location: login.php');
exit;
}

// 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');

//set global message notification


$msgBox ="";

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="">

<title>Money Manager Login</title>

<!-- Bootstrap Core CSS -->


<link href="css/bootstrap.min.css" rel="stylesheet">

<!-- MetisMenu CSS -->


<link href="css/plugins/metisMenu/metisMenu.min.css" rel="stylesheet">

<!-- Custom CSS -->


<link href="css/custom.css" rel="stylesheet">

<!-- Custom Fonts -->


<link href="font-awesome-4.1.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">

<!-- 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>

<!-- jQuery Version 1.11.0 -->


<script src="js/jquery-1.11.0.js"></script>

<!-- Bootstrap Core JavaScript -->


<script src="js/bootstrap.min.js"></script>

<!-- Metis Menu Plugin JavaScript -->


<script src="js/plugins/metisMenu/metisMenu.min.js"></script>

<!-- Custom Theme JavaScript -->


<script src="js/sb-admin-2.js"></script>

</body>

</html>
45

You might also like