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

Expense Management System Project Report

The document is a project report on the 'Expense Management System' submitted by Dolu Mohan for the Master of Computer Applications degree at Palamuru University. It details the development of a PHP application designed to efficiently track and manage daily expenses, replacing manual processes with a digital solution that offers features like expense categorization, reporting, and budgeting tools. The report includes acknowledgments, project descriptions, literature reviews, and technical specifications related to the system's development.

Uploaded by

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

Expense Management System Project Report

The document is a project report on the 'Expense Management System' submitted by Dolu Mohan for the Master of Computer Applications degree at Palamuru University. It details the development of a PHP application designed to efficiently track and manage daily expenses, replacing manual processes with a digital solution that offers features like expense categorization, reporting, and budgeting tools. The report includes acknowledgments, project descriptions, literature reviews, and technical specifications related to the system's development.

Uploaded by

dolumohan782
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

A Project Report

on
EXPENSE MANAGEMENT SYSTEM
Submitted for the partial fulfilment of the requirement for the
Award of Degree for
MASTER OF COMPUTER APPLICATIONS-MCA
By
DOLU MOHAN
(3901-24-864-010)
Under the Guidance
of
Dr. Md. GHOUSE MOHIUDDIN

DEPARTMENT OF COMPUTER SCIENCE


UNIVERSITY PG COLLEGE PALAMURU UNIVERSITY
MAHABUBNAGAR-509001
2025-2026
UNIVERSITY PG COLLEGE PALAMURU UNIVERSITY
MAHABUBNAGAR -509001
(Accredited by NAAC with ‘B’ Grade)

[Link]. PU/ADMIN Date:

CERTIFICATE

This is to certify that the project entitled “ EXPENSE MANAGEMENT SYSTEM” is successfully
completed by DOLU MOHAN bearing Hall Ticket NO: 3901-24-864-010, under the Guidance of
[Link] MOHIUDDIN for the partial fulfilment of the requirement for the award of the degree of
Master of Computer Applications from Palamuru University during the academic year 2025-2026.

This Bonafide project work, carried out by him for academic purpose and not been submitted to any other
University or Institution for any other degree or Diploma.

HOD PRINCIPAL
Evaluation of Report

This project report is Evaluated on


Examiners:

1.

2.
DEPARTMENT OF COMPUTER SCIENCE
UNIVERSITY PG COLLEGE PALAMURU UNIVERSITY
MAHABUBNAGAR -509001
(Accredited by NAAC with ‘B’ Grade)

[Link]. PU/ADMIN Date:

DECLARATION OF GUIDE

“EXPENSE MANAGEMENT SYSTEM” is a genuine work carried out by DOLU MOHAN, [Link]:
3901-24-864-003, student of MCA II year during the academic year 2025-2026 from
Palamuru University Mahabubnagar, under my guidance and supervision
This project work has not been produced to any other University/Institution for the award of any other
degree of diploma

SIGNATURE OF GUIDE
Name:
Designation:
DECLARATION

I hereby declare that the work presented in this project report titled “EXPENSE MANAGEMENT
SYSTEM” is genuine work done by me in partial fulfilment for the award of Master of Computer
Application degree Offered by PALAMURU UNIVERSITY for the academic year 2025-2026 and it has not
previously formed the basis for the award of any degree of diploma

DOLU MOHAN
[Link]-3901-24-864-010

ACKNOWLEDGEMENT

At every outset, I express my gratitude to the almighty Lord for showering His grace and blessings upon me
to complete this project.
Although my name appears on the cover of this book, many people have contributed in some form or
another to this project's development. I could not have completed this project without the assistance and
support of each of the following, and I sincerely thank them all.
I wish to place on record my deep sense of gratitude to the Principal [Link] Sudhan Reddy Garu
for his valuable suggestions and advice. I also express my deep sense of gratitude to HOD Dr. Md. Ghouse
Mohiuddin for his immense support, suggestions and technical advice in completing the project work and
throughout the course. I also extend my thanks to other Faculty members for their cooperation during my
course.
Finally, I would like to thank my friends for their support in helping me to complete this project.

DOLU MOAHN
[Link]-3901-24-864-010
ABSTRACT

The Expense Management System (EMS) is an innovative digital solution designed to streamline the
process of tracking, recording, and managing expenses for individuals and businesses. Powered by
modern web and cloud technologies, the system automates manual financial processes, ensuring
accuracy, security, and efficiency. It enables users to record, categorize, and analyze expenses in real time
while generating insightful analytical reports. With features such as customizable dashboards, budget
controls, receipt management, and automated workflows, the EMS enhances financial transparency and
accountability. By addressing the growing need for efficient financial tools, the proposed system
empowers users to make informed financial decisions and practice disciplined fiscal management in
today’s digital era.

The Expense Tracker is a computerized expense management system that aims to simplify and streamline the
tracking of daily expenses for individuals, both paid and unpaid. The system is designed to replace manual paper-
based processes with a computerized system that maintains records and facilitates easy access to data. This system
is built using the MERN stack, which includes MongoDB, [Link], [Link], and [Link], providing a full-stack
JavaScript development experience.

With this system, organizations can automate the process of expense reporting, approval, and reimbursement, thereby
reducing manual effort and increasing productivity. The system integrates with accounting systems and credit card
providers to provide real-time data flow, ensuring that expenses are accurately recorded.

The system provides a user-friendly interface that allows users to submit expenses, attach receipts, and monitor the
status of their reimbursement requests. The application features an intuitive dashboard that displays an overview of all
expenses, enabling administrators to analyze expenses, identify trends, and make informed decisions based on data.

The Expense Management System also provides features such as automated expense categorization, policy
compliance checks, and receipt scanning, ensuring that expenses meet company guidelines. The application is highly
scalable and can be customized to fit the specific needs of each organization.

Overall, the Expense Management System built using the MEAN stack provides a comprehensive solution for
organizations looking to manage their expenses efficiently. It offers real-time data flow, automation, and
customization options, making it a valuable tool
CHAPTER 1
PROJECT DESCRIPTION

1.1 INTRODUCTION
We are developing an php application named as “Expense Tracker” and this application
is used to manage the application user‘s daily expenses in a more efficient and manageable
way. By using this application we can reduce the manual calculations for their daily
expenses and keep the track of the expenditure. In this application, user can provide his
income to calculate his total expenses per day and these results will stored for unique user.
This application has many limitations which can be overcome in future. The main purpose
of this application is to track all the expenses made by a user. The user can generate report
of his expenses based on the transaction date of the expenses or category of items. This
application will be deployed on separate web server and application server. And for load
balancing, it will be deployed on two web servers and application servers. This Expense
Tracker application falls in the Finance Category and serves the important purpose of
managing finances which is a very important part of one’s life. The software product went
through the design, development, and the testing phase as a part of the Software
Development Lifecycle. The application’s interface is designed using custom art elements,
the functionality is implemented using php, and the phase of testing the product was
accomplished successfully. The application is not much user intensive but just comprises of
having them enter the expense amount, date, category, merchant and other optional
attributes (taking picture of the receipts, entering notes about the expense, adding
subcategories to the categories). With this entered information, the user is able to see the
expense details daily, weekly, monthly, and yearly in figures, graphs, PDF format, and can
print them as well if a printer is detected or scanned nearby. All these topics have been
explained in detail in their respective chapters. The aim of this is to provide a solution for
this application users on how to manage finances in any circumstance by keeping track of
their expenses every day. Ultimately, this contributes to societal well-being. Expense
tracker is complete to track your all the expenses bared by your pocket or based by you &
manage your personal finance. So that you can trace where your money goes as well as
from where money comes in, you can limit & plan accordingly. A feature rich tracking
application with numerous powerful tools like, Income/Expense, Bills, Accounts, Reports
etc. Not only
that, app has all the information yet not un-secure as it does not ask to save any sensitive
data for its operations. Budgeting is an integral part of the society. Budget Tracking
involves recording and analyzing the incomes and expenses of a person or an organization
over a particular period of time. Today, since we are living in a hurry up and get it done
society, many people are looking forward to efficient ways to budget their time and money.
During the recent years, some research has been car-ride out on household budget .It has
been noted that in most cases, budget management is being done mentally and never being
put on paper which makes Expense Tracking very difficult. This is probably due to the fact
that many people do not know how to do it or do not have an appropriate means that will do
Expense Tracking and Analia-sis for them. Budgeting also requires us to look ahead and
formalize future goals. By establish a budget, people can set goals for achieving a certain
level of income and monitor their expenses. Many home based and small-business owners
have observed that their increase in profit margins did not occur until they had a written
revenue goal and a method with which to monitor expenses .Expense Tracking is important
because it helps us to keep track of our expenditures based on the incomes made. It also
allows us to plan for future projects and expenditures. Being able to Ana-lyse and compare
income and expenses over a period of time, by calculating monthly/yearly prof-it’s and
expenses as well as deviations, help us to take important decisions. Bankruptcy and future
budgets can also be predicted via the data fed during expense tracking.
CHAPTER 2
LITERATURE REVIEW.
EXISTING SYSTEM:

If we want to balance a income and expense for each month we have to do it manually
but we 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 php
application has been so much helpful for a person to avoid the manual way calculating his
income and expenses. In this application we have features like add expenses categories add
income so that we can add what are the income and expenses has been done for a month. But it
can used to perform calculation on income and expenses to overcome this problem we propose
the new application.
DISADVANTAGES OF EXISTING SYSTEM:

 Experienced manager may attempt to introduce budgetary slack.


 The time requirement can be unusually large if there is a participative
budgeting process in place, since such a system involves an unusually large number of
employees.
 The expense may prescribe that certain amounts of overhead costs be allocated to
various departments.
 Time required. It can be very time-consuming to create a budget.

1.2 PROPOSED SYSTEM:

In this php application we are going to develop this by adding some extra features. In
expenses we have some expense feature like add expenses we can add new expense for a month,
add categories , export expenses (it will remain as a specific date how much expense has taken
for a month), remove export files (it will remove the remainder for the month), view expenses
(we can view what are all expense for a month). In income tracker some of the features like add
income, add category, categories, export income, remove export files, and view expenses. In add
income (we can add new income for a month), add categories (we can add new categories for a
month), export income (it will remind us in a date what we have given i.e. from date and to date),
remove export files (it will remove the remainder what we have given to remind). By adding
these features it helps the users to work more efficient and in an effective manner. This
eliminates the drawback of the existing system application.

ADVANTAGES OF PROPOSED SYSTEM

 Add expense (we can add new expense for a month)


 Add categories (we can add new categories for a month)
 Export income (it will remind us in a date what we have given i.e. from date and to date)
 Remove export files (it will remove the remainder what we have given to remind).
1.2.1 HARDWARE SPECIFICATION

 Processor : Dual core processor 2.6.0 GHz


 RAM : 1GB
 Hard disk : 160 GB
 Compact Disk : 650 MB
 Keyboard : Standard keyboard
 Monitor : 15 inch color monitor
1.2.2 SOFTWARE SPECIFICATION
 Front End : PHP
 IDE : dream weaver
 Back End : My SQL

1.2.3 PHP

PHP is server side back end programming language. It executes in server along with
maximum all available web servers like Apache, IIS (Internet Information Server) etc.., and
return the response as required MIME type. It is a Pre Process Hypertext, we could do many
things on server by using PHP on server and co-ordinate with DB server for CURD (Create,
Update, Read, and Delete) actions. Front end in the seance, UI which intact the users, it can done
by HTML, or any others. And UI Behavior is defined in UI back end Languages (Scripting
languages) via: Java script, VB script

PHP started out as a small open source project that evolved as more and more people found out
how useful it was. Rasmus Lerdorf unleashed the first version of PHP way back in 1994.

 PHP is a recursive acronym for "PHP: Hypertext Preprocessor".

 PHP is a server side scripting language that is embedded in HTML. It is used to manage
dynamic content, databases, session tracking, even build entire e-commerce sites.

 It is integrated with a number of popular databases, including MySQL, PostgreSQL, Oracle,


Sybase, Informix, and Microsoft SQL Server.
 PHP is pleasingly zippy in its execution, especially when compiled as an Apache module on
the UNIX side. The MySQL server, once started, executes even very complex queries with huge
result sets in record-setting time.

 PHP supports a large number of major protocols such as POP3, IMAP, and LDAP. PHP4
added support for Java and distributed object architectures (COM and CORBA), making n-tier
development a possibility for the first time.

 PHP is forgiving: PHP language tries to be as forgiving as possible.

 PHP Syntax is C-Like.

Common Uses of PHP


PHP performs system functions, i.e. from files on a system it can create, open, read, write
and close them. The other uses of PHP are:
PHP can handle forms, i.e. gather data from files, save data to a file, thru email you can send
data, return data to the user. You add, delete and modify elements within your database thru
PHP. Access cookies variables and set cookies. Using PHP, you can restrict users to access some
pages of your website. It can encrypt data.
Characteristics of PHP
Five important characteristics make PHP's practical nature possible:
 Simplicity
 Efficiency
 Security
 Flexibility
 Familiarity
PHP Variables
The main way to store information in the middle of a PHP program is by using a variable.
Here are the most important things to know about variables in PHP.
 All variables in PHP are denoted with a leading dollar sign ($).
 The value of a variable is the value of its most recent assignment.
 Variables are assigned with the = operator, with the variable on the left-hand side and the
expression to be evaluated on the right.
 Variables can, but do not need, to be declared before assignment.
 Variables in PHP do not have intrinsic types - a variable does not know in advance
whether it will be used to store a number or a string of characters.
 Variables used before they are assigned have default values.
 PHP does a good job of automatically converting types from one to another when
necessary.
PHP variables are Perl-like. PHP has a total of eight data types which we use to construct our
variables:
 Integers: are whole numbers, without a decimal point, like 4195.
 Doubles: are floating-point numbers, like 3.14159 or 49.1.
 Booleans: have only two possible values either true or false.
 NULL: is a special type that only has one value: NULL.
 Strings: are sequences of characters, like 'PHP supports string operations.'
 Arrays: are named and indexed collections of other values.
 Objects: are instances of programmer-defined classes, which can package up both other
kinds of values and functions that are specific to the class.
 Resources: are special variables that hold references to resources external to PHP (such as
database connections).
Back End (MySQL)
MySQL is the world's most used open source relational database management system
(RDBMS) as of 2008 that run as a server providing multi-user access to a number of databases.
The MySQL development project has made its source code available under the terms of the GNU
General Public License, as well as under a variety of proprietary agreements. MySQL was
owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned
by Oracle Corporation.

MySQL is a popular choice of database for use in web applications, and is a central
component of the widely used LAMP open source web application software stack—LAMP is an
acronym for "Linux, Apache, MySQL, Perl/PHP/Python." Free-software-open source projects
that require a full-featured database management system often use MySQL.

For commercial use, several paid editions are available, and offer additional functionality.
Applications which use MySQL databases include: TYPO3, Joomla, Word Press, phpBB,
MyBB, Drupal and other software built on the LAMP software stack. MySQL is also used in
many high-profile, large-scale World Wide Web products, including Wikipedia, Google (though
not for searches), ImagebookTwitter, Flickr, [Link], and YouTube.

Inter images

MySQL is primarily an RDBMS and ships with no GUI tools to administer MySQL
databases or manage data contained within the databases. Users may use the included command
line tools, or use MySQL "front-ends", desktop software and web applications that create and
manage MySQL databases, build database structures, back up data, inspect status, and work with
data records. The official set of MySQL front-end tools, MySQL Workbench is actively
developed by Oracle, and is freely available for use.

Graphical

The official MySQL Workbench is a free integrated environment developed by MySQL


AB, which enables users to graphically administer MySQL databases and visually design
database structures. MySQL Workbench replaces the previous package of software, MySQL
GUI Tools. Similar to other third-party packages, but still considered the authoritative MySQL
frontend, MySQL Workbench lets users manage database design & modeling, SQL development
(replacing MySQL Query Browser) and Database administration (replacing MySQL
Administrator).MySQL Workbench is available in two editions, the regular free and open source
Community Edition which may be downloaded from the MySQL website, and the proprietary
Standard Edition which extends and improves the feature set of the Community Edition.

MySQL ships with some command line tools. Third-parties have also developed tools to
manage a MySQL server, some listed below. Maatkit - a cross-platform toolkit for MySQL,
PostgreSQL and Memcached, developed in Perl Maatkit can be used to prove replication is
working correctly, fix corrupted data, automate repetitive tasks, and speed up servers. Maatkit is
included with several GNU/Linux distributions such as CentOS and Debian and packages are
available for Programming. MySQL works on many different system platforms, including AIX,
BSDi, FreeBSD, HP-UX, eComStation, i5/OS, IRIX, Linux, Mac OS X, Microsoft Windows,
NetBSD, Novell NetWare, OpenBSD, OpenSolaris, OS/2 Warp, QNX, Solaris, Symbian,
SunOS, SCO Open Server, SCO UnixWare, Sanos and Tru64. A port of MySQL to OpenVMS
also exists. MySQL is written in C and C++. Its SQL parser is written in yacc, and a home-
brewed lexical analyzer. Many programming languages with language-specific APIs include
libraries for accessing MySQL databases. These include MySQL Connector/Net for integration
with Microsoft's Visual Studio (languages such as C# and VB are most commonly used) and the
JDBC driver for Java. In addition, an ODBC interimage called MyODBC allows additional
programming languages that support the ODBC inter image to communicate with a MySQL
database, such as ASP or ColdFusion. The HTSQL - URL-based query method also ships with a
MySQL adapter, allowing direct interaction between a MySQL database and any web client via
structured URLs.

Features

As of April 2009, MySQL offered MySQL 5.1 in two different variants: the open source
MySQL Community Server and the commercial Enterprise Server. MySQL 5.5 is offered under
the same licenses. They have a common code base and include the following features:

A broad subset of ANSI SQL 99, as well as extensions

 Cross-platform support
 Stored procedures
 Triggers
 Cursors
 Updatable Views
 Information schema

Strict mode (ensures MySQL does not truncate or otherwise modify data to conform to an
underlying data type, when an incompatible value is inserted into that type)
X/Open XAdistributed transaction processing (DTP) support; two phase commit as part of this,
using Oracle's InnoDB engine

 Transactions with the InnoDB, and Cluster storage engines


 SSL support
 Query caching
 Sub-SELECTs (i.e. nested SELECTs)
 Replication support (i.e. Master-Master Replication & Master-Slave Replication)
 Embedded database library
 Partitioned tables with pruning of partitions in optimizer
 Shared-nothing clustering through MySQL Cluster
 Hot backup (via mysqlhotcopy) under certain conditions

Multiple storage engines, allowing one to choose the one that is most effective for each table in
the application (in MySQL 5.0, storage engines must be compiled in; in MySQL 5.1, storage
engines can be dynamically loaded at run time): Native storage engines (MyISAM, Falcon,
Merge, Memory (heap), Federated, Archive, CSV, Black hole, Cluster, EXAMPLE, Maria, and
InnoDB, which was made the default as of 5.5). Partner-developed storage engines (solidDB,
NitroEDB, ScaleDB, TokuDB, Infobright (formerly Brighthouse), Kickfire, XtraDB, IBM DB2).
InnoDB used to be a partner-developed storage engine, but with recent acquisitions, Oracle now
owns both MySQL core and InnoDB.
CHAPTER 3
SYSTEM DESIGN

DFDs:

A two-dimensional diagram explains how data is processed and transferred in a


system. The graphical depiction identifies each source of data and how it interacts with other
data sources to reach a common output. Individuals seeking to draft a data flow diagram must
identify external inputs and outputs, determine how the inputs and outputs relate to each other,
and explain with graphics how these connections relate and what they result in. This type of
diagram helps business development and design teams visualize how data is processed and
identify or improve certain aspects.
Data flow Symbols:

Symbol Description

An entity. A source of data or a destination


for data.

A process or task that is performed by the


system.

A data store, a place where data is held


between processes.

A data flow.

LEVEL 0

DFD Level 0 is also called a Context Diagram. It’s a basic overview of the whole system
or process being analyzed or modeled. It’s designed to be an at-a-glance view, showing the
system as a single high-level process, with its relationship to external entities. It should be easily
understood by a wide audience, including stakeholders, business analysts, data analysts and
developers. A context diagram gives an overview and it is the highest level in a data flow
diagram, containing only one process representing the entire system. It should be split into major
processes which give greater detail and each major process may further split to give more detail.
Level 0 DFD must balance with the context diagram it describes. Input going into a process is
different from outputs leaving the process. Data stores are first shown at this level.

User

Expense
Tracking

Database

Fig 2.1.1 level 0-DFD LEVEL

DFD Level 1 provides a more detailed breakout of pieces of the Context Level Diagram.
You will highlight the main functions carried out by the system, as you break down the high-
level process of the Context Diagram into its sub – processes. Level 1 - interaction between 2
different business applications. This is primarily used to explain the process to business and tech
leads, QA leads. As described previously, context diagrams (level 0 DFDs) are diagrams where
the whole system is represented as a single process. A level 1 DFD notates each of the main sub-
processes that together form the complete system. We can think of a level 1 DFD as an
“exploded view” of the context diagram.
New
User Database
user

No Yes

Login Register

Add expense

View expense

Compare expenses

Fig 2.1.2 level 1 DFD

2.2 ARCHITECTURAL DESIGN

A system architecture or systems architecture is the conceptual model that defines the
structure, behavior, and more views of a system. An architecture description is a formal
description and representation of a system, organized in a way that supports reasoning about the
structures and behaviors of the system. System architecture can comprise system components,
the externally visible properties of those components, the relationships (e.g. the behavior)
between them. It can provide a plan from which products can be procured, and systems
developed, that will work together to implement the overall system. There have been efforts to
formalize languages to describe system architecture; collectively these are called architecture
description languages (ADLs).
EXPENSE TRACKER SYSTEM

USER

Register

Login

Add expense

Expense graph

Fig 2.2 architecture diagram

Various organizations define systems architecture in different ways, including:

 An allocated arrangement of physical elements which provides the design solution for a
consumer product or life-cycle process intended to satisfy the requirements of the
functional architecture and the requirements baseline.
 Architecture comprises the most important, pervasive, top-level, strategic inventions,
decisions, and their associated rationales about the overall structure (i.e., essential
elements and their relationships) and associated characteristics and behavior.
 If documented, it may include information such as a detailed inventory of current
hardware, software and networking capabilities; a description of long-range plans and
priorities for future purchases, and a plan for upgrading and/or replacing dated equipment
and software.
 An architecture diagram is a graphical representation of a set of concepts that are part of
architecture, including their principles, elements and components. Architecture diagram
can help system designers and developers visualize the high-level, overall structure of
their system or application, in order to ensure the system meets their users' needs. Using
architecture diagram, you can also describe patterns that are used throughout the design.
It's somewhat like a blueprint that you use as a guide, so that you and your colleagues can
discuss, improve and follow.

ASSUMPTIONS

Before developing the application, we have made following assumptions,

1. One user can have only one account.


2. One category can have many items.
3. Each user can define his own category list.
4. When a user opens an Account the first time, the balance will be zero.
5. In current implementation of this project one transaction contains only one item but the
structure that we provide is enabling us to do further extension if we want to apply one
transaction contains many items. For the sake of simplicity and the time constraint we
decided to implement the current condition.
6. User can generate the expense report based on the transaction date or category type.
2.2 ARCHITECTURAL DESIGN

A system architecture or systems architecture is the conceptual model that defines the
structure, behavior, and more views of a system. An architecture description is a formal
description and representation of a system, organized in a way that supports reasoning about the
structures and behaviors of the system. System architecture can comprise system components,
the externally visible properties of those components, the relationships (e.g. the behavior)
between them. It can provide a plan from which products can be procured, and systems
developed, that will work together to implement the overall system. There have been efforts to
formalize languages to describe system architecture; collectively these are called architecture
description languages (ADLs).
EXPENSE TRACKER SYSTEM

USER

Register

Login

Add expense

Expense graph

Fig 2.2 architecture diagram

Various organizations define systems architecture in different ways, including:

 An allocated arrangement of physical elements which provides the design solution for a
consumer product or life-cycle process intended to satisfy the requirements of the
functional architecture and the requirements baseline.
 Architecture comprises the most important, pervasive, top-level, strategic inventions,
decisions, and their associated rationales about the overall structure (i.e., essential
elements and their relationships) and associated characteristics and behavior.
 If documented, it may include information such as a detailed inventory of current
hardware, software and networking capabilities; a description of long-range plans and
priorities for future purchases, and a plan for upgrading and/or replacing dated equipment
and software.
 An architecture diagram is a graphical representation of a set of concepts that are part of
architecture, including their principles, elements and components. Architecture diagram
can help system designers and developers visualize the high-level, overall structure of
their system or application, in order to ensure the system meets their users' needs. Using
architecture diagram, you can also describe patterns that are used throughout the design.
It's somewhat like a blueprint that you use as a guide, so that you and your colleagues can
discuss, improve and follow.

ASSUMPTION

Before developing the application, we have made following assumptions,

7. One user can have only one account.


8. One category can have many items.
9. Each user can define his own category list.
10. When a user opens an Account the first time, the balance will be zero.
11. In current implementation of this project one transaction contains only one item but the
structure that we provide is enabling us to do further extension if we want to apply one
transaction contains many items. For the sake of simplicity and the time constraint we
decided to implement the current condition.
12. User can generate the expense report based on the transaction date or category type.

DATABASE DESIGN

After discussing with other groups, we came up with following database schema. We
agreed with the schema of separating items with transaction because we want to keep track of the
items. Our team tried to make specific categorization for specific user so user can name his own
categories, as he likes.
DATA DICTIONARY

Table structure for table user_category

Field Type Null Default

id int(10) Yes NULL

user varchar(100) Yes NULL

category varchar(100) Yes NULL

Table design

Dumping data for table user_category

1 acharyak182@[Link] Food

2 acharyak182@[Link] Education

3 acharyak182@[Link] Transport

4 acharyak182@[Link] Medical

5 acharyak182@[Link] Grocery

6 acharyak182@[Link] entertainment

Table structure for table user_details

Field Type Null Default

id int(100) Yes NULL


name varchar(100) Yes NULL

contact varchar(100) Yes NULL

email varchar(100) Yes NULL

address varchar(100) Yes NULL

password varchar(100) Yes NULL

rdate varchar(100) Yes NULL


Dumping data for table user_details

1 Kamal 7339333830 acharyak182@[Link] trichy 123 01-11-19

Table structure for table user_expense

Field Type Null Default

id int(10) Yes NULL

user varchar(100) Yes NULL

month varchar(100) Yes NULL

cdate varchar(100) Yes NULL

category varchar(100) Yes NULL

amount varchar(100) Yes NULL

status varchar(100) Yes NULL

Dumping data for table user_expense

1 acharyak182@[Link] 11 01 food 100 0

2 acharyak182@[Link] 11 01 transport 100 0


Table structure for table user_income

Field Type Null Default

id int(10) Yes NULL

user varchar(100) Yes NULL

amount varchar(100) Yes NULL

month varchar(100) Yes NULL

Dumping data for table user_income

1 acharyak182@[Link] 10000 11

2 acharyak182@[Link] 5000 10
3.3 RELATIONSHIP DIAGRAM

Entity Relationship Diagram, also known as ERD, ER Diagram or ER


model, is a type of structural diagram for use in database design. An ERD
contains different symbols and connectors that visualize two important
information: The major entities within the system scope, and the inter-
relationships among these entities. And that's why it's called "Entity"
"Relationship" diagram (ERD)!When we talk about entities in ERD, very often we
are referring to business objects such as people/role (e.g. Student), tangible
business objects (e.g. Product), intangible business objects (e.g. Log), etc.
"Relationship" is about how these entities relate to each other within the system.

Fig 3.3.1ER diagram


4.1 MODULES

 USER
4.1.1 USER MODULE
 Registration: The user has to register into the system providing his
personal details. The user will enter their individual details to be a user in
the developed php application. Thus while registering they can also get the
username and password for login session.
 Login: The user has to login into the system to add or view the expenses
details, the user is remembered once he logs in until he logs out saving his
time to login every time.
 Add Expenses: The user is allowed to add expenses refer to also adding a
picture related to the details. The user can add picture or leaves empty
without adding picture. Thus it helps the user to describe the event they are
posting.
 View Expenses: The user can view the expenses details the user has been
selected from the admin. The expenses details can’t be viewed by
everyone which are in public. Thus the expenses transaction details will be
blocked if the user feels uncomfortable.
 Added List: User can also view the list of expenses added by him and
action taken by admin if any. The list can be viewed by the user which
they posted in public. If they wish to delete they can delete it

You might also like