SlideShare a Scribd company logo
1 of 95
Download to read offline
1
Chapter-1
INTRODUCTION
1.1BRIEF DESCRIPTION OF THE ORGANIZATION
1.1.1. At a Glimpse
WebTek Labs Pvt. Ltd. is recognized as a leading IT solution providing organization with
a dynamic and fast growing team of diversely talented individuals. Incorporated in 2001,
in our aim to provide the best talent, we initially started with Recruitment & Staffing
services. We paralleled this by providing knowledge and skill development certification
training programs. International Software Testing qualification board quality (ISTQB)
Program that aims to provide IT companies trained software Testers has reached soaring
heights of recognition over the years.
Few years later after its inception, WebTek Labs added Software development & testing
services to the portfolio.Having partnered and worked with some of the leading names
across Education, IT, ITES, Banking, Insurance, Aviation, Retail, Healthcare, Hospitality,
Media, Manufacturing and FMCG sectors, WebTek Labs has explored business
opportunities in software solutions with the Government, Corporate and Institutes.
With over a decade of experience we create and deliver high-impact solutions, enabling
our clients to achieve their business goals and enhance their competitiveness. In our pursuit
of excellence, WebTek's Research & Development team consistently innovates to provide
up-to-date solutions keeping in pace with changing times. Our mission is for businesses to
leverage the internet and mobility to work smarter and grow faster. We work as your
outsourcing and consulting partner. Our business verticals are:
Recruitment & Staffing
Software Development and Testing Services
Digital Marketing
Enterprise Mobility
Certifications & Trainings for Career Management
Software solutions
2
1.1.2. Digital Journey
Our digital journey allows our customers to use the power of digital technology to
transform your business. Unlock your organization’s full capabilities and improve your
efficiencies by using the latest trends in technology.
1.1.3. M i s s i o n A n d V i s i o n
Our vision at Webtek Labs is to see our company grow consistently while being committed
to provide unsurpassed quality and aiming for customer satisfaction. to lead in the creation
and delivery of innovative solutions and services that enable our clients to win in the
changing world of work. OUR TEAM has expertise ranging from design to development,
training to placements and solutions to implementaion. We combine this knowledge with
proactive thinking and strategic planning to approach new challenges with your overall
business objectives in mind. WebTek Lab's management team brings together a wealth of
experience in both technological and organizational development that is critical in helping
our customers achieve their goals.
1 . 1 . 4 . G o a l
We intend to provide premier services to our customers from an environment that is highly
ethical, and offers teamwork and creativity along with performance. We believe in
delivering value and that too 'On Time' to build a strong relation based on its performance
so that the name Webtek Labs becomes synonymous with the "provider of best innovative
IT solutions".
1.1.5. History
Webtek Labs provides effective and flexible technology and business solutions that meet
the demands of startups to fortune 500 companies and some of the most recognized brands
on the planet. And we do it with cutting-edge technologies, thanks to our close partnerships
with the world's biggest vendors.Webtek Labs started in 2001 after experienced Software
3
Architects, Business Analysts and IT Consultants joined hands to form a company with a
difference.
“Our subject matter experts and industry experienced speakers add a perspective that helps
in channelizing the potential of the students in a definite path. Our objective is to prepare
the students with the technical capabilities to meet the odds of the corporate world. Like
our College workshops our JAVA Training Courses and Software Testing Courses are
certified and accredited with industry relevant content.”
1.1.7. Business Enquiry
If you need information click here or send us an enquiry to delhi.training@webteklabs.com
1.1.8. Careers
For recruitment queries please send us an enquiry to career@webteklabs.com
1.1.9. Feedback
For feedback please send us mail on support@webteklabs.com
4
1.2General Description of the Project under Study:
This Project is for the users. The user use this for adding their income to the web
application,This project helps users to find best budget . This project is based on the adding
the income and expense and track record of previous expense (Web Application).
1.2.1 Overview
As the internet is growing fast and large group of people have access to the internet, people
started doing transaction through internet instead of visiting places directly, an application
helping users to manage their expenses, personal incomeThe proposed “YRMoney
Analyzer” is designed keeping both record of admin and user side with the help of
interacting menu. As “YRMoney Analyzer” is web based application will reachable to
wide range of customers and will allow them to check their balance online, the features
will be extended to Android and iOS devices for better reach to the end user.
1.2.2. Purpose
The main purpose of the “YRMoney Analyzer” is to reach to wider range of users and to
educate them about existing and new applications and benefits by different applications.
One more purpose is to allow customers to place order online using interactive menu so
that they can look previous expense at home. This reduces the time consumption. The
“YRMoney Analyzer” is to be developed to reduce the manual work carried out in home
using pen,paper or copy and writting all expense with calculator and their is no track of
previous expense users will be introduced with the interactive menu. This project helps the
admin to know customers order details in few seconds. Due to digitization and a step
towards cashless economy, online payment system needs to be introduced.in upcoming
years.
1.2.3 Users Purpose
This project emphasizes on the common daily problems which an individual faces in
managing an account manually or tracking their expenses with proportionate to income.
The key area which it focuses is time. This website saves time and effort of the people as
it allows people to look their expenses online in a mobile manner i.e. remotely. You don’t
have to calculate manually at homefor your personal salary/income the place for your
5
money is analyzed all this can be sought out by the website itself. In certain situations
when we have to have see balance instantly we can see online and shuffle through the
menu items online.
1.2.4. Existing System
There are many calculators available in an area. Therefore, finding your expenses previous
record in unknown places is difficult. So users can visit this web application/android app
to find best budget making application according to income,expense, budget or time. If
user wants to plan their money should be managed according to expenses ,bills,and savings
for future use. So, they track using calculators,pen,copy.e.tc and what if it copy or register
is forgotten or lost . so their is no any photocopy of previous budget record .It takes too
much time to calculate and maintain .
1.No option for keeping budget record.
2.Required to keep a rough account record on paper
3.Time consuming.
4.Cash problem
5.Maintaining problem
1.2.5 Proposed Solution
As the internet is growing fast and large group of people have access to the internet, people
started doing transaction through internet instead of visiting places directly An application
helping users to manage income/expenses. There are many expenses in daily,monthly
routine. To manage users budget as per income and expected expenses with previous record
of monthly ,yearly and on daily basis .So users can visit this web application to manage
personal budget .
Problem with existing system like:
 user have to manage the income, expense by writting in a paper.
 It take too much time to maintain personal budget on daily basis .
 Expense may increase as per income as if no budget exist.
 Manual budget (paper or copy )may lost or forgotten.
6
 Time consuming process .
 No tracking of previous expenses.
The features will be extended to Android and iOS devices for better reach to the end user.
1.2.6 User Requirements:
 Problems user facing earlier:
 Earlier we have to do this kind of hard work to find out a calculator and write all expenses
in a paper
 We have to make the list of the expenses and notedown the amount and date
 There are many budget planner in an area.
1.2.7 Solution for the Users
As the internet is growing fast and large group of people have access to the internet, people
started doing transaction through internet instead of visiting places directly This project
emphasizes on the common daily problems which an individual faces for maintaining
budget or deal with day-to-day expenses .The key area which it focuses is making budget.
This website saves time and effort of the people as it allows people to check their balance
and budget.You don’t have to maintain any manual work of maintaining budget all this can
be sought out by the website itself. In certain situations when we have to see previous
record of day or month or week menu items online. A well-managed budget according to
users pocket after processing income,expenses .Therefore remaining balance can be used
wisely along with daily,monthly and yearly record of particular user budget
1.2.8. Establish the Need of the New System
An application helping users to search for best budget planner online so , browse menus,
place orders and make payments for delivery where they can track the location of the driver
through an indigenous tracking system. There are many expenses in daily,monthly routine.
Therefore, To manage users budget as per income and expected expenses with previous
record of monthly ,yearly and on daily basis .So users can visit this web application to
manage personal budget .
7
1.2.9.Objectives of the Project
There are many accounts information system which are commercially used in different
corporate house. But there is no standard information system available for personal finance
management. In this context a personal finance management information system which is
online is truly important.In this project a personal finance management based on the
requirements is conceptualized and implemented. The system enables anyone to manage
personal income and expenses with ease via online information system. It is designed to
help users to manage their finances to understand where their money is going, pinpointing
the areas of excessive expenditure and assist to take decision of cutting down unnecessary
expenses. It is found that this information system helps to track finances and generate
reports of all.The system is designed and developed using HTML,PHP, and MySQL as the
backend database on Apache Server. The system is developed and implemented and the
result is satisfactory. In the future this system will be enhanced based on further
requirement.
1.2.10 Methodology:
Figure: Water Fall Model Approach
The model basically being followed is the WATER FALL MODEL, which states that the
phases are organized in a line order. First of all feasibility study is done. Once that parties
requirements
Design
Implementation
verification
maintenance
8
over the requirement analysis and project planning begins. If system exists and
modification and addition of new modules needed, analysis of present system can be used
as basic model. The design starts after the requirement analysis is complete and the coding
begins after the design is complete. Once the programming is completed, the testing is
done. In this model, the sequence of activities performed in a software development project
areas:-
• Requirement Analysis
• Project Planning
• System Design
• Detail Design
• Coding
• Unit Testing
• System Integration & Testing
This methodology is chosen as it is very simple to understand and use. In a waterfall model,
each phase must be completed fully before the next phase can begin. software development
model is basically used for the for the project which is small and there are no uncertain
requirements. At the end , a review takes place to determine if the project is on the right
path and whether or not to continue or discard the project. In this model software testing
starts only after the development is complete. In waterfall model phases do not overlap
9
CHAPTER-2
SYSTEM REQUIREMENT ANALYSIS
2.1 Literature Review
This project contains managing expenses using budget services which provides solutions
and information related to various budgets which have different menu for their different
branches according to their needs independently.
An effective budget needs to be put down on paper or via a spreadsheet from a student
budget template. On this budget, make a list of all your forms of incomes (including your
job, loans, parents, etc.), followed by all your expenses (such as rent, books, food, etc.).
Make sure to differentiate between your needs versus your wants. The final number that
you calculate should not be a negative number. If it is, you need to make some adjustments
to make sure your take-home pay covers all your expenses.To make things simple for you,
consider taking advantage of an effective online tool to help you set up a budget and
manage your finances. YRMoney Analyzer offers free, help you save money and budget
effectively. This online service offers tools and advice to help you understand your finances
and clearly see where your money is going. Money seems to be a hard substance for many
people to manage. If you think about money as little employees with different jobs, you
begin to have a powerful financial system that makes managing your income and expenses
a whole lot easier.You see, the wealthy, financially free people of the world have devised
a money management system that helped them get, and stay, wealthy.The great thing about
a system is that if you set it up and it works—you should stick with it. Just like McDonalds
has a system that allows all of their hamburgers to taste the same across the nation, you can
have a money management system that provides you with all the money you need and want
for the rest of your life.As a student, eating out may seem like the easiest thing to do when
it's feeding time. While there most likely isn't a shortage of restaurants and eateries in and
around your school, you might be leaving your wallet empty at the end of the month while
your stomach may be full.It's fine to eat out every now and then, but the majority of your
10
meals should be eaten in. Make sure you are careful about how much you're spending on
dining out. Take advantage of grocery store specials and prepare most of your meals
yourself to save a bundle at the end of the month.Creating a budget - and sticking to it -
can help you keep your finances in check
In an automated money management system is proposed which will keep track of user
expenses smartly. Basically, they implemented a money management system for different
type of expenses in which user will make online personal budget by one click only.By
means of online application for Tablet PCs this system was implemented. The front end
was developed using HTML5,CSS3,JAVASCRIPT,JQUERY and at the backend
PHP/MySQL database was used. In User using a Smartphone is considered as a basic
assumption for the system. Financial is one hot topic that develops in middle-class society.
The middle class tend to try to improve the standard of living and lifestyle gradually and
continuously. The middle class do not hesitate to shop at online stores. Online shops
generally provide all the needs of the middle class, ranging from basic needs to the needs
of tertiary. Basically middle class people need instant solutions, easy and full of imagery
to resolve their financial problems. The middle class does not have much time to take care
of their finances. On weekdays people only have 3 hours per day to the rest for personal
activities
During our monthly budget meetings, we:
 Analyze the previous month’s budget and expenditures
 Discuss what we did well and what can be improved upon
 Preview the upcoming month’s budget
 Track our debts (currently consists of mortgage balances)
 Look at our net worth
 Review short and long term financial goals
 Dispense personal spending money
11
2.1.1Research Methodology
Personal finance software has not developed in India yet. The developers sell the personal
finance software as commodities. Commodities refer to products that are undifferentiated,
same products, same costs, and same value . Personal finance related to the money, and
people tend to high emotionally about money. The product must have engagement with
the customers. Personal finance software is not only asking for financial data input,
processing all of the data, and display the report. The software has to provide more services,
such as consulting, personal financial case, or other benefits.
According to the explanations on the background can be concluded three important issues
that form the focus of the study, namely:
1. Indian middle class numbers continue to increase significantly. According to a study
conducted by Insight MarkPlus are 45.7% people of middle class plan for their future,
including their future finance. They need easy and quick money management services.
Financial planning solutions that are practical and comprehensive become a necessity for
the middle class.
2. Middle class consumers do not have enough time to manage their personal finance.
Some of them are not able to manage their income and outcome. They are relying on credit
12
card and bad debt. Although they realize that they need advice from the advisor, they do
not want to pay the personal finance advisory services. According to the functions of the
personal finance application are:
1. It must be able to check and save accounts.
2. It must be able to categorize the transactions.
3. It is flexible to create and easy to monitor a budget.
4. It helps the users to achieve their saving goals.
5. It must be able to track the way the money goes by.
6. It must be secure application
A survey instrument was developed to gather information on consumers’
sociodemographic characteristics, their savings habits and priorities, and their interest in
using the services. One section of the survey instmrnent focused on the socioeconomic
characteristics of the respondents. Questions in this section included age, gender, ethnicity,
education, income, family size, employment status and work habits, and home access to
fax machines, personal computers, and the Internet. Another section of the survey dealt
with consumers’ shopping habits and priorities-such as frequency of shopping, distance
traveled to grocery stores, average food budget, etc. Respondents were also asked to rank,
fi-om 1 (least important) to 5 (most important), the importance of various considerations
in choosing their food stores.
13
2.2Technology
2.2.1. PHP
PHP is a server-side scripting language designed primarily for web development but also
used as a general-purpose programming language. Originally created by Rasmus
Lerdorf in 1994, the PHP reference implementation is now produced by The PHP
Development Team.]
PHP originally stood for Personal Home Page but it now stands for
the recursive acronym PHP: Hypertext Preprocessor.
2.2.2MYSQL
A database is a separate application that stores a collection of data. Each database hasone
or more distinct APIs for creating, accessing, managing, searching and replicating the data
it holds. Other kinds of data stores can also be used, such as files on the file system or large
hash tables in memory, but data fetching and writing would not be so fast and easy with
those type of systems. Nowadays, we use relational database management systems
(RDBMS) to store and manage huge volume of data. This is called relational database
because all the data is stored into different tables and relations are established using
primary keys or other keys known as Foreign Keys.
2.2.3BOOTSTRAP
Bootstrap is a sleek, intuitive, and powerful, mobile first front-end framework for faster
and easier web development. It uses HTML, CSS, and Javascript. Bootstrap was developed
by Mark Otto and Jacob Thornton at Twitter. It was released as an open source product in
August 2011 on GitHub.
2.2.4 HTML
Hypertext Markup Language was developed by a consortium of organizations, the World
Wide Web consortium (W3C). HTML is a set of tags and elements used to create Web
pages. Web pages are documents that you view on the Web. Web pages are websited as
14
files with the extension .htm or .html. HTML is a web based language. It is very easy to
learn and use.
2.2.5 CSS
CSS stands for Cascading Style Sheet. It defines a way how the information is presented
by all the browsers on the web. A style sheet is a set of rules that controls the formatting
of HTML elements on one or more web pages. Thus, the appearance of a Web page can be
changed by changing the style sheet associated with it. There is no need to make detailed
changes within the Web page to change how it looks. As one style sheet can be used for a
whole web site, it normally means that the overall size of the website is smaller and
downloads required for each page can be decreased by up to 40%.
2.2.6 Java Script
Java script is a scripting language. To develop interactive Web sites, you need to create a
Web interface for accepting data from users. The data accepted can be websited for further
processing and validation. So we use the Java Script. You will also be able to write Java
Script code to validate the data entered by users on the Web sites, handle run-time and
execution errors in Web documents, and communicate with the users by displaying
messages. To create interactive Web documents, the language used is Hypertext Markup
Language (HTML). However, HTML does not support data processing on the client
computer. Therefore any data in HTML that needs to be validated is sent for processing to
the server, causing delay. To facilitate data validated is sent for processing toe the server,
causing delay. To facilitate data validation on the client-side, you can use a scripting
language for creating interactive interfaces on the Web.
2.2.7 JQUERY
jQuery is a fast and concise JavaScript Library created by John Resig in 2006 with a nice
motto: Write less, do more. jQuery simplifies HTML document traversing, event
handling, animating, and Ajax interactions for rapid web development. jQuery is a
JavaScript toolkit designed to simplify various tasks by writing less code.
15
2.3 Project Planing
Software project management begins with a set of activities that are collectively called
project planning. The objective of software project planning is to provide a framework that
enables the manager to make reasonable estimates of resources, cost, and schedule. These
estimates are made within a limited time frame at the beginning of a software project and
should be updated regularly as the project progresses. Here I have prepared the PERT chart
for planning.
2.4 Cost Estimation
In this activity, the cost of the project is estimated. This includes money effort,
resources and time to build the software. It is done before creating the software. It is
the step of software project planning. Estimation begins with a description of the
scope of the project. Until the scope is bounded, it’s not possible to develop the
meaningful estimate. The problem is then decomposed into a set of smaller problems
and each of these is estimated using historical data and experience as guides.
Estimation carries inherent risk and this risk leads to uncertainty. There are three
factors, which affect the uncertainty inherent in planning factors. These are: -
 Project complexity
 Project size
 Degree of structural uncertainty
 Availability of historical information
The estimation can be done based on object point, function point or the lines of
code. I have done this estimation based on object points of the software. “Boehm”,
which is constant gives weights on the object. Taking these constants, we can easily
estimate the cost of the software.
16
Table for complexity weight: -
Object type
Complexity weight
Simple Medium Difficult
Screen 1 2 3
Reports 2 5 8
3GL/4GL
component
10
Table for Productivity rates for object points: -
Developer’s
experience/capabili
ty
Very
Low Low Nominal High
Very
high
Environment
maturity/capability
Very
Low Low Nominal High
Very
high
PROD
4 7 13 25 50
Table for input/report/3GL/4GL compo
Object type Simple Medium Difficult
Screen 15 15 2
Reports 5 1 0
3GL/4GL component 1
17
2.5 Project Scheduling
2.5.1 Pert Chart
INT ACTIVITY NODE DESCRIPTION
1 0 – 1 A Customer communication
2 1 – 2 B Concept planning
3 2 – 3 C System study
4 3 – 4 D Identification of need
5 4 – 5 E Preliminary investigation
6 5 –6 F Feasibility study
7 6 –7 G Content analysis
8 6 – 8 H Interaction analysis
9 6 – 9 I Functional analysis
10 7,8,9 – 10 J Analysis modeling
11 10 – 11 K S/W, H/W requirement
specification
12 11 – 12 L Database design
13 11 – 13 M Interface design
14 11 – 14 N Architectural design
15 11 – 15 O Navigation design
16 12,13,14,15-16 P Coding
17 16 – 17 Q Validation check
18 17 – 18 R Coding documentation
19 18 – 19 S Testing
20 19 – 20 T Implementation
18
CHAPTER -3
SYSTEM DESIGN
4.1 Physical Design
Data Flow Diagrams (DFD’s) Data flow diagrams provide a logical model of the system
and show the flow of data & the flow of logic involved.
Data flow diagrams have the following characteristics.
• The processes that perform this transformation normally create as well as use data.
• They focus on the process that transform incoming data from into outgoing data flows •
External entities send and receive data flows from the system.
• DFD supports a top-down approach for analysis.
Symbols used in DFDs:
Four symbols are used in drawing data flow diagram these are.
• External entities (source or sink)
• Data flow
• Process
• Data store
External entities (source or sink): An external entity is a source or a destination of Data.
External entities are represented by rectangles. These may be people, program,
organization or other entities that interact with the system.
Fig4.1
19
Data flow: Data flow diagram shows how the data travels from one point to another point
in the diagram the flow is shown as an arrowed line with the arrowhead showing the
direction of flow.
Fig4.2
Process: Processes show the transformation of input data flows to the output data flows. It
is also known as Bubble or Transform. A rectangular box or circle denotes a process.
Fig4.3
Data Store: A data store is like a warehouse for data. Process may store or retrieve data
from a file. If arrow points to the file, it indicates operation of writing into the file. If it
points away from the file, it indicates operation of reading from the file.
Fig4.4
20
4.1.1. DFD
The following rules may be followed while constructing DFDs:
 Process should be named and numbered for easy identification.
 The direction of the flow is from top to bottom from left to right.
 Data traditionally flow from source to destination.
 The names of data stores, sources and destination are written in capital letter and first letter
of each word of process and dataflow name should be capitalized.A data store is like a
warehouse for data. Process may store or retrieve data from a file. If arrow points to the
file, it indicates operation of writing into the file. If it points away from the file, it indicates
operation of reading from the file. First, we shall start with the context diagram. A context
diagram contains a single process but it plays a very important role in studying the current
system.
4.1.1.1 0- Level DFD
fig.4.5.1
21
4.1.1.2 1- Level DFD
Fig 4.5.2
4.1.1.3 2- Level DFD
Fig 4.5.3
22
4.1.2.Usecase
Fig 4.7
23
4.1.3 Entity Relationship Diagram
An entity-relationship (ER) diagram is a specialized graphic that illustrates the
interrelationships between entities in a database. ER diagrams often use symbols to
represent three different types of information. Boxes are commonly used to represent
entities. Diamonds are normally used to represent relationships and ovals are used to
represent attribute
Fig 4.4
24
4.2.1System Module Description
4.2.1.1 Overview
The system can be used in any place. This project has been made keeping in mind the basic
requirements of an industry. For using this, first the user has to Login through the system
and then the user has to choose from the dashboard the type of task he wants to perform.
There are menus to interact with the operator. It shows the transaction details of income
and expense of users. And also it can show manage user profile setting which can be used
by this software. And also Show the updation and deletion of record of transactions .
4.2.1.2 Proposed System
YRMoney analyzer
USER MODULE
 Registration
 Login
 View expenses
 Search previous record
 Add expense category
 Manage own profile
25
4.3.1Database Design
4.3.1.1. Overview
Database designs transform the information domain model created during analysis into
the data structures that will require implementing the software
4.3.1.2. Normalization
In database design we also use the normalization concepts. Normalization is used to ensure
that various types of anomalies and inconsistencies are not introduced in to database.
Normalization is used to remove redundancy and different type of anomalies like insertion,
deletion, and updation anomalies.With the help of normalization concepts accessing of
database made easier and data websited in consistent manner.
4.3.1.3.. First Normal Form
“A relation is said to be in first normal form(1NF) if the values in the domain of each
attribute of the relation are atomic. In other words, only one value is associated with each
attribute and the value is not a set of values or a list of values. A database scheme is in
1NF, if every relation scheme included in the database scheme is in 1NF”.In my project all
relations are holding the atomic values from their domain to the corresponding attributes.
So, in my project, database is in normalizing form. All relations are in 1NF.
4.3.1.4. Second Normal Form
A second normal form does not permit partial dependency between non-prime attribute
and the relation keys.
“A relation scheme R<S, F> is in second normal form (2 NF) if it is in 1NF and if all non
prime attributes are fully functionally dependent on the relation key(s).”
26
4.3.1.5. Third Normal Form
“A relation scheme R is in third normal form (3 NF) with respect to a set of functional
dependencies if, for all functional dependencies if F+
of the form X->Y where X and Y
are in R, at least one of the following holds:
 X -> Y
 X is a super key of R
A relation scheme in third normal form does not allow partial or transitive dependencies.
So, my tables are in 3 NF because every nonprime attribute is non-transitively and fully
dependent on the key. In my project there is no transitive dependency in that relation, so
the relation and database is in the third normal form.
4.4.1.1. Data Modeling
1. User
27
2. Budget
3. Account
28
4. Assets
5. Bills
29
6.Budget
30
7.Category
8.Totals
31
9.Contact
32
4.4.2.2. Module Description
i. Login/Signup: -It allows user to enter the website of YRMoney analyzer
ii. Search: -In this, user can directly search the previous income/expenses .
iii. ADD Transaction-add income/expense to calaculate budget as per the income
iv. Delete Transaction-delete wrong transaction
v. Update Transaction-update transaction
vi. Income/Expense category-add and delete categories
vii. Add Budget- add budget out of income
viii. View report –view previous transactions of daily,monthly and yearly basis.
ix. Contact-contact to developer for any suugestion/query.
x. Logout- user logs out from application
33
3.2Interface design
Snapshots
1.login
34
2.Registration/Signup
3.Index page (Dashboard)
35
4.Transaction (to add income and expense)
Report
5.Income view (report)
36
6.Expense view REPORT -
7.Manage account
37
8.Budget
9.ADD Income category.
38
10.ADDExpensecategory-
11.Report (Income v/s expense)
39
12.Profile setting
40
3.3 DATABASE DESIGN
3.3.1Table structure
1. BUDGET
Field Name Data Type(size) Constraints Description
BudgetId Int(5) PRIMARY budget id
UserId int(5) Not Null userid
CategoryId int(5) Not Null Category id
Dates Date Not Null date
Amount int(10) Not Null amount
TABLE 1: BUDGET
2. CATEGORY
Field Name Data Type(size) Constraints Description
Categoryid Int(15) PRIMARY Category Id
UserId Int(5) Not Null User ID
CategoryName Varchar(255) Not Null Category name
Level Int(2) Not Null level
TABLE 2: CATEGORY
41
3. CONTACT
Field Name Data Type(size) Constraints Description
name Varchar(50) Not Null Name of the user
mob Varchar(50) Not Null Contact number
email Varchar(50) Not Null Email address
comment Varchar(50) Not Null Message by user
TABLE 3: CONTACT
4. TOTALS
Field Name Data Type(size) Constraints Description
TotalId Int(5) PRIMARY Total id
UserId Int(5) Not Null Id of user
AccountId int(5) Not Null accountid
Totals int(10) Not Null totals
TABLE 4: TOTALS
42
5. ASSET
Field Name Data Type(size) Constraints Description
AssetId Int(5) PRIMARY asset id
UserId int(5) Not Null User id
Ttile varchar(256) Not Null title of asset
Date Date Not Null Date
CategoryId int(5) Not Null Category id
AccountId int(5) Not Null Account Id
Amount Varchar(256) Not Null Amount
Description Varchar(8000) Not Null Description
TABLE 5: ASSET
6.USER
Field Name Data Type(size) Constraints Description
UserId Int(5) PRIMARY Id of user
FirstNmae Varchar(255) Not Null First name
LastName Varchar(255) Not Null Lastname
Email Varchar(255) Not Null Email
Password Varchar(255) Not Null Password
Currency Varchar(255) Not Null Currency
TABLE 7: USER
43
7. ACCOUNT
Field Name Data Type(size) Constraints Description
AccountID int(5) Primary accountid
UserId int(5) Not Null userid
AccountName Varchar(256) Not Null name of user
TABLE 7: ACCOUNT
8.BILLS
Field Name Data Type(size) Constraints Description
BillsId Int(5) PRIMARY asset id
UserId int(5) Not Null User id
Ttile varchar(256) Not Null title of bill
Date Date Not Null Date
CategoryId int(5) Not Null Category id
AccountId int(5) Not Null Account id
Amount Varchar(256) Not Null Amount
Description Varchar(8000) Not Null Description
TABLE 7: BILLS
44
CHAPTER-4
SYSTEM DEVELOPEMENT
Testing& Security
4.1 Purpose
IT is the process of having systems personnel check out and put new equipment into use,
train users, install the new application and construct any files of data needed to use it. This
phase is less creative than system design. Depending on the size of the organization that
will be involved in using the application and the risk involved in its use, systems developers
may choose to test the operation in only one area of the firm with only one or two persons.
Sometimes, they will run both old and new system in parallel way to compare the results.
In still other situations, system developers stop using the old system one day and start using
the new one the next.
4.2 Debugging
As the internet is growing fast and large group of people have access to the internet, people
started doing transaction through internet instead of visiting places directly An application
helping users to search for previous record, browse menus The proposed
YRMoneyAnalyzer is using management in the mind so that users can manage personal
money online and with the help of interacting menu. As YRMoneyAnalyzer i is web
based application will reachable to wide range of customers and will allow them to manage
personal budget
4.2.1 Testing
Testing is the process of running the software on manually created inputs with the intention
to find errors and bugs. All the modules that have been developed before are integrated or
put together in this phase, and tested as a complete System. On the ending of the coding
phase, the testing phase begins. In order, for the input/output accuracy of the software,
45
various testing techniques have been applied. Some testing are, System testing,. The
testing process focuses on the logical internals of the software , ensuring that all statements
have been tested , and on the functional externals; that is conducting tests to uncovers errors
and ensure that defined input will produce actual results that agree with required results.
Software testing is an investigation conducted to provide stakeholders with information
about the quality of the software product or service under testTest techniques include the
process of executing a program or application with the intent of finding software
bugs (errors or other defects), and verifying that the software product is fit for use.
System Testing: Integrated module testing for the entire system.
4.2.2 Levels of Testing
In order to uncover the errors present in different phases, we have the concept of levels of
testing. The basic levels of testing are:
Client Needs Acceptance Testing
Requirements System Testing
Design Integration Testing
Code Unit Testing
Fig.4.2
46
4.2.2.1 Unit Testing
Unit testing focuses verification effort on the smallest unit of software i.e. the module.
Using the detailed design and the process specifications, testing is done to uncover errors
within the boundary of the module. All modules must be successful in the unit test before
the start of the integration testing begins.In this project each service can be thought of a
module. There are so many modules like Login, Add Question, Result Generation, etc.
Each module has been tested by giving different sets of inputs. When developing the
module as well as finishing the development, the module works without any error. The
inputs are validated when accepting them from the user.
4.2.2.2 Integration Testing
After unit testing, we have to perform integration testing. The goal here is to see if modules
can be integrated properly, the emphasis being on testing interfaces between modules. This
testing activity can be considered as testing the design and hence the emphasis on testing
module interactions.In this project the main system is formed by integrating all the
modules. When integrating all the modules I have checked whether the integration effects
working of any of the services by giving different combinations of inputs with which the
two services run perfectly before Integration.
4.2.2.3 System Testing
Here the entire software system is tested. The reference document for this process is the
requirements document, and the goal is to see if software meets its requirements.Here entire
‘YRMONEY analyzer’ has been tested against requirements of project and it is checked
whether all requirements of project have been satisfied or not.
47
4.3.1 Acceptance Testing
Acceptance Testing is performed with realistic data of the client to demonstrate that the
software is working satisfactorily. Testing here is focused on external behavior of the
system; the internal logic of program is not emphasized.
Test cases should be selected so that the largest number of attributes of an equivalence
class is exercised at once. The testing phase is an important part of software development.
It is the process of finding errors and missing operations and also a complete verification
to determine whether the objectives are met and the user requirements are satisfied.
4.3.2 White Box Testing
This is a unit testing method, where a unit will be taken at a time and tested thoroughly at
a statement level to find the maximum possible errors.
I tested step wise every piece of code, taking care that every statement in the code is
executed at least once. The white box testing is also called Glass Box Testing.
I have generated a list of test cases, sample data, which is used to check all possible
combinations of execution paths through the code at every module level.
4.3.3 Black Box Testing
Black-box test are designed to uncover errors functional requirement without regard to the
internal workings of a program. Black-box testing techniques focus on the information
domain of the software, deriving test cases by partitioning the input and output domain of
a program in manner that provides through test coverage. The black-box test is used to
demonstrate that software functions are operational, that input is properly produced, and
that the integrity of external information are maintained. A black-box test examines some
fundamental aspect of a system with little or no regard for the integral logical structure of
the software.
Graph based testing methods explore the relationship between and behavior of program
objects. Equivalence partitioning divides the input classes of data are likely to exercise
48
specific software function. Boundary values analysis probes the program’s ability to handle
data at the limits of acceptability.
4.2.3. Maintenance
Once the software becomes operational, whatever changes are done is termed as
maintenance. It is necessary to eliminate errors in the working system during the working
life of the software and to tune the system to any variations in its working environment.
The software “One Stop Parking” is maintained in this way that if the requirement
increases; it (software) can be altered by anybody effortlessly. In order to the maintenance
of the software, the lifecycle of the software has been loosely coupled and highly cohesion
4.3 Validation
Validation is determining if the system complies with the requirements and performs
functions for which it is intended and meets the organization’s goals and user needs.
 Validation is done at the end of the development process and takes place
after verifications are completed.
 It answers the question like: Am I building the right product?
 Am I accessing the right data (in terms of the data required to satisfy the requirement).
 It is a High level activity.
 Performed after a work product is produced against established criteria ensuring that the
product integrates correctly into the environment.
 Determination of correctness of the final software product by a development project with
respect to the user needs and requirements.
4.3.1 Verification
 Verifying process includes checking documents, design, code and program
 It does not involve executing the codeVerification uses methods like reviews,
walkthroughs, inspections and desk- checking etc.
 Whether the software conforms to specification is checked
49
4.4Coding
LOGIN.PHP
<?php
session_start();
$msgBox = '';
include ('includes/notification.php');
include ('includes/db.php');
include ('includes/Functions.php');
if (isset($_POST['login'])) {
if ($_POST['email'] == '') {
$msgBox = alertBox($EmailEmpty);
} else
if ($_POST['password'] == '') {
$msgBox = alertBox($PasswordEmpty);
} else {
$Email = $mysqli->real_escape_string($_POST['email']);
$Password = encryptIt($_POST['password']);
if ($stmt = $mysqli->prepare("SELECT UserId, FirstName, LastName, Email,
Password, Currency from user WHERE Email = ? AND Password = ? ")) {
$stmt->bind_param("ss", $Email, $Password);
$stmt->execute();
$stmt->bind_result($UserId_, $FirstName_, $LastName_, $Email_,
$Password_, $Currency_);
$stmt->store_result();
$stmt->fetch();
if ($num_of_rows = $stmt->num_rows >= 1) {
session_start();
$_SESSION['UserId'] = $UserId_;
$_SESSION['FirstName'] = $FirstName_;
50
$_SESSION['LastName'] = $LastName_;
$_SESSION['Currency'] = $Currency_;
$UserIds = $_SESSION['UserId'];
$a = "SELECT CategoryName FROM category WHERE UserId =
$UserIds";
$b = mysqli_query($mysqli, $a);
if (mysqli_num_rows($b) >= 1) {
echo '';
} else {
$c = "INSERT INTO category(UserId, CategoryName, Level) VALUES
($UserIds, 'Salary', 1), ($UserIds, 'Alowance', 1), ($UserIds, 'Petty Cash', 1), ($UserIds,
'Bonus', 1), ($UserIds, 'Food', 2),
($UserIds, 'Social Life', 2), ($UserIds, 'Self-Development', 2), ($UserIds, 'Transportation',
2), ($UserIds, 'Culture', 2), ($UserIds, 'Household', 2), ($UserIds, 'Apparel', 2),
($UserIds, 'Beauty', 2), ($UserIds, 'Health', 2), ($UserIds, 'Gift', 2)";
$d = mysqli_query($mysqli, $c);
}
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=index.php">';
} else {
$msgBox = alertBox($LoginError);
} }}}?>
<!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="">
51
<meta name="author" content="">
<title> Login</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/plugins/metisMenu/metisMenu.min.css" rel="stylesheet">
<link href="css/custom.css" rel="stylesheet">
<link href="font-awesome-4.1.0/css/font-awesome.min.css" rel="stylesheet"
type="text/css"> <style>
.form-control
{
border-radius: 25px;
}
.col-md-4 col-md-offset-4
{
border-radius: 25px;
margin-top: -90px;
}
</style>
</head>
<body>
<div class="container" style="background-image: url(css/images/m.png); background-
repeat: repeat;opacity: 0.9;width:100%;height:100%">
<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">
52
<?php if ($msgBox) {
echo $msgBox;
} ?>
<form method="post" 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>
<?php
include ('includes/footer.php'); ?>
</div>
<script src="js/jquery-1.11.0.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/plugins/metisMenu/metisMenu.min.js"></script>
</body>
53
</htm>
SIGNUP.PHP
<?php
$msgBox = '';
include('includes/notification.php');
include('includes/Functions.php');
include('includes/db.php');
if(isset($_POST['signup'])){
if($_POST['email'] == '' || $_POST['firstname'] == '' || $_POST['lastname'] == '' ||
$_POST['password'] == '' || $_POST['rpassword'] == '') {
$msgBox = alertBox($SignUpEmpty);
} else if($_POST['password'] != $_POST['rpassword']) {
$msgBox = alertBox($PwdNotSame);
} else {
// Set new account
$Email = $mysqli-
>real_escape_string($_POST['email']);
$Password = encryptIt($_POST['password']);
$FirstName = $mysqli-
>real_escape_string($_POST['firstname']);
$LastName = $mysqli-
>real_escape_string($_POST['lastname']);
$Currency = $mysqli-
>real_escape_string($_POST['currency']);
54
$sql="Select Email from user Where Email = '$Email'";
$c= mysqli_query($mysqli, $sql); if
(mysqli_num_rows($c) >= 1) { $msgBox = alertBox($AlreadyRegister);
}
else{
$sql="INSERT INTO user (FirstName, LastName, Email,
Password, Currency) VALUES (?,?,?,?,?)";
if($statement = $mysqli->prepare($sql)){
//bind parameters for markers, where (s = string, i =
integer, d = double, b = blob)
$statement->bind_param('sssss', $FirstName,
$LastName, $Email, $Password, $Currency);
$statement->execute();
}
$msgBox = alertBox($SuccessAccount);
}
}
}
if(isset($_POST['back']))
{
header("location:login.php");
}
?>
<!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="">
55
<meta name="author" content="">
<title> Sign Up</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/plugins/metisMenu/metisMenu.min.css" rel="stylesheet">
<link href="css/custom.css" rel="stylesheet">
<link href="font-awesome-4.1.0/css/font-awesome.min.css" rel="stylesheet"
type="text/css">
<style>
.bg .container
{
background-image: url(css/images/m.png) !important;
background-repeat: repeat;
opacity: 0.9;
width:100%;
height:100%
}
.form-control
{
border-radius: 25px;
}
.panel-body
{
margin-left: 180px;
}
</style></head>
<body>
<div class="bg">
<div class="container" style=" background-image: url(css/images/m.png) !important;
background-repeat: repeat;
56
opacity: 0.9;
width:100%;
height:100%">
<div class="row" >
<div class="col-md-6 col-md-offset-3" style="margin-top: -150px">
<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 $CreateAnAccount; ?></h3>
</div>
<div class="panel-body">
<?php if ($msgBox) { echo $msgBox; } ?>
<form method="post" action="" role="form">
<fieldset>
<div class="form-group col-lg-6">
<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 col-lg-6">
<label for="email"><?php echo $FirstNames; ?></label>
<input class="form-control" placeholder="<?php echo
$FirstNames; ?>" name="firstname" type="text" >
</div>
<div class="form-group col-lg-6">
<label for="email"><?php echo $LastNames; ?></label>
<input class="form-control" placeholder="<?php echo
$LastNames; ?>" name="lastname" type="text" >
</div>
<div class="form-group col-lg-6">
57
<label for="email"><?php echo $Currencys; ?></label>
<select class="form-control bold" name="currency">
<option
value="‫>"د.إ‬Arab Emirates Dirham (AED)</option>
<option
value="Tk">Bangladeshi Taka (BDT)</option>
<option
value="лв">Bulgarian Lev (BGN)</option>
<option
value="R$">Brazilian Real (R$)</option>
<option
value="BSD">Bahamian Dollar (BSD)</option>
<option
value="BZD">Belize Dollar (BZD)</option>
<option
value="CA$">Canadian Dollar (CA$)</option>
<option
value="₱">Cuban Peso (CUP)</option>
<option
value="CVE">Cape Verdean Escudo (CVE)</option>
<option
value="£">Egyptian Pound (EGP)</option>
<option
value="€">Euro (€)</option>
<option
value="£">British Pound Sterling (₤)</option>
<option
value="Rp">Indonesian Rupiah (IDR)</option>
<option
value="₪">Israeli New Sheqel (₪)</option>
58
<option
value="₹">Indian Rupee (Rs.)</option>
<option
value="¥">Japanese Yen (¥)</option>
<option
value="KES">Kenyan Shilling (KES)</option>
<option
value="лв">Kazakhstani Tenge (KZT)</option>
<option
value="₭">Laotian Kip (LAK)</option>
<option
value="£">Lebanese Pound (LBP)</option>
<option
value="Rs">Sri Lankan Rupee (LKR)</option>
<option
value="MX$">Mexican Peso (MX$)</option>
<option
value="MYR">Malaysian Ringgit (MYR)</option>
<option
value="MT">Mozambican Metical (MZN)</option>
<option
value="$">Namibian Dollar (NAD)</option>
<option
value="₦">Nigerian Naira (NGN)</option>
<option
value="C$">Nicaraguan Córdoba (NIO)</option>
<option
value="kr">Norwegian Krone (NOK)</option>
<option
value="₨">Nepalese Rupee (NPR)</option>
59
<option
value="NZ$">New Zealand Dollar (NZ$)</option>
<option
value="₱">Philippine Peso (Php)</option>
<option
value="Rs">Pakistani Rupee (PKR)</option>
<option
value="zł">Polish Zloty (PLN)</option>
<option
value="Gs">Paraguayan Guarani (PYG)</option>
<option
value="S$">Singapore Dollar (SGD)</option>
<option
value="฿">Thai Baht (฿)</option>
<option
value="NT$">New Taiwan Dollar (NT$)</option>
<option
selected="" value="$">US Dollar ($)</option>
<option
value="₫">Vietnamese Dong (₫)</option>
<option
value="ZMK">Zambian Kwacha (ZMK)</option></select>
</select>
</div>
<div class="form-group col-lg-6">
<label for="password"><?php echo $Passwords; ?></label>
<input class="form-control" placeholder="<?php echo
$Passwords; ?>" name="password" type="password" value="">
</div>
60
<div class="form-group col-lg-6">
<label for="password"><?php echo $RepeatPassword;
?></label>
<input class="form-control" placeholder="<?php echo
$RepeatPassword; ?>" name="rpassword" type="password" value="">
</div>
<table border="2">
<div style="border-radius: 25px !important">
<tr >
<th colspan="3"></th>
<th rowpan="3"></th>
<td>
<button type="submit" name="signup" class="btn btn-success btn-
block"><span class="glyphicon glyphicon-log-in"></span> <?php echo $Save;
?></button>
</td> <td>
<button type="back" name="back" class="btn btn-primary btn-
block"><span class="glyphicon glyphicon-log-in"></span> <?php echo "Back";
?></button>
</td> </tr>
</div> </div></table></fieldset></form></div></div></div></div </div>
<?php
include('includes/footer.php');
?></div>
<script src="js/jquery-1.11.0.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/plugins/metisMenu/metisMenu.min.js"></script>
</body></html>
61
INDEX.PHP
<?php session_start();
function ActiveClass($requestUri)
{
$current_file_name = basename($_SERVER['REQUEST_URI'], ".php");
if ($current_file_name == $requestUri)
echo 'class="active"';
}
if (!isset($_SESSION['UserId'])) {
header ('Location: login.php');
exit;
}
if (isset($_GET['action'])) {
$action = $_GET['action'];
if ($action == 'logout') {
session_destroy();
header('Location: login.php');
}
}
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')
{
62
$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";
}
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";
}
63
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'] == 'siteSettings')
{
$page = "siteSettings";
} Else{ $page = 'dashboard';}
include('includes/global.php');
include('includes/header.php');
$msgBox ="";
if (file_exists('pages/'.$page.'.php')) {
include('pages/'.$page.'.php');
} else {
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/slider.php');
include('includes/about.php');
include('includes/cont.php');
include('includes/footer.php); ?>
64
HEADER.PHP
<?php
include ('includes/notification.php');
?>
<!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>HEADER</title> <link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/plugins/metisMenu/metisMenu.min.css" rel="stylesheet">
<link href="css/plugins/dataTables.bootstrap.css" rel="stylesheet">
<link href="css/custom.css" rel="stylesheet">
<!-- Morris Charts CSS -->
<link href="css/plugins/morris.css" rel="stylesheet">
<!-- Custom Fonts -->
<link href="font-awesome-4.1.0/css/font-awesome.min.css" rel="stylesheet"
type="text/css">
<link
href="https://fonts.googleapis.com/css?family=Josefin+Sans:300,300i,400,400i,700,700i
" rel="stylesheet">
<script src="js/jquery-1.11.0.js"></script>
<script src="js/plugins/metisMenu/metisMenu.js"></script>
</head><body>
<div id="wrapper" style="background-color: black !important">
<!-- Navigation -->
<nav class="navbar navbar-default navbar-static-top" role="navigation"
style="margin-bottom: 0;background-color: black !important">
65
<div class="headmain" style="margin-bottom: 0;background-color: black">
<div class="navbar-header" style="margin-bottom: 0;background-color: black">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-
target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span> <img src=
"css/images/m.png" height="85px" width="85px" style="margin-top:0px
;margin-left: 60px"><h3 style="margin-top:-20px font-size:7px;color:white;margin-left:
0px;padding:0px">YR MONEY ANALYZER</h3></span>
</div>
<ul class="nav navbar-top-links navbar-right" style="background-color: white">
<li>
<?php
echo $Welcome;?>,
<?php
echo $ColUser['FirstName'];?>
</li>
<!-- /.dropdown -->
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
<i class="fa fa-user fa-fw"></i> <i class="fa fa-caret-down"></i>
</a>
<ul class="dropdown-menu dropdown-user">
66
<li> <a <?php ActiveClass("index.php?page=Settings");?>
href="index.php?page=Settings"><i class="fa fa-gear fa-fw"></i> <?php echo
$Settings;?></a>
</li>
<li class="divider"></li>
<li><a href="index.php?action=logout"><i class="fa fa-sign-out fa-
fw"></i> <?php echo $Logout;?></a>
</li>
</ul>
</li>
</ul>
</div>
<br>
<br><br><br><br>
<div class="navbar-default sidebar" role="navigation">
<div class="sidebar-nav navbar-collapse">
<ul class="nav font-sidebar" id="side-menu" style="font-size: 15px;">
<li>
<a <?php ActiveClass("index");?> href="index.php"><i
class="glyphicon glyphicon-home"></i> <?php echo $Dashboard;?><span class="fa
arrow"></a>
</li>
<li>
<a <?php ActiveClass("index.php?page=Transaction");?>
href="index.php?page=Transaction"><i class="glyphicon glyphicon-refresh"></i>
<?php echo $Transaction;?><span class="fa arrow"></a>
</li>
<li>
67
<a <?php ActiveClass("index.php?page=AssetReport");?>
href="index.php?page=AssetReport"><i class="glyphicon glyphicon-stats"></i> <?php
echo $Incomes;?><span class="fa arrow"></span></a>
</li>
<li>
<a <?php ActiveClass("index.php?page=ExpenseReport");?>
href="index.php?page=ExpenseReport" ><i class="glyphicon glyphicon-list-alt"></i>
<?php echo $Expenses;?><span class="fa arrow"></span></a>
<li>
<li>
<a <?php ActiveClass("index.php?page=ManageAccount");?>
href="index.php?page=ManageAccount"> <i class="fa fa-tags"></i> <?php echo
$Account;?><span class="fa arrow"></a>
</li>
</li>
</li>
<li><a <?php ActiveClass("index.php?page=ManageBudget");?>
href="index.php?page=ManageBudget"><i class="fa fa-archive"></i> <?php echo
$BudgetsM;?><span class="fa arrow"></a>
</li>
<li>
<a class="parent" href="javascript:void(0)"><i class="fa fa-gears"> </i>
<?php echo $Settings;?><span class="fa arrow"></a>
<ul class="nav nav-second-level" id="subitem">
<li>
<a <?php
ActiveClass("index.php?page=ManageExpenseCategory");?>
href="index.php?page=ManageExpenseCategory"><i class="fa fa-caret-right"></i>
<?php echo $CategoryExpense;?></a>
</li>
68
<li>
<a <?php
ActiveClass("index.php?page=ManageIncomeCategory");?>
href="index.php?page=ManageIncomeCategory"><i class="fa fa-caret-right"></i>
<?php echo $CategoryIncome;?></a>
</li>
</ul>
</li>
<li>
<a class="parent" href="javascript:void(0)"><i class="fa fa-print"> </i>
<?php echo $ReportsGraphs;?><span class="fa arrow"></a>
<ul class="nav nav-second-level" >
<li>
<a <?php ActiveClass("index.php?page=IncomeVsExpense");?>
id="subitem" href="index.php?page=IncomeVsExpense"><i class="fa fa-caret-right">
</i> <?php echo $IncomeVsExpense;?></a>
</li> </ul></li> <li>
<a <?php ActiveClass("index.php?page=Settings");?>
href="index.php?page=Settings"><i class="fa fa-user"> </i> <?php echo
$ProfileSettings;?><span class="fa arrow"></a>
</li> <li>
<a href="index.php?action=logout"><i class="glyphicon glyphicon-log-
out"></i> <?php echo $Logout;?><span class="fa arrow"></a</nav>
<script>
$(document).ready(function () {
$(this).parent().addClass("collapse");
$(".parent").on('click', function () {
$(this).parent().find("#subitem").slideToggle() });});</script>
69
USERRINFO.PHP
<?php
// Get User Info
$UserId = $_SESSION['UserId'];
$GetUserInfo = "SELECT * FROM user WHERE UserId = $UserId";
$UserInfo = mysqli_query($mysqli, $GetUserInfo);
$ColUser = mysqli_fetch_assoc($UserInfo);
?>
GLOBAL.PHP
<?php
// include connection to database
include ('includes/db.php');
// Get User Info
$UserId=$_SESSION['UserId'];
$GetUserInfo = "SELECT * FROM user WHERE UserId = $UserId";
$UserInfo = mysqli_query($mysqli, $GetUserInfo);
$ColUser = mysqli_fetch_assoc($UserInfo);
//category for income
$Getincome = "SELECT CategoryId, UserId, CategoryName, Level FROM category
WHERE (UserId = 0 OR UserId = $UserId) AND Level = 1";
$income = mysqli_query($mysqli,$Getincome);
// Category for Expense
$Getexpense = "SELECT CategoryId, UserId, CategoryName, Level FROM category
WHERE (UserId = 0 OR UserId = $UserId) AND Level = 2";
$expense = mysqli_query($mysqli,$Getexpense);
// Category for account Expense
$GetAccountExpense = "SELECT AccountId, UserId, AccountName FROM account
WHERE UserId = 0 OR UserId = $UserId";
70
$AccountExpense = mysqli_query($mysqli,$GetAccountExpense);
// Category for account Income
$GetAccountIncome = "SELECT AccountId, UserId, AccountName FROM account
WHERE UserId = 0 OR UserId = $UserId";
$AccountIncome = mysqli_query($mysqli,$GetAccountIncome);
$GetAccountDount = "SELECT account.AccountName, sum(assets.Amount) AS
Amount FROM account, assets where account.AccountId=assets.AccountId AND
assets.UserId= $UserId group by account.AccountName";
$Dount = mysqli_query($mysqli, $GetAccountDount);
$GetAccountDounts = "SELECT category.CategoryName, SUM(bills.amount) AS
Amount FROM category, bills where category.CategoryId=bills.CategoryId AND
category.Level = 2 AND bills.UserId = $UserId GROUP BY bills.CategoryId";
$Dounts = mysqli_query($mysqli, $GetAccountDounts);
// dashboard income vs expense
$GetAccountDountvs = "SELECT AmountExpense, AmountIncome
FROM ( SELECT UserId,
SUM(Amount) AS AmountExpense
FROM bills
GROUP BY UserId) AS b
LEFT JOIN ( SELECT UserId,
SUM(Amount) AmountIncome
FROM assets
GROUP BY UserId) AS a
ON b.UserId = a.UserId
WHERE b.UserId = $UserId";
$Dountvs = mysqli_query($mysqli, $GetAccountDountvs);
$colsDounat = mysqli_fetch_assoc($Dountvs);
$GetAccountDountdate = "SELECT AmountExpense, AmountIncome
71
FROM ( SELECT UserId,
SUM(Amount) AS AmountExpense, dates
FROM bills WHERE MONTH(Dates) = MONTH(current_date())
GROUP BY UserId) AS b
JOIN ( SELECT UserId,
SUM(Amount) AS AmountIncome, date
FROM assets WHERE MONTH(Date) =
MONTH(current_date())
GROUP BY UserId) AS a
ON b.UserId = a.UserId
WHERE b.UserId = $UserId";
$Dountvsdate = mysqli_query($mysqli, $GetAccountDountdate);
$ColsDounatMonth = mysqli_fetch_assoc($Dountvsdate);
// get data based from budget
$Year = date("Y");
$Month = date("m");
$Getbudget = "SELECT b.CategoryId, b.Dates, b.Amount, c.CategoryName from budget
b, category c WHERE YEAR(Dates) = $Year AND MONTH(Dates) = $Month AND
b.UserId = $UserId AND c.CategoryId = b.CategoryId";
$Budget = mysqli_query($mysqli, $Getbudget);
$GetIncomeHistory = "SELECT * from assets left join category on assets.CategoryId =
category.CategoryId left join account on assets.AccountId = account.AccountId where
assets.UserId = $UserId ORDER BY assets.Date DESC";
$IncomeReport = mysqli_query($mysqli,$GetIncomeHistory);
?>
72
Get-expense-daily.php
<?php
session_start();
include('db.php');
include('Functions.php');
include ('notification.php');
$UserId=$_SESSION['UserId'];
$GetUserInfo = "SELECT * FROM user WHERE UserId = $UserId";
$UserInfo = mysqli_query($mysqli, $GetUserInfo);
$ColUser = mysqli_fetch_assoc($UserInfo);
$query = "select * from bills where UserId = $UserId ";
$assetstocalender = mysqli_query($mysqli, $query);
$events = array();
$sum = 0;
while ($row = mysqli_fetch_assoc($assetstocalender)) {
$start = $row['Dates'];
$end = $row['Dates'];
$amount = $ColUser['Currency'].' '.number_format($row['Amount']);
$title = $row['Title'];
$sum+= $row['Amount'];
$eventsArray['title'] = $title;
$eventsArray['start'] = $start;
$eventsArray['end'] = $end;
$eventsArray['names'] = $amount;
$events[] = $eventsArray;
}
$eventsArray['sum'] = $sum;
73
Get-daily.php
<?php
session_start();
include('db.php');
include('Functions.php');
include ('notification.php');
$UserId=$_SESSION['UserId'];
$GetUserInfo = "SELECT * FROM user WHERE UserId = $UserId";
$UserInfo = mysqli_query($mysqli, $GetUserInfo);
$ColUser = mysqli_fetch_assoc($UserInfo);
$query = "select * from assets where UserId = $UserId ";
$assetstocalender = mysqli_query($mysqli, $query);
$events = array();
$sum = 0;
while ($row = mysqli_fetch_assoc($assetstocalender)) {
$start = $row['Date'];
$end = $row['Date'];
$amount = $ColUser['Currency'].' '.number_format($row['Amount']);
$title = $row['Title'];
$sum+= $row['Amount'];
$eventsArray['title'] = $title;
$eventsArray['start'] = $start;
$eventsArray['end'] = $end;
$eventsArray['names'] = $amount;
$events[] = $eventsArray;
}
$eventsArray['sum'] = $sum;
echo json_encode($events);
//echo $sum;
74
FUNCTIONS.PHP
<?php
function alertBox($message) {
return "<div class="alert alert-success alert-dismissable"><button type="button"
class="close" data-dismiss="alert" aria-hidden="true">x</button>$message</div>";
}
function format_amount($n, $n_decimals) {
return ((floor($n) == round($n, $n_decimals)) ? number_format($n).'.00' :
number_format($n, $n_decimals));
}
function encryptIt($value) {
// The encodeKey MUST match the decodeKey
$encodeKey = 'Li1KUqJ4tgX14dS,A9ejk?uwnXaNSD@fQ+!+D.f^`Jy';
$encoded = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256,
md5($encodeKey), $value, MCRYPT_MODE_CBC, md5(md5($encodeKey))));
return($encoded);
}
function decryptIt($value) {
$decodeKey = 'Li1KUqJ4tgX14dS,A9ejk?uwnXaNSD@fQ+!+D.f^`Jy';
$decoded = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256,
md5($decodeKey), base64_decode($value), MCRYPT_MODE_CBC,
md5(md5($decodeKey))), "0");
return($decoded);
}
function clean($string) {
75
return $string = str_replace(',', '', $string); // Replaces all spaces
with hyphens.
}
function Percentage($value){
return round($value * 100). "%";
}
function Percentages($value){
return round($value * 100);
}
?>
DB.PHP
<?php
error_reporting(0);
ini_set('display_errors', '0');
$dbuser="root"; //user to access your database
$dbpassword=""; //password to access your database
$dbname="yrmoney"; //name of database
$dbhost="localhost"; //your database server
$mysqli = new mysqli($dbhost, $dbuser, $dbpassword, $dbname);
if (mysqli_connect_errno()) {
printf("MySQLi connection failed: ", mysqli_connect_error());
exit();
}
if (!$mysqli->set_charset('utf8')) {
printf('Error loading character set utf8: %sn', $mysqli->error);}?>
76
DASHBOARD.PHP
<?php
$msgBox='';
include('includes/Functions.php');
include ('includes/notification.php');
$GetAllIncome = "SELECT SUM(Amount) AS Amount FROM assets WHERE
UserId = $UserId";
$GetAIncome = mysqli_query($mysqli, $GetAllIncome);
$IncomeCol = mysqli_fetch_assoc($GetAIncome);
$GetAllExpense = "SELECT SUM(Amount) AS Amount FROM bills WHERE UserId
= $UserId";
$GetAExpense = mysqli_query($mysqli, $GetAllExpense);
$ExpenseCol = mysqli_fetch_assoc($GetAExpense);
//Count current totals Income
$CountTotals = $IncomeCol['Amount'] - $ExpenseCol['Amount'];
//Get Recent Income History
$GetIncomeHistory = "SELECT * from assets left join category on assets.CategoryId =
category.CategoryId left join account on assets.AccountId = account.AccountId where
assets.UserId = $UserId ORDER BY assets.Date DESC LIMIT 10";
$IncomeHistory = mysqli_query($mysqli,$GetIncomeHistory);
//Get Recent Expense History
$GetExpenseHistory = "SELECT * from bills left join category on bills.CategoryId =
category.CategoryId left join account on bills.AccountId = account.AccountId where
bills.UserId = $UserId ORDER BY bills.Dates DESC LIMIT 10";
$ExpenseHistory = mysqli_query($mysqli,$GetExpenseHistory);
77
// Get all by month Income
$GetAllIncomeDate = "SELECT SUM(Amount) AS Amount FROM assets WHERE
UserId = $UserId AND MONTH(Date) = MONTH (CURRENT_DATE())";
$GetAIncomeDate = mysqli_query($mysqli, $GetAllIncomeDate);
$IncomeColDate = mysqli_fetch_assoc($GetAIncomeDate);
// Get all by month Expense
$GetAllExpenseDate = "SELECT SUM(Amount) AS Amount FROM bills WHERE
UserId = $UserId AND MONTH(Dates) = MONTH (CURRENT_DATE())";
$GetAExpenseDate = mysqli_query($mysqli, $GetAllExpenseDate);
$ExpenseColDate = mysqli_fetch_assoc($GetAExpenseDate);
// Budget Progress
$Getbudgets = "SELECT AmountIncome As Amount, (AmountIncome -
AmountExpense) As Totals, AmountExpense/(AmountIncome - AmountExpense) *
100/100 AS Per,CategoryName
FROM ( SELECT UserId,CategoryId,
SUM(Amount) AS AmountExpense
FROM bills
GROUP BY CategoryId) AS b
LEFT JOIN ( SELECT CategoryId,
SUM(Amount) AmountIncome
FROM budget WHERE MONTH(Dates) = MONTH
(CURRENT_DATE())
GROUP BY CategoryId) AS a ON b.CategoryId =
a.CategoryId
LEFT JOIN (SELECT CategoryId, CategoryName
FROM category
78
GROUP BY CategoryId) AS c
ON b.CategoryId = c.CategoryId WHERE
b.UserId = $UserId";
$Budgets = mysqli_query($mysqli, $Getbudgets);
//Include Global page
include ('includes/global.php');
?>
<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header"><?php echo $Dashboard;?></h1>
</div>
<!-- /.col-lg-12 -->
</div>
<!-- /.row -->
<div class="row">
<div class="col-lg-3 col-md-6">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="glyphicon glyphicon-calendar fa-4x"></i>
</div>
<div class="col-xs-12 text-left">
<h2><?php echo $ColUser['Currency'].'
'.number_format($ExpenseColDate['Amount']); ?></h2>
<div><?php echo $CurrentExpense;?></div>
79
</div>
</div>
</div>
<a href="#">
<div class="panel-footer">
<span class="pull-left"></span>
<span class="pull-right"></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="glyphicon glyphicon-calendar fa-4x"></i>
</div>
<div class="col-xs-12 text-left">
<h2><?php echo $ColUser['Currency'].'
'.number_format($IncomeColDate['Amount']); ?></h2>
<div><?php echo $CurrentIncome;?></div>
</div>
</div>
</div>
<a href="#">
<div class="panel-footer">
<span class="pull-left"></span>
<span class="pull-right"></span>
80
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="glyphicon glyphicon-resize-full fa-4x"></i>
</div>
<div class="col-xs-12 text-left">
<h2><?php echo $ColUser['Currency'].'
'.number_format($ExpenseCol['Amount']);?> </h2>
<div><?php echo $TotalExpenseDashboard;?></div>
</div>
</div>
</div>
<a href="#">
<div class="panel-footer">
<span class="pull-left"></span>
<span class="pull-right"></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="panel panel-green">
81
<div class="panel-heading">
<div class="row">
<div class="col-xs-1">
<i class="glyphicon glyphicon-resize-small fa-4x"></i>
</div>
<div class="col-xs-12 text-left">
<h2><?php echo $ColUser['Currency'].'
'.number_format($CountTotals);?> </h2>
<div><?php echo $CurrentBalance ;?></div>
</div>
</div>
</div>
<a href="#">
<div class="panel-footer">
<span class="pull-left"></span>
<span class="pull-right"></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
</div>
<!-- /.row -->
<div class="row">
<div class="col-lg-6">
<div class="panel panel-primary">
<div class="panel-heading">
<i class="fa fa-bar-chart-o fa-fw"></i> <?php echo $TenIncome;?>
</div>
82
<!-- /.panel-heading -->
<div class="panel-body">
<div>
<div class="table-
responsive">
<table class="table table-bordered table-hover table-striped">
<thead>
<tr>
<th><?php echo $Title;?></th>
<th><?php echo $Date;?></th>
<th><?php echo $Account;?></th>
<th><?php echo $Amount;?></th>
</tr>
</thead>
<tbody>
<?php while($col =
mysqli_fetch_assoc($IncomeHistory)){ ?>
<tr>
<td><?php echo $col['Title'];?></td>
<td><?php echo date("M d Y",strtotime($col['Date']));?></td>
<td><?php echo $col['AccountName'];?></td>
83
<td><?php echo $ColUser['Currency'].' '.number_format($col['Amount']);?></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<div class="text-center"><a
href="index.php?page=AssetReport"><?php echo $ViewDetails;?></a></div>
</div>
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
<div class="panel panel-info">
<div class="panel-heading">
<i class="fa fa-bar-chart-o fa-fw"></i> <?php echo $AccountBalance
?></b>
</div>
<div class="panel-body">
<div class="row">
<div class="col-lg-12">
<div class="table-responsive">
<table class="table table-bordered table-hover table-striped">
<thead>
<tr>
84
<th><?php echo $Title;?></th>
<th><?php echo $Amount;?></th>
</tr>
</thead>
<tbody>
<?php while($col = mysqli_fetch_assoc($Dount)){ ?>
<tr>
<td><?php echo $col['AccountName'];?></td>
<td class="text-right"><?php echo
$ColUser['Currency'].' '.number_format($col['Amount']);?></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<!-- /.panel -->
<div class="panel panel-success">
<div class="panel-heading">
<i class="fa fa-bar-chart-o fa-fw"></i> <?php echo $BudgetProgressOn
;?> <b><?php echo date("F Y");?></b>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<div class="row">
<div class="col-lg-12">
85
<?php
while($BudgetCols =mysqli_fetch_assoc($Budgets)) {
// calculate out
expense
$Out =
($BudgetCols['Amount'] - $BudgetCols['Totals']);
$Exceed =
Percentages($BudgetCols['Per']/$Out).' %';
if($Exceed<0
OR $Exceed >100){
$Exceed = '<label class="label label-danger">Over Budget</label>';
}else{
$Exceed = 100*$BudgetCols['Per']/$Out.' %';
}
?>
<div>
<p>
<label class="label label-info"><?php echo
$BudgetCols['CategoryName'];?></label>
<span class="pull-right text-muted"><?php echo $Budgetss;?> <?php echo
$ColUser['Currency'].' '.number_format($BudgetCols['Amount']);?></span>
86
</p>
<div
class="text-right panel panel-yellow"><div class="panel-heading"><?php echo $Outs;?>:
<?php echo $ColUser['Currency'].' '.number_format($Out);?> <?php echo
$RemainingBudget;?>: <?php echo $ColUser['Currency'].'
'.number_format($BudgetCols['Totals']);?></div></div><br/>
</div>
<?php } ?>
</div>
<div class="text-center"></div>
<!-- /.col-lg-4 (nested) -->
<!-- /.col-lg-8 (nested) -->
</div>
<!-- /.row -->
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-8 -->
<div class="col-lg-6">
<div class="panel panel-red">
<div class="panel-heading">
<i class="fa fa-bar-chart-o fa-fw"></i> <?php echo $TenExpense;?>
</div>
87
<!-- /.panel-heading -->
<div class="panel-body">
<div class="row">
<div class="col-lg-12">
<div class="table-responsive">
<table class="table table-bordered table-hover table-striped">
<thead>
<tr>
<th><?php echo $Title;?></th>
<th><?php echo $Date;?></th>
<th><?php echo $Account;?></th>
<th><?php echo $Amount;?></th>
</tr>
</thead>
<tbody>
<?php while($cols =
mysqli_fetch_assoc($ExpenseHistory)){ ?>
<tr>
<td><?php echo $cols['Title'];?></td>
<td><?php echo date("M d
Y",strtotime($cols['Dates']));?></td>
<td><?php echo $cols['AccountName'];?></td>
<td><?php echo $ColUser['Currency'].'
'.number_format($cols['Amount']);?></td>
</tr>
<?php } ?>
88
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<div class="text-center"><a
href="index.php?page=ExpenseReport"><?php echo $ViewDetails;?></a></div>
<!-- /.col-lg-4 (nested) -->
<!-- /.col-lg-8 (nested) -->
</div>
<!-- /.row -->
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
<!-- /.panel -->
<div class="panel panel-info">
<div class="panel-heading">
<i class="fa fa-bar-chart-o fa-fw"></i> <?php echo
$ReportsExpenseIncome ;?>
</div>
<div class="panel-body">
<div id="incomevsexpense">
</div>
</div>
<!-- /.panel-body -->
</div>
89
<!-- /.panel -->
<!-- /.panel -->
<div class="panel panel-success">
<div class="panel-heading">
<i class="fa fa-bar-chart-o fa-fw"></i> <?php echo
$ReportsExpenseIncomeM ;?>
</div>
<div class="panel-body">
<div id="incomevsexpensemonth">
</div>
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
<!-- /.panel .chat-panel -->
</div>
<!-- /.col-lg-4 -->
</div>
<!-- /.row -->
</div>
<!-- /#page-wrapper-- - <script>
90
BUDGET.PHP
<!-- Page Content -->
<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Manage Budgets</h1>
</div>
</div>
<div class="row">
<div class="col-lg-6 ">
<div class="panel panel-primary">
<div class="panel-heading">
Budget Settings
</div>
<div class="panel-body">
<form role="form">
<fieldset>
<div class="form-group pull-left">
<label for="name">Category</label>
<select name="month" class="form-control">
<option>January</option>
</select>
</div>
<div class="form-group pull-right">
<label for="amount">Amount</label>
<input class="form-control" required placeholder="amount"
width="10" name="amount" type="text" value="">
</div>
<hr class="clearbothh">
91
<div class="form-group pull-left clearbothh">
<label for="month">Month</label>
<select name="month" class="form-control">
<option>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
<option>May</option>
<option>June</option>
<option>July</option>
<option>August</option>
<option>September</option>
<option>October</option>
<option>November</option>
<option>December</option>
</select>
</div>
<div class="form-group pull-left">
<label for="year">Year</label>
<select name="year" class="form-control">
<option></option>
<option>2014</option>
<option>2015</option>
<option>2016</option>
</select>
</div>
</fieldset>
</form>
</div>
92
Chapter-5
SYSTEM IMPLEMENTATION
5.1. System Implementation Maintenance and Review
As we know, creating software is one thing and the implementation of the created software
is another. The process of implementing software is much difficult as compared to the task
of creating the project. First we have to implement the software on a small scale for
removing the bugs and other errors in the project and after removing them we can
implement the software on a large scale. Before we think in terms of implementing the
Software on a large basis, we must consider the Hardware requirements.Whenever we
develop software or project a certain hardware and software is being used by the
programmer for developing the project. The hardware and software to be used by the
programmer for developing the project should be such that it would result in the
development of a project, which would satisfy all the basic needs for which the project has
been created by the programmer. The Hardware should be such that cost constraints of the
Client should also be taken into account without affecting the performance.
5.2. Hardware Evaluation Factors
When we evaluate computer hardware, we should first investigate specific physical and
performance characteristics for each hardware component to be acquired. These specific
questions must be answered concerning many important factors. These hardware evaluation
factors questions are summarized below:
 Performance
 Cost
 Reliability
 Availability
 Compatibility
 Modularity
93
 Technology
 Ergonomics
 Connectivity
 Environmental requirements
 Software
 Support
5.2.1 Hardware Requirements
 Hardware specification of the system that is used in this project is,
 Processor : Intel® Pentium®(1.0 GHZ)
 Memory : 2 GB RAM
 Hard disk : 320 GB
Tools :The Hardware and Software Requirement Specifications:-
Minimum Requirements
Processor Intel Pentium4 or higher
CPU 2GHz
Memory At least 2 GB
Hard Disk 40 GB
Display Super VGA (800 600) or higher-resolution monitor with 256 colors
Input Device Keyboard , Mouse
Table No-1.1: Hardware Requirement
Minimum Requirements
Front End HTML5,CSS3,BOOTSTRAP,JQUERY,JAVASCIPT
Back End PHP5/My SQL
Operating System Windows 7 and more versions
Development Tool BRACKETS,SUBLIME,XAMPP
Table No-1.2: Software Requirement
94
Summary and Conclusion
 Designing, Developing and Maintaining yr money analyzer website is a very time
consuming and expensive process.Instead of spending large amount of money on doing
these things users/businesses can solely focus on making their servicesquality of product
better by using our platform to develop and Maintain their managing money websites will
be much cheaper for them then developing and maintaining them by themselves.
 MINT type service but these service now on Research and Development phase. i can used
PHP/MYSQL Technology . PHP has advantages like powerful, performance,
scalability,robustness, security and simplicity.
 To build any web application using PHP i need some framework for easy to build web
application such as cakePHP, larvel, codeigniter and Symfony so on.
 In YRMoney Analyzer web application i do not used anyframework because its under R&
D. i use XAMPP Server for website for front-end-implementation of code in browser such
as chrome and run as (localhost/yrmoney) in URL and for database i use PHP Myadmin
as back-end database (RDBMS) since it is one of the most popular open source databases
which uses MYSQL language, and it provides fast data access, easy installation and
simplicity.A good money manage design must be accompanied with user-friendly
calculating application logic. It should be convenient for the user to view the contents of
their transaction and to be able to remove or add income and expense transactions to their
account. The money manageing application described in this project provides a number of
features that are designed to make the user more comfortable.
 This project helps in understanding the creation of an live application such as Balance and
popular website is mint which provide best solution for any user for keeping records of
their transactions The design of the project which includes DataModel and Process Model
illustrates how the database is built with different tables, how the data is accessed and
processed from the tables.
 The building of the project has given me a precise knowledge about how PHP Technology
is used to develop a website, how it connects to the database to access the data and how
the data and web pages are modified to provide the user with a money managing application
95
Refrences/Bibliography
1. https://www.tutorialspoint.com/software_testing_dictionary/debugging.htm
2. https://www.tutorialspoint.com/software_testing_dictionary/validation_testing.htm
3. https://www.mint.com/
4. https://www.balance.com/
5. https://www.phptpoint.com/
6. https://www.wikipedia.org/
7. https://www.youtube.com/
8. https://www.w3schools.com/

More Related Content

What's hot

Software ideas in 2021
Software ideas in 2021Software ideas in 2021
Software ideas in 2021Emma Jhonson
 
9.2 Group 6 Apps for Good Competition Entry 2015
9.2 Group 6 Apps for Good Competition Entry 20159.2 Group 6 Apps for Good Competition Entry 2015
9.2 Group 6 Apps for Good Competition Entry 2015scorkery
 
Ebizon capability
Ebizon capabilityEbizon capability
Ebizon capabilityEbizon
 
Hci assignment presentation
Hci assignment presentationHci assignment presentation
Hci assignment presentationCiara Edwards
 
Att uc newsletter issue 4
Att uc newsletter   issue 4Att uc newsletter   issue 4
Att uc newsletter issue 4Eric Sineath
 
Mobility Moves from “Nice to Have” to “Must Have” for Large US Insurer
Mobility Moves from “Nice to Have” to “Must Have” for Large US InsurerMobility Moves from “Nice to Have” to “Must Have” for Large US Insurer
Mobility Moves from “Nice to Have” to “Must Have” for Large US InsurerDana Gardner
 
How does mobility help organizations improve their performance ?
How does mobility help organizations improve their performance ?How does mobility help organizations improve their performance ?
How does mobility help organizations improve their performance ?Rapidsoft Technologies
 
The Math of the App Business
The Math of the App BusinessThe Math of the App Business
The Math of the App BusinessJordann Le Gal
 
New Mobile App Development Powerpoint Presentation Slides
New Mobile App Development Powerpoint Presentation SlidesNew Mobile App Development Powerpoint Presentation Slides
New Mobile App Development Powerpoint Presentation SlidesSlideTeam
 
How Rapidsoft Technologies Modernizing Apps.
How Rapidsoft Technologies Modernizing Apps.How Rapidsoft Technologies Modernizing Apps.
How Rapidsoft Technologies Modernizing Apps.Rapidsoft Technologies
 
Mobile App Development Proposal Powerpoint Presentation Slides
Mobile App Development Proposal Powerpoint Presentation SlidesMobile App Development Proposal Powerpoint Presentation Slides
Mobile App Development Proposal Powerpoint Presentation SlidesSlideTeam
 
Ipad seminar 20110608
Ipad seminar 20110608Ipad seminar 20110608
Ipad seminar 20110608Exove
 
SharePoint End User Training and Adoption Strategies - SP Intersection
SharePoint End User Training and Adoption Strategies - SP IntersectionSharePoint End User Training and Adoption Strategies - SP Intersection
SharePoint End User Training and Adoption Strategies - SP IntersectionAsif Rehmani
 
Usability - 'What the heck!!'
Usability - 'What the heck!!'Usability - 'What the heck!!'
Usability - 'What the heck!!'nehamodgil
 
Webigence Credentials - showcasing technically complex bespoke ASP.NET projects
Webigence Credentials - showcasing technically complex bespoke ASP.NET projectsWebigence Credentials - showcasing technically complex bespoke ASP.NET projects
Webigence Credentials - showcasing technically complex bespoke ASP.NET projectsWebigence
 
Mobile App Development Proposal Template PowerPoint Presentation Slides
Mobile App Development Proposal Template PowerPoint Presentation SlidesMobile App Development Proposal Template PowerPoint Presentation Slides
Mobile App Development Proposal Template PowerPoint Presentation SlidesSlideTeam
 
Interactive Bees Corporate PPT - InteractiveBees CreativeDesign - IBeesMedia ...
Interactive Bees Corporate PPT - InteractiveBees CreativeDesign - IBeesMedia ...Interactive Bees Corporate PPT - InteractiveBees CreativeDesign - IBeesMedia ...
Interactive Bees Corporate PPT - InteractiveBees CreativeDesign - IBeesMedia ...Interactive Bees
 
BIMO Forum 2018 - L'IA c'est déjà aujourd'hui
BIMO Forum 2018 - L'IA c'est déjà aujourd'huiBIMO Forum 2018 - L'IA c'est déjà aujourd'hui
BIMO Forum 2018 - L'IA c'est déjà aujourd'huiArtionet Web Agency
 
A system design approach to onboarding
A system design approach to onboardingA system design approach to onboarding
A system design approach to onboardingLaurieBrewster1
 

What's hot (20)

Software ideas in 2021
Software ideas in 2021Software ideas in 2021
Software ideas in 2021
 
9.2 Group 6 Apps for Good Competition Entry 2015
9.2 Group 6 Apps for Good Competition Entry 20159.2 Group 6 Apps for Good Competition Entry 2015
9.2 Group 6 Apps for Good Competition Entry 2015
 
Ebizon capability
Ebizon capabilityEbizon capability
Ebizon capability
 
Hci assignment presentation
Hci assignment presentationHci assignment presentation
Hci assignment presentation
 
Att uc newsletter issue 4
Att uc newsletter   issue 4Att uc newsletter   issue 4
Att uc newsletter issue 4
 
Mobility Moves from “Nice to Have” to “Must Have” for Large US Insurer
Mobility Moves from “Nice to Have” to “Must Have” for Large US InsurerMobility Moves from “Nice to Have” to “Must Have” for Large US Insurer
Mobility Moves from “Nice to Have” to “Must Have” for Large US Insurer
 
How does mobility help organizations improve their performance ?
How does mobility help organizations improve their performance ?How does mobility help organizations improve their performance ?
How does mobility help organizations improve their performance ?
 
The Math of the App Business
The Math of the App BusinessThe Math of the App Business
The Math of the App Business
 
New Mobile App Development Powerpoint Presentation Slides
New Mobile App Development Powerpoint Presentation SlidesNew Mobile App Development Powerpoint Presentation Slides
New Mobile App Development Powerpoint Presentation Slides
 
How Rapidsoft Technologies Modernizing Apps.
How Rapidsoft Technologies Modernizing Apps.How Rapidsoft Technologies Modernizing Apps.
How Rapidsoft Technologies Modernizing Apps.
 
Savvycom Profile
Savvycom ProfileSavvycom Profile
Savvycom Profile
 
Mobile App Development Proposal Powerpoint Presentation Slides
Mobile App Development Proposal Powerpoint Presentation SlidesMobile App Development Proposal Powerpoint Presentation Slides
Mobile App Development Proposal Powerpoint Presentation Slides
 
Ipad seminar 20110608
Ipad seminar 20110608Ipad seminar 20110608
Ipad seminar 20110608
 
SharePoint End User Training and Adoption Strategies - SP Intersection
SharePoint End User Training and Adoption Strategies - SP IntersectionSharePoint End User Training and Adoption Strategies - SP Intersection
SharePoint End User Training and Adoption Strategies - SP Intersection
 
Usability - 'What the heck!!'
Usability - 'What the heck!!'Usability - 'What the heck!!'
Usability - 'What the heck!!'
 
Webigence Credentials - showcasing technically complex bespoke ASP.NET projects
Webigence Credentials - showcasing technically complex bespoke ASP.NET projectsWebigence Credentials - showcasing technically complex bespoke ASP.NET projects
Webigence Credentials - showcasing technically complex bespoke ASP.NET projects
 
Mobile App Development Proposal Template PowerPoint Presentation Slides
Mobile App Development Proposal Template PowerPoint Presentation SlidesMobile App Development Proposal Template PowerPoint Presentation Slides
Mobile App Development Proposal Template PowerPoint Presentation Slides
 
Interactive Bees Corporate PPT - InteractiveBees CreativeDesign - IBeesMedia ...
Interactive Bees Corporate PPT - InteractiveBees CreativeDesign - IBeesMedia ...Interactive Bees Corporate PPT - InteractiveBees CreativeDesign - IBeesMedia ...
Interactive Bees Corporate PPT - InteractiveBees CreativeDesign - IBeesMedia ...
 
BIMO Forum 2018 - L'IA c'est déjà aujourd'hui
BIMO Forum 2018 - L'IA c'est déjà aujourd'huiBIMO Forum 2018 - L'IA c'est déjà aujourd'hui
BIMO Forum 2018 - L'IA c'est déjà aujourd'hui
 
A system design approach to onboarding
A system design approach to onboardingA system design approach to onboarding
A system design approach to onboarding
 

Similar to Manage Personal Budget and Expenses with Web Application

online food delivery system projects.docx
online food delivery system projects.docxonline food delivery system projects.docx
online food delivery system projects.docxAKHILPATEL92
 
eLuminous Technologies Pvt Ltd. - Company Overview.
eLuminous Technologies Pvt Ltd. - Company Overview.eLuminous Technologies Pvt Ltd. - Company Overview.
eLuminous Technologies Pvt Ltd. - Company Overview.Shweta Joshi
 
The Real Value of Small Business Apps
The Real Value of Small Business AppsThe Real Value of Small Business Apps
The Real Value of Small Business AppsIntuit Inc.
 
Ho Thi Tuong Vy Cv
Ho Thi Tuong Vy CvHo Thi Tuong Vy Cv
Ho Thi Tuong Vy Cvtuong vy ho
 
2021's Hot Tech Tools and Services for Financial Professionals
2021's Hot Tech Tools and Services for Financial Professionals2021's Hot Tech Tools and Services for Financial Professionals
2021's Hot Tech Tools and Services for Financial ProfessionalsAggregage
 
Essential Guide to Becoming A Mobile App Rock Star - part II - Consumer-facin...
Essential Guide to Becoming A Mobile App Rock Star - part II - Consumer-facin...Essential Guide to Becoming A Mobile App Rock Star - part II - Consumer-facin...
Essential Guide to Becoming A Mobile App Rock Star - part II - Consumer-facin...DMIMarketing
 
Digital Strategy with Dyer & Blomfield
Digital Strategy with Dyer & BlomfieldDigital Strategy with Dyer & Blomfield
Digital Strategy with Dyer & BlomfieldMatty Blomfield
 
Customer engagement platform
Customer engagement platformCustomer engagement platform
Customer engagement platformBhavdip Bhalodia
 
Resume_Brijesh_Pavith
Resume_Brijesh_PavithResume_Brijesh_Pavith
Resume_Brijesh_Pavithbeeemused
 
Aimtech Software Development Company Presentation
Aimtech Software Development Company PresentationAimtech Software Development Company Presentation
Aimtech Software Development Company PresentationAnahitYeprikyan2
 
1 6Project ProposalThe purpose of this proposal is .docx
1     6Project ProposalThe purpose of this proposal is .docx1     6Project ProposalThe purpose of this proposal is .docx
1 6Project ProposalThe purpose of this proposal is .docxoswald1horne84988
 
Invatechs Software
Invatechs SoftwareInvatechs Software
Invatechs Softwarei-vetrov
 
Essay On Electrical Appliances
Essay On Electrical AppliancesEssay On Electrical Appliances
Essay On Electrical AppliancesCheryl Barry
 
Tekforce corp outsourced software dev.docx
Tekforce corp outsourced software dev.docxTekforce corp outsourced software dev.docx
Tekforce corp outsourced software dev.docxZedrickKhan2
 

Similar to Manage Personal Budget and Expenses with Web Application (20)

online food delivery system projects.docx
online food delivery system projects.docxonline food delivery system projects.docx
online food delivery system projects.docx
 
Synopsis
SynopsisSynopsis
Synopsis
 
eLuminous Technologies Pvt Ltd. - Company Overview.
eLuminous Technologies Pvt Ltd. - Company Overview.eLuminous Technologies Pvt Ltd. - Company Overview.
eLuminous Technologies Pvt Ltd. - Company Overview.
 
The Real Value of Small Business Apps
The Real Value of Small Business AppsThe Real Value of Small Business Apps
The Real Value of Small Business Apps
 
Connect story
Connect storyConnect story
Connect story
 
Ho Thi Tuong Vy Cv
Ho Thi Tuong Vy CvHo Thi Tuong Vy Cv
Ho Thi Tuong Vy Cv
 
eLuminous Technologies - Business Overview 2016
eLuminous Technologies - Business Overview 2016eLuminous Technologies - Business Overview 2016
eLuminous Technologies - Business Overview 2016
 
2021's Hot Tech Tools and Services for Financial Professionals
2021's Hot Tech Tools and Services for Financial Professionals2021's Hot Tech Tools and Services for Financial Professionals
2021's Hot Tech Tools and Services for Financial Professionals
 
Essential Guide to Becoming A Mobile App Rock Star - part II - Consumer-facin...
Essential Guide to Becoming A Mobile App Rock Star - part II - Consumer-facin...Essential Guide to Becoming A Mobile App Rock Star - part II - Consumer-facin...
Essential Guide to Becoming A Mobile App Rock Star - part II - Consumer-facin...
 
Digital Strategy with Dyer & Blomfield
Digital Strategy with Dyer & BlomfieldDigital Strategy with Dyer & Blomfield
Digital Strategy with Dyer & Blomfield
 
Customer engagement platform
Customer engagement platformCustomer engagement platform
Customer engagement platform
 
Business Overview
Business OverviewBusiness Overview
Business Overview
 
Resume_Brijesh_Pavith
Resume_Brijesh_PavithResume_Brijesh_Pavith
Resume_Brijesh_Pavith
 
Ak softtech profile
Ak softtech profileAk softtech profile
Ak softtech profile
 
Aimtech Software Development Company Presentation
Aimtech Software Development Company PresentationAimtech Software Development Company Presentation
Aimtech Software Development Company Presentation
 
1 6Project ProposalThe purpose of this proposal is .docx
1     6Project ProposalThe purpose of this proposal is .docx1     6Project ProposalThe purpose of this proposal is .docx
1 6Project ProposalThe purpose of this proposal is .docx
 
Invatechs Software
Invatechs SoftwareInvatechs Software
Invatechs Software
 
Essay On Electrical Appliances
Essay On Electrical AppliancesEssay On Electrical Appliances
Essay On Electrical Appliances
 
Tekforce corp outsourced software dev.docx
Tekforce corp outsourced software dev.docxTekforce corp outsourced software dev.docx
Tekforce corp outsourced software dev.docx
 
Tekforcecorp.com
Tekforcecorp.com Tekforcecorp.com
Tekforcecorp.com
 

More from Kavita Rastogi

A survey study of title security and privacy in mobile systems
A survey study of title security and privacy in mobile systemsA survey study of title security and privacy in mobile systems
A survey study of title security and privacy in mobile systemsKavita Rastogi
 
Report on Mobile security
Report  on Mobile securityReport  on Mobile security
Report on Mobile securityKavita Rastogi
 

More from Kavita Rastogi (7)

Ai applications study
Ai applications  studyAi applications  study
Ai applications study
 
A survey study of title security and privacy in mobile systems
A survey study of title security and privacy in mobile systemsA survey study of title security and privacy in mobile systems
A survey study of title security and privacy in mobile systems
 
Ai applications study
Ai applications  studyAi applications  study
Ai applications study
 
Yr money analyzer
Yr money analyzerYr money analyzer
Yr money analyzer
 
Report on Mobile security
Report  on Mobile securityReport  on Mobile security
Report on Mobile security
 
Nanobots
NanobotsNanobots
Nanobots
 
Nanotechnology
NanotechnologyNanotechnology
Nanotechnology
 

Recently uploaded

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 

Recently uploaded (20)

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 

Manage Personal Budget and Expenses with Web Application

  • 1. 1 Chapter-1 INTRODUCTION 1.1BRIEF DESCRIPTION OF THE ORGANIZATION 1.1.1. At a Glimpse WebTek Labs Pvt. Ltd. is recognized as a leading IT solution providing organization with a dynamic and fast growing team of diversely talented individuals. Incorporated in 2001, in our aim to provide the best talent, we initially started with Recruitment & Staffing services. We paralleled this by providing knowledge and skill development certification training programs. International Software Testing qualification board quality (ISTQB) Program that aims to provide IT companies trained software Testers has reached soaring heights of recognition over the years. Few years later after its inception, WebTek Labs added Software development & testing services to the portfolio.Having partnered and worked with some of the leading names across Education, IT, ITES, Banking, Insurance, Aviation, Retail, Healthcare, Hospitality, Media, Manufacturing and FMCG sectors, WebTek Labs has explored business opportunities in software solutions with the Government, Corporate and Institutes. With over a decade of experience we create and deliver high-impact solutions, enabling our clients to achieve their business goals and enhance their competitiveness. In our pursuit of excellence, WebTek's Research & Development team consistently innovates to provide up-to-date solutions keeping in pace with changing times. Our mission is for businesses to leverage the internet and mobility to work smarter and grow faster. We work as your outsourcing and consulting partner. Our business verticals are: Recruitment & Staffing Software Development and Testing Services Digital Marketing Enterprise Mobility Certifications & Trainings for Career Management Software solutions
  • 2. 2 1.1.2. Digital Journey Our digital journey allows our customers to use the power of digital technology to transform your business. Unlock your organization’s full capabilities and improve your efficiencies by using the latest trends in technology. 1.1.3. M i s s i o n A n d V i s i o n Our vision at Webtek Labs is to see our company grow consistently while being committed to provide unsurpassed quality and aiming for customer satisfaction. to lead in the creation and delivery of innovative solutions and services that enable our clients to win in the changing world of work. OUR TEAM has expertise ranging from design to development, training to placements and solutions to implementaion. We combine this knowledge with proactive thinking and strategic planning to approach new challenges with your overall business objectives in mind. WebTek Lab's management team brings together a wealth of experience in both technological and organizational development that is critical in helping our customers achieve their goals. 1 . 1 . 4 . G o a l We intend to provide premier services to our customers from an environment that is highly ethical, and offers teamwork and creativity along with performance. We believe in delivering value and that too 'On Time' to build a strong relation based on its performance so that the name Webtek Labs becomes synonymous with the "provider of best innovative IT solutions". 1.1.5. History Webtek Labs provides effective and flexible technology and business solutions that meet the demands of startups to fortune 500 companies and some of the most recognized brands on the planet. And we do it with cutting-edge technologies, thanks to our close partnerships with the world's biggest vendors.Webtek Labs started in 2001 after experienced Software
  • 3. 3 Architects, Business Analysts and IT Consultants joined hands to form a company with a difference. “Our subject matter experts and industry experienced speakers add a perspective that helps in channelizing the potential of the students in a definite path. Our objective is to prepare the students with the technical capabilities to meet the odds of the corporate world. Like our College workshops our JAVA Training Courses and Software Testing Courses are certified and accredited with industry relevant content.” 1.1.7. Business Enquiry If you need information click here or send us an enquiry to delhi.training@webteklabs.com 1.1.8. Careers For recruitment queries please send us an enquiry to career@webteklabs.com 1.1.9. Feedback For feedback please send us mail on support@webteklabs.com
  • 4. 4 1.2General Description of the Project under Study: This Project is for the users. The user use this for adding their income to the web application,This project helps users to find best budget . This project is based on the adding the income and expense and track record of previous expense (Web Application). 1.2.1 Overview As the internet is growing fast and large group of people have access to the internet, people started doing transaction through internet instead of visiting places directly, an application helping users to manage their expenses, personal incomeThe proposed “YRMoney Analyzer” is designed keeping both record of admin and user side with the help of interacting menu. As “YRMoney Analyzer” is web based application will reachable to wide range of customers and will allow them to check their balance online, the features will be extended to Android and iOS devices for better reach to the end user. 1.2.2. Purpose The main purpose of the “YRMoney Analyzer” is to reach to wider range of users and to educate them about existing and new applications and benefits by different applications. One more purpose is to allow customers to place order online using interactive menu so that they can look previous expense at home. This reduces the time consumption. The “YRMoney Analyzer” is to be developed to reduce the manual work carried out in home using pen,paper or copy and writting all expense with calculator and their is no track of previous expense users will be introduced with the interactive menu. This project helps the admin to know customers order details in few seconds. Due to digitization and a step towards cashless economy, online payment system needs to be introduced.in upcoming years. 1.2.3 Users Purpose This project emphasizes on the common daily problems which an individual faces in managing an account manually or tracking their expenses with proportionate to income. The key area which it focuses is time. This website saves time and effort of the people as it allows people to look their expenses online in a mobile manner i.e. remotely. You don’t have to calculate manually at homefor your personal salary/income the place for your
  • 5. 5 money is analyzed all this can be sought out by the website itself. In certain situations when we have to have see balance instantly we can see online and shuffle through the menu items online. 1.2.4. Existing System There are many calculators available in an area. Therefore, finding your expenses previous record in unknown places is difficult. So users can visit this web application/android app to find best budget making application according to income,expense, budget or time. If user wants to plan their money should be managed according to expenses ,bills,and savings for future use. So, they track using calculators,pen,copy.e.tc and what if it copy or register is forgotten or lost . so their is no any photocopy of previous budget record .It takes too much time to calculate and maintain . 1.No option for keeping budget record. 2.Required to keep a rough account record on paper 3.Time consuming. 4.Cash problem 5.Maintaining problem 1.2.5 Proposed Solution As the internet is growing fast and large group of people have access to the internet, people started doing transaction through internet instead of visiting places directly An application helping users to manage income/expenses. There are many expenses in daily,monthly routine. To manage users budget as per income and expected expenses with previous record of monthly ,yearly and on daily basis .So users can visit this web application to manage personal budget . Problem with existing system like:  user have to manage the income, expense by writting in a paper.  It take too much time to maintain personal budget on daily basis .  Expense may increase as per income as if no budget exist.  Manual budget (paper or copy )may lost or forgotten.
  • 6. 6  Time consuming process .  No tracking of previous expenses. The features will be extended to Android and iOS devices for better reach to the end user. 1.2.6 User Requirements:  Problems user facing earlier:  Earlier we have to do this kind of hard work to find out a calculator and write all expenses in a paper  We have to make the list of the expenses and notedown the amount and date  There are many budget planner in an area. 1.2.7 Solution for the Users As the internet is growing fast and large group of people have access to the internet, people started doing transaction through internet instead of visiting places directly This project emphasizes on the common daily problems which an individual faces for maintaining budget or deal with day-to-day expenses .The key area which it focuses is making budget. This website saves time and effort of the people as it allows people to check their balance and budget.You don’t have to maintain any manual work of maintaining budget all this can be sought out by the website itself. In certain situations when we have to see previous record of day or month or week menu items online. A well-managed budget according to users pocket after processing income,expenses .Therefore remaining balance can be used wisely along with daily,monthly and yearly record of particular user budget 1.2.8. Establish the Need of the New System An application helping users to search for best budget planner online so , browse menus, place orders and make payments for delivery where they can track the location of the driver through an indigenous tracking system. There are many expenses in daily,monthly routine. Therefore, To manage users budget as per income and expected expenses with previous record of monthly ,yearly and on daily basis .So users can visit this web application to manage personal budget .
  • 7. 7 1.2.9.Objectives of the Project There are many accounts information system which are commercially used in different corporate house. But there is no standard information system available for personal finance management. In this context a personal finance management information system which is online is truly important.In this project a personal finance management based on the requirements is conceptualized and implemented. The system enables anyone to manage personal income and expenses with ease via online information system. It is designed to help users to manage their finances to understand where their money is going, pinpointing the areas of excessive expenditure and assist to take decision of cutting down unnecessary expenses. It is found that this information system helps to track finances and generate reports of all.The system is designed and developed using HTML,PHP, and MySQL as the backend database on Apache Server. The system is developed and implemented and the result is satisfactory. In the future this system will be enhanced based on further requirement. 1.2.10 Methodology: Figure: Water Fall Model Approach The model basically being followed is the WATER FALL MODEL, which states that the phases are organized in a line order. First of all feasibility study is done. Once that parties requirements Design Implementation verification maintenance
  • 8. 8 over the requirement analysis and project planning begins. If system exists and modification and addition of new modules needed, analysis of present system can be used as basic model. The design starts after the requirement analysis is complete and the coding begins after the design is complete. Once the programming is completed, the testing is done. In this model, the sequence of activities performed in a software development project areas:- • Requirement Analysis • Project Planning • System Design • Detail Design • Coding • Unit Testing • System Integration & Testing This methodology is chosen as it is very simple to understand and use. In a waterfall model, each phase must be completed fully before the next phase can begin. software development model is basically used for the for the project which is small and there are no uncertain requirements. At the end , a review takes place to determine if the project is on the right path and whether or not to continue or discard the project. In this model software testing starts only after the development is complete. In waterfall model phases do not overlap
  • 9. 9 CHAPTER-2 SYSTEM REQUIREMENT ANALYSIS 2.1 Literature Review This project contains managing expenses using budget services which provides solutions and information related to various budgets which have different menu for their different branches according to their needs independently. An effective budget needs to be put down on paper or via a spreadsheet from a student budget template. On this budget, make a list of all your forms of incomes (including your job, loans, parents, etc.), followed by all your expenses (such as rent, books, food, etc.). Make sure to differentiate between your needs versus your wants. The final number that you calculate should not be a negative number. If it is, you need to make some adjustments to make sure your take-home pay covers all your expenses.To make things simple for you, consider taking advantage of an effective online tool to help you set up a budget and manage your finances. YRMoney Analyzer offers free, help you save money and budget effectively. This online service offers tools and advice to help you understand your finances and clearly see where your money is going. Money seems to be a hard substance for many people to manage. If you think about money as little employees with different jobs, you begin to have a powerful financial system that makes managing your income and expenses a whole lot easier.You see, the wealthy, financially free people of the world have devised a money management system that helped them get, and stay, wealthy.The great thing about a system is that if you set it up and it works—you should stick with it. Just like McDonalds has a system that allows all of their hamburgers to taste the same across the nation, you can have a money management system that provides you with all the money you need and want for the rest of your life.As a student, eating out may seem like the easiest thing to do when it's feeding time. While there most likely isn't a shortage of restaurants and eateries in and around your school, you might be leaving your wallet empty at the end of the month while your stomach may be full.It's fine to eat out every now and then, but the majority of your
  • 10. 10 meals should be eaten in. Make sure you are careful about how much you're spending on dining out. Take advantage of grocery store specials and prepare most of your meals yourself to save a bundle at the end of the month.Creating a budget - and sticking to it - can help you keep your finances in check In an automated money management system is proposed which will keep track of user expenses smartly. Basically, they implemented a money management system for different type of expenses in which user will make online personal budget by one click only.By means of online application for Tablet PCs this system was implemented. The front end was developed using HTML5,CSS3,JAVASCRIPT,JQUERY and at the backend PHP/MySQL database was used. In User using a Smartphone is considered as a basic assumption for the system. Financial is one hot topic that develops in middle-class society. The middle class tend to try to improve the standard of living and lifestyle gradually and continuously. The middle class do not hesitate to shop at online stores. Online shops generally provide all the needs of the middle class, ranging from basic needs to the needs of tertiary. Basically middle class people need instant solutions, easy and full of imagery to resolve their financial problems. The middle class does not have much time to take care of their finances. On weekdays people only have 3 hours per day to the rest for personal activities During our monthly budget meetings, we:  Analyze the previous month’s budget and expenditures  Discuss what we did well and what can be improved upon  Preview the upcoming month’s budget  Track our debts (currently consists of mortgage balances)  Look at our net worth  Review short and long term financial goals  Dispense personal spending money
  • 11. 11 2.1.1Research Methodology Personal finance software has not developed in India yet. The developers sell the personal finance software as commodities. Commodities refer to products that are undifferentiated, same products, same costs, and same value . Personal finance related to the money, and people tend to high emotionally about money. The product must have engagement with the customers. Personal finance software is not only asking for financial data input, processing all of the data, and display the report. The software has to provide more services, such as consulting, personal financial case, or other benefits. According to the explanations on the background can be concluded three important issues that form the focus of the study, namely: 1. Indian middle class numbers continue to increase significantly. According to a study conducted by Insight MarkPlus are 45.7% people of middle class plan for their future, including their future finance. They need easy and quick money management services. Financial planning solutions that are practical and comprehensive become a necessity for the middle class. 2. Middle class consumers do not have enough time to manage their personal finance. Some of them are not able to manage their income and outcome. They are relying on credit
  • 12. 12 card and bad debt. Although they realize that they need advice from the advisor, they do not want to pay the personal finance advisory services. According to the functions of the personal finance application are: 1. It must be able to check and save accounts. 2. It must be able to categorize the transactions. 3. It is flexible to create and easy to monitor a budget. 4. It helps the users to achieve their saving goals. 5. It must be able to track the way the money goes by. 6. It must be secure application A survey instrument was developed to gather information on consumers’ sociodemographic characteristics, their savings habits and priorities, and their interest in using the services. One section of the survey instmrnent focused on the socioeconomic characteristics of the respondents. Questions in this section included age, gender, ethnicity, education, income, family size, employment status and work habits, and home access to fax machines, personal computers, and the Internet. Another section of the survey dealt with consumers’ shopping habits and priorities-such as frequency of shopping, distance traveled to grocery stores, average food budget, etc. Respondents were also asked to rank, fi-om 1 (least important) to 5 (most important), the importance of various considerations in choosing their food stores.
  • 13. 13 2.2Technology 2.2.1. PHP PHP is a server-side scripting language designed primarily for web development but also used as a general-purpose programming language. Originally created by Rasmus Lerdorf in 1994, the PHP reference implementation is now produced by The PHP Development Team.] PHP originally stood for Personal Home Page but it now stands for the recursive acronym PHP: Hypertext Preprocessor. 2.2.2MYSQL A database is a separate application that stores a collection of data. Each database hasone or more distinct APIs for creating, accessing, managing, searching and replicating the data it holds. Other kinds of data stores can also be used, such as files on the file system or large hash tables in memory, but data fetching and writing would not be so fast and easy with those type of systems. Nowadays, we use relational database management systems (RDBMS) to store and manage huge volume of data. This is called relational database because all the data is stored into different tables and relations are established using primary keys or other keys known as Foreign Keys. 2.2.3BOOTSTRAP Bootstrap is a sleek, intuitive, and powerful, mobile first front-end framework for faster and easier web development. It uses HTML, CSS, and Javascript. Bootstrap was developed by Mark Otto and Jacob Thornton at Twitter. It was released as an open source product in August 2011 on GitHub. 2.2.4 HTML Hypertext Markup Language was developed by a consortium of organizations, the World Wide Web consortium (W3C). HTML is a set of tags and elements used to create Web pages. Web pages are documents that you view on the Web. Web pages are websited as
  • 14. 14 files with the extension .htm or .html. HTML is a web based language. It is very easy to learn and use. 2.2.5 CSS CSS stands for Cascading Style Sheet. It defines a way how the information is presented by all the browsers on the web. A style sheet is a set of rules that controls the formatting of HTML elements on one or more web pages. Thus, the appearance of a Web page can be changed by changing the style sheet associated with it. There is no need to make detailed changes within the Web page to change how it looks. As one style sheet can be used for a whole web site, it normally means that the overall size of the website is smaller and downloads required for each page can be decreased by up to 40%. 2.2.6 Java Script Java script is a scripting language. To develop interactive Web sites, you need to create a Web interface for accepting data from users. The data accepted can be websited for further processing and validation. So we use the Java Script. You will also be able to write Java Script code to validate the data entered by users on the Web sites, handle run-time and execution errors in Web documents, and communicate with the users by displaying messages. To create interactive Web documents, the language used is Hypertext Markup Language (HTML). However, HTML does not support data processing on the client computer. Therefore any data in HTML that needs to be validated is sent for processing to the server, causing delay. To facilitate data validated is sent for processing toe the server, causing delay. To facilitate data validation on the client-side, you can use a scripting language for creating interactive interfaces on the Web. 2.2.7 JQUERY jQuery is a fast and concise JavaScript Library created by John Resig in 2006 with a nice motto: Write less, do more. jQuery simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is a JavaScript toolkit designed to simplify various tasks by writing less code.
  • 15. 15 2.3 Project Planing Software project management begins with a set of activities that are collectively called project planning. The objective of software project planning is to provide a framework that enables the manager to make reasonable estimates of resources, cost, and schedule. These estimates are made within a limited time frame at the beginning of a software project and should be updated regularly as the project progresses. Here I have prepared the PERT chart for planning. 2.4 Cost Estimation In this activity, the cost of the project is estimated. This includes money effort, resources and time to build the software. It is done before creating the software. It is the step of software project planning. Estimation begins with a description of the scope of the project. Until the scope is bounded, it’s not possible to develop the meaningful estimate. The problem is then decomposed into a set of smaller problems and each of these is estimated using historical data and experience as guides. Estimation carries inherent risk and this risk leads to uncertainty. There are three factors, which affect the uncertainty inherent in planning factors. These are: -  Project complexity  Project size  Degree of structural uncertainty  Availability of historical information The estimation can be done based on object point, function point or the lines of code. I have done this estimation based on object points of the software. “Boehm”, which is constant gives weights on the object. Taking these constants, we can easily estimate the cost of the software.
  • 16. 16 Table for complexity weight: - Object type Complexity weight Simple Medium Difficult Screen 1 2 3 Reports 2 5 8 3GL/4GL component 10 Table for Productivity rates for object points: - Developer’s experience/capabili ty Very Low Low Nominal High Very high Environment maturity/capability Very Low Low Nominal High Very high PROD 4 7 13 25 50 Table for input/report/3GL/4GL compo Object type Simple Medium Difficult Screen 15 15 2 Reports 5 1 0 3GL/4GL component 1
  • 17. 17 2.5 Project Scheduling 2.5.1 Pert Chart INT ACTIVITY NODE DESCRIPTION 1 0 – 1 A Customer communication 2 1 – 2 B Concept planning 3 2 – 3 C System study 4 3 – 4 D Identification of need 5 4 – 5 E Preliminary investigation 6 5 –6 F Feasibility study 7 6 –7 G Content analysis 8 6 – 8 H Interaction analysis 9 6 – 9 I Functional analysis 10 7,8,9 – 10 J Analysis modeling 11 10 – 11 K S/W, H/W requirement specification 12 11 – 12 L Database design 13 11 – 13 M Interface design 14 11 – 14 N Architectural design 15 11 – 15 O Navigation design 16 12,13,14,15-16 P Coding 17 16 – 17 Q Validation check 18 17 – 18 R Coding documentation 19 18 – 19 S Testing 20 19 – 20 T Implementation
  • 18. 18 CHAPTER -3 SYSTEM DESIGN 4.1 Physical Design Data Flow Diagrams (DFD’s) Data flow diagrams provide a logical model of the system and show the flow of data & the flow of logic involved. Data flow diagrams have the following characteristics. • The processes that perform this transformation normally create as well as use data. • They focus on the process that transform incoming data from into outgoing data flows • External entities send and receive data flows from the system. • DFD supports a top-down approach for analysis. Symbols used in DFDs: Four symbols are used in drawing data flow diagram these are. • External entities (source or sink) • Data flow • Process • Data store External entities (source or sink): An external entity is a source or a destination of Data. External entities are represented by rectangles. These may be people, program, organization or other entities that interact with the system. Fig4.1
  • 19. 19 Data flow: Data flow diagram shows how the data travels from one point to another point in the diagram the flow is shown as an arrowed line with the arrowhead showing the direction of flow. Fig4.2 Process: Processes show the transformation of input data flows to the output data flows. It is also known as Bubble or Transform. A rectangular box or circle denotes a process. Fig4.3 Data Store: A data store is like a warehouse for data. Process may store or retrieve data from a file. If arrow points to the file, it indicates operation of writing into the file. If it points away from the file, it indicates operation of reading from the file. Fig4.4
  • 20. 20 4.1.1. DFD The following rules may be followed while constructing DFDs:  Process should be named and numbered for easy identification.  The direction of the flow is from top to bottom from left to right.  Data traditionally flow from source to destination.  The names of data stores, sources and destination are written in capital letter and first letter of each word of process and dataflow name should be capitalized.A data store is like a warehouse for data. Process may store or retrieve data from a file. If arrow points to the file, it indicates operation of writing into the file. If it points away from the file, it indicates operation of reading from the file. First, we shall start with the context diagram. A context diagram contains a single process but it plays a very important role in studying the current system. 4.1.1.1 0- Level DFD fig.4.5.1
  • 21. 21 4.1.1.2 1- Level DFD Fig 4.5.2 4.1.1.3 2- Level DFD Fig 4.5.3
  • 23. 23 4.1.3 Entity Relationship Diagram An entity-relationship (ER) diagram is a specialized graphic that illustrates the interrelationships between entities in a database. ER diagrams often use symbols to represent three different types of information. Boxes are commonly used to represent entities. Diamonds are normally used to represent relationships and ovals are used to represent attribute Fig 4.4
  • 24. 24 4.2.1System Module Description 4.2.1.1 Overview The system can be used in any place. This project has been made keeping in mind the basic requirements of an industry. For using this, first the user has to Login through the system and then the user has to choose from the dashboard the type of task he wants to perform. There are menus to interact with the operator. It shows the transaction details of income and expense of users. And also it can show manage user profile setting which can be used by this software. And also Show the updation and deletion of record of transactions . 4.2.1.2 Proposed System YRMoney analyzer USER MODULE  Registration  Login  View expenses  Search previous record  Add expense category  Manage own profile
  • 25. 25 4.3.1Database Design 4.3.1.1. Overview Database designs transform the information domain model created during analysis into the data structures that will require implementing the software 4.3.1.2. Normalization In database design we also use the normalization concepts. Normalization is used to ensure that various types of anomalies and inconsistencies are not introduced in to database. Normalization is used to remove redundancy and different type of anomalies like insertion, deletion, and updation anomalies.With the help of normalization concepts accessing of database made easier and data websited in consistent manner. 4.3.1.3.. First Normal Form “A relation is said to be in first normal form(1NF) if the values in the domain of each attribute of the relation are atomic. In other words, only one value is associated with each attribute and the value is not a set of values or a list of values. A database scheme is in 1NF, if every relation scheme included in the database scheme is in 1NF”.In my project all relations are holding the atomic values from their domain to the corresponding attributes. So, in my project, database is in normalizing form. All relations are in 1NF. 4.3.1.4. Second Normal Form A second normal form does not permit partial dependency between non-prime attribute and the relation keys. “A relation scheme R<S, F> is in second normal form (2 NF) if it is in 1NF and if all non prime attributes are fully functionally dependent on the relation key(s).”
  • 26. 26 4.3.1.5. Third Normal Form “A relation scheme R is in third normal form (3 NF) with respect to a set of functional dependencies if, for all functional dependencies if F+ of the form X->Y where X and Y are in R, at least one of the following holds:  X -> Y  X is a super key of R A relation scheme in third normal form does not allow partial or transitive dependencies. So, my tables are in 3 NF because every nonprime attribute is non-transitively and fully dependent on the key. In my project there is no transitive dependency in that relation, so the relation and database is in the third normal form. 4.4.1.1. Data Modeling 1. User
  • 32. 32 4.4.2.2. Module Description i. Login/Signup: -It allows user to enter the website of YRMoney analyzer ii. Search: -In this, user can directly search the previous income/expenses . iii. ADD Transaction-add income/expense to calaculate budget as per the income iv. Delete Transaction-delete wrong transaction v. Update Transaction-update transaction vi. Income/Expense category-add and delete categories vii. Add Budget- add budget out of income viii. View report –view previous transactions of daily,monthly and yearly basis. ix. Contact-contact to developer for any suugestion/query. x. Logout- user logs out from application
  • 35. 35 4.Transaction (to add income and expense) Report 5.Income view (report)
  • 36. 36 6.Expense view REPORT - 7.Manage account
  • 40. 40 3.3 DATABASE DESIGN 3.3.1Table structure 1. BUDGET Field Name Data Type(size) Constraints Description BudgetId Int(5) PRIMARY budget id UserId int(5) Not Null userid CategoryId int(5) Not Null Category id Dates Date Not Null date Amount int(10) Not Null amount TABLE 1: BUDGET 2. CATEGORY Field Name Data Type(size) Constraints Description Categoryid Int(15) PRIMARY Category Id UserId Int(5) Not Null User ID CategoryName Varchar(255) Not Null Category name Level Int(2) Not Null level TABLE 2: CATEGORY
  • 41. 41 3. CONTACT Field Name Data Type(size) Constraints Description name Varchar(50) Not Null Name of the user mob Varchar(50) Not Null Contact number email Varchar(50) Not Null Email address comment Varchar(50) Not Null Message by user TABLE 3: CONTACT 4. TOTALS Field Name Data Type(size) Constraints Description TotalId Int(5) PRIMARY Total id UserId Int(5) Not Null Id of user AccountId int(5) Not Null accountid Totals int(10) Not Null totals TABLE 4: TOTALS
  • 42. 42 5. ASSET Field Name Data Type(size) Constraints Description AssetId Int(5) PRIMARY asset id UserId int(5) Not Null User id Ttile varchar(256) Not Null title of asset Date Date Not Null Date CategoryId int(5) Not Null Category id AccountId int(5) Not Null Account Id Amount Varchar(256) Not Null Amount Description Varchar(8000) Not Null Description TABLE 5: ASSET 6.USER Field Name Data Type(size) Constraints Description UserId Int(5) PRIMARY Id of user FirstNmae Varchar(255) Not Null First name LastName Varchar(255) Not Null Lastname Email Varchar(255) Not Null Email Password Varchar(255) Not Null Password Currency Varchar(255) Not Null Currency TABLE 7: USER
  • 43. 43 7. ACCOUNT Field Name Data Type(size) Constraints Description AccountID int(5) Primary accountid UserId int(5) Not Null userid AccountName Varchar(256) Not Null name of user TABLE 7: ACCOUNT 8.BILLS Field Name Data Type(size) Constraints Description BillsId Int(5) PRIMARY asset id UserId int(5) Not Null User id Ttile varchar(256) Not Null title of bill Date Date Not Null Date CategoryId int(5) Not Null Category id AccountId int(5) Not Null Account id Amount Varchar(256) Not Null Amount Description Varchar(8000) Not Null Description TABLE 7: BILLS
  • 44. 44 CHAPTER-4 SYSTEM DEVELOPEMENT Testing& Security 4.1 Purpose IT is the process of having systems personnel check out and put new equipment into use, train users, install the new application and construct any files of data needed to use it. This phase is less creative than system design. Depending on the size of the organization that will be involved in using the application and the risk involved in its use, systems developers may choose to test the operation in only one area of the firm with only one or two persons. Sometimes, they will run both old and new system in parallel way to compare the results. In still other situations, system developers stop using the old system one day and start using the new one the next. 4.2 Debugging As the internet is growing fast and large group of people have access to the internet, people started doing transaction through internet instead of visiting places directly An application helping users to search for previous record, browse menus The proposed YRMoneyAnalyzer is using management in the mind so that users can manage personal money online and with the help of interacting menu. As YRMoneyAnalyzer i is web based application will reachable to wide range of customers and will allow them to manage personal budget 4.2.1 Testing Testing is the process of running the software on manually created inputs with the intention to find errors and bugs. All the modules that have been developed before are integrated or put together in this phase, and tested as a complete System. On the ending of the coding phase, the testing phase begins. In order, for the input/output accuracy of the software,
  • 45. 45 various testing techniques have been applied. Some testing are, System testing,. The testing process focuses on the logical internals of the software , ensuring that all statements have been tested , and on the functional externals; that is conducting tests to uncovers errors and ensure that defined input will produce actual results that agree with required results. Software testing is an investigation conducted to provide stakeholders with information about the quality of the software product or service under testTest techniques include the process of executing a program or application with the intent of finding software bugs (errors or other defects), and verifying that the software product is fit for use. System Testing: Integrated module testing for the entire system. 4.2.2 Levels of Testing In order to uncover the errors present in different phases, we have the concept of levels of testing. The basic levels of testing are: Client Needs Acceptance Testing Requirements System Testing Design Integration Testing Code Unit Testing Fig.4.2
  • 46. 46 4.2.2.1 Unit Testing Unit testing focuses verification effort on the smallest unit of software i.e. the module. Using the detailed design and the process specifications, testing is done to uncover errors within the boundary of the module. All modules must be successful in the unit test before the start of the integration testing begins.In this project each service can be thought of a module. There are so many modules like Login, Add Question, Result Generation, etc. Each module has been tested by giving different sets of inputs. When developing the module as well as finishing the development, the module works without any error. The inputs are validated when accepting them from the user. 4.2.2.2 Integration Testing After unit testing, we have to perform integration testing. The goal here is to see if modules can be integrated properly, the emphasis being on testing interfaces between modules. This testing activity can be considered as testing the design and hence the emphasis on testing module interactions.In this project the main system is formed by integrating all the modules. When integrating all the modules I have checked whether the integration effects working of any of the services by giving different combinations of inputs with which the two services run perfectly before Integration. 4.2.2.3 System Testing Here the entire software system is tested. The reference document for this process is the requirements document, and the goal is to see if software meets its requirements.Here entire ‘YRMONEY analyzer’ has been tested against requirements of project and it is checked whether all requirements of project have been satisfied or not.
  • 47. 47 4.3.1 Acceptance Testing Acceptance Testing is performed with realistic data of the client to demonstrate that the software is working satisfactorily. Testing here is focused on external behavior of the system; the internal logic of program is not emphasized. Test cases should be selected so that the largest number of attributes of an equivalence class is exercised at once. The testing phase is an important part of software development. It is the process of finding errors and missing operations and also a complete verification to determine whether the objectives are met and the user requirements are satisfied. 4.3.2 White Box Testing This is a unit testing method, where a unit will be taken at a time and tested thoroughly at a statement level to find the maximum possible errors. I tested step wise every piece of code, taking care that every statement in the code is executed at least once. The white box testing is also called Glass Box Testing. I have generated a list of test cases, sample data, which is used to check all possible combinations of execution paths through the code at every module level. 4.3.3 Black Box Testing Black-box test are designed to uncover errors functional requirement without regard to the internal workings of a program. Black-box testing techniques focus on the information domain of the software, deriving test cases by partitioning the input and output domain of a program in manner that provides through test coverage. The black-box test is used to demonstrate that software functions are operational, that input is properly produced, and that the integrity of external information are maintained. A black-box test examines some fundamental aspect of a system with little or no regard for the integral logical structure of the software. Graph based testing methods explore the relationship between and behavior of program objects. Equivalence partitioning divides the input classes of data are likely to exercise
  • 48. 48 specific software function. Boundary values analysis probes the program’s ability to handle data at the limits of acceptability. 4.2.3. Maintenance Once the software becomes operational, whatever changes are done is termed as maintenance. It is necessary to eliminate errors in the working system during the working life of the software and to tune the system to any variations in its working environment. The software “One Stop Parking” is maintained in this way that if the requirement increases; it (software) can be altered by anybody effortlessly. In order to the maintenance of the software, the lifecycle of the software has been loosely coupled and highly cohesion 4.3 Validation Validation is determining if the system complies with the requirements and performs functions for which it is intended and meets the organization’s goals and user needs.  Validation is done at the end of the development process and takes place after verifications are completed.  It answers the question like: Am I building the right product?  Am I accessing the right data (in terms of the data required to satisfy the requirement).  It is a High level activity.  Performed after a work product is produced against established criteria ensuring that the product integrates correctly into the environment.  Determination of correctness of the final software product by a development project with respect to the user needs and requirements. 4.3.1 Verification  Verifying process includes checking documents, design, code and program  It does not involve executing the codeVerification uses methods like reviews, walkthroughs, inspections and desk- checking etc.  Whether the software conforms to specification is checked
  • 49. 49 4.4Coding LOGIN.PHP <?php session_start(); $msgBox = ''; include ('includes/notification.php'); include ('includes/db.php'); include ('includes/Functions.php'); if (isset($_POST['login'])) { if ($_POST['email'] == '') { $msgBox = alertBox($EmailEmpty); } else if ($_POST['password'] == '') { $msgBox = alertBox($PasswordEmpty); } else { $Email = $mysqli->real_escape_string($_POST['email']); $Password = encryptIt($_POST['password']); if ($stmt = $mysqli->prepare("SELECT UserId, FirstName, LastName, Email, Password, Currency from user WHERE Email = ? AND Password = ? ")) { $stmt->bind_param("ss", $Email, $Password); $stmt->execute(); $stmt->bind_result($UserId_, $FirstName_, $LastName_, $Email_, $Password_, $Currency_); $stmt->store_result(); $stmt->fetch(); if ($num_of_rows = $stmt->num_rows >= 1) { session_start(); $_SESSION['UserId'] = $UserId_; $_SESSION['FirstName'] = $FirstName_;
  • 50. 50 $_SESSION['LastName'] = $LastName_; $_SESSION['Currency'] = $Currency_; $UserIds = $_SESSION['UserId']; $a = "SELECT CategoryName FROM category WHERE UserId = $UserIds"; $b = mysqli_query($mysqli, $a); if (mysqli_num_rows($b) >= 1) { echo ''; } else { $c = "INSERT INTO category(UserId, CategoryName, Level) VALUES ($UserIds, 'Salary', 1), ($UserIds, 'Alowance', 1), ($UserIds, 'Petty Cash', 1), ($UserIds, 'Bonus', 1), ($UserIds, 'Food', 2), ($UserIds, 'Social Life', 2), ($UserIds, 'Self-Development', 2), ($UserIds, 'Transportation', 2), ($UserIds, 'Culture', 2), ($UserIds, 'Household', 2), ($UserIds, 'Apparel', 2), ($UserIds, 'Beauty', 2), ($UserIds, 'Health', 2), ($UserIds, 'Gift', 2)"; $d = mysqli_query($mysqli, $c); } echo '<META HTTP-EQUIV="Refresh" Content="0; URL=index.php">'; } else { $msgBox = alertBox($LoginError); } }}}?> <!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="">
  • 51. 51 <meta name="author" content=""> <title> Login</title> <link href="css/bootstrap.min.css" rel="stylesheet"> <link href="css/plugins/metisMenu/metisMenu.min.css" rel="stylesheet"> <link href="css/custom.css" rel="stylesheet"> <link href="font-awesome-4.1.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"> <style> .form-control { border-radius: 25px; } .col-md-4 col-md-offset-4 { border-radius: 25px; margin-top: -90px; } </style> </head> <body> <div class="container" style="background-image: url(css/images/m.png); background- repeat: repeat;opacity: 0.9;width:100%;height:100%"> <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">
  • 52. 52 <?php if ($msgBox) { echo $msgBox; } ?> <form method="post" 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> <?php include ('includes/footer.php'); ?> </div> <script src="js/jquery-1.11.0.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/plugins/metisMenu/metisMenu.min.js"></script> </body>
  • 53. 53 </htm> SIGNUP.PHP <?php $msgBox = ''; include('includes/notification.php'); include('includes/Functions.php'); include('includes/db.php'); if(isset($_POST['signup'])){ if($_POST['email'] == '' || $_POST['firstname'] == '' || $_POST['lastname'] == '' || $_POST['password'] == '' || $_POST['rpassword'] == '') { $msgBox = alertBox($SignUpEmpty); } else if($_POST['password'] != $_POST['rpassword']) { $msgBox = alertBox($PwdNotSame); } else { // Set new account $Email = $mysqli- >real_escape_string($_POST['email']); $Password = encryptIt($_POST['password']); $FirstName = $mysqli- >real_escape_string($_POST['firstname']); $LastName = $mysqli- >real_escape_string($_POST['lastname']); $Currency = $mysqli- >real_escape_string($_POST['currency']);
  • 54. 54 $sql="Select Email from user Where Email = '$Email'"; $c= mysqli_query($mysqli, $sql); if (mysqli_num_rows($c) >= 1) { $msgBox = alertBox($AlreadyRegister); } else{ $sql="INSERT INTO user (FirstName, LastName, Email, Password, Currency) VALUES (?,?,?,?,?)"; if($statement = $mysqli->prepare($sql)){ //bind parameters for markers, where (s = string, i = integer, d = double, b = blob) $statement->bind_param('sssss', $FirstName, $LastName, $Email, $Password, $Currency); $statement->execute(); } $msgBox = alertBox($SuccessAccount); } } } if(isset($_POST['back'])) { header("location:login.php"); } ?> <!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="">
  • 55. 55 <meta name="author" content=""> <title> Sign Up</title> <link href="css/bootstrap.min.css" rel="stylesheet"> <link href="css/plugins/metisMenu/metisMenu.min.css" rel="stylesheet"> <link href="css/custom.css" rel="stylesheet"> <link href="font-awesome-4.1.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"> <style> .bg .container { background-image: url(css/images/m.png) !important; background-repeat: repeat; opacity: 0.9; width:100%; height:100% } .form-control { border-radius: 25px; } .panel-body { margin-left: 180px; } </style></head> <body> <div class="bg"> <div class="container" style=" background-image: url(css/images/m.png) !important; background-repeat: repeat;
  • 56. 56 opacity: 0.9; width:100%; height:100%"> <div class="row" > <div class="col-md-6 col-md-offset-3" style="margin-top: -150px"> <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 $CreateAnAccount; ?></h3> </div> <div class="panel-body"> <?php if ($msgBox) { echo $msgBox; } ?> <form method="post" action="" role="form"> <fieldset> <div class="form-group col-lg-6"> <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 col-lg-6"> <label for="email"><?php echo $FirstNames; ?></label> <input class="form-control" placeholder="<?php echo $FirstNames; ?>" name="firstname" type="text" > </div> <div class="form-group col-lg-6"> <label for="email"><?php echo $LastNames; ?></label> <input class="form-control" placeholder="<?php echo $LastNames; ?>" name="lastname" type="text" > </div> <div class="form-group col-lg-6">
  • 57. 57 <label for="email"><?php echo $Currencys; ?></label> <select class="form-control bold" name="currency"> <option value="‫>"د.إ‬Arab Emirates Dirham (AED)</option> <option value="Tk">Bangladeshi Taka (BDT)</option> <option value="лв">Bulgarian Lev (BGN)</option> <option value="R$">Brazilian Real (R$)</option> <option value="BSD">Bahamian Dollar (BSD)</option> <option value="BZD">Belize Dollar (BZD)</option> <option value="CA$">Canadian Dollar (CA$)</option> <option value="₱">Cuban Peso (CUP)</option> <option value="CVE">Cape Verdean Escudo (CVE)</option> <option value="£">Egyptian Pound (EGP)</option> <option value="€">Euro (€)</option> <option value="£">British Pound Sterling (₤)</option> <option value="Rp">Indonesian Rupiah (IDR)</option> <option value="₪">Israeli New Sheqel (₪)</option>
  • 58. 58 <option value="₹">Indian Rupee (Rs.)</option> <option value="¥">Japanese Yen (¥)</option> <option value="KES">Kenyan Shilling (KES)</option> <option value="лв">Kazakhstani Tenge (KZT)</option> <option value="₭">Laotian Kip (LAK)</option> <option value="£">Lebanese Pound (LBP)</option> <option value="Rs">Sri Lankan Rupee (LKR)</option> <option value="MX$">Mexican Peso (MX$)</option> <option value="MYR">Malaysian Ringgit (MYR)</option> <option value="MT">Mozambican Metical (MZN)</option> <option value="$">Namibian Dollar (NAD)</option> <option value="₦">Nigerian Naira (NGN)</option> <option value="C$">Nicaraguan Córdoba (NIO)</option> <option value="kr">Norwegian Krone (NOK)</option> <option value="₨">Nepalese Rupee (NPR)</option>
  • 59. 59 <option value="NZ$">New Zealand Dollar (NZ$)</option> <option value="₱">Philippine Peso (Php)</option> <option value="Rs">Pakistani Rupee (PKR)</option> <option value="zł">Polish Zloty (PLN)</option> <option value="Gs">Paraguayan Guarani (PYG)</option> <option value="S$">Singapore Dollar (SGD)</option> <option value="฿">Thai Baht (฿)</option> <option value="NT$">New Taiwan Dollar (NT$)</option> <option selected="" value="$">US Dollar ($)</option> <option value="₫">Vietnamese Dong (₫)</option> <option value="ZMK">Zambian Kwacha (ZMK)</option></select> </select> </div> <div class="form-group col-lg-6"> <label for="password"><?php echo $Passwords; ?></label> <input class="form-control" placeholder="<?php echo $Passwords; ?>" name="password" type="password" value=""> </div>
  • 60. 60 <div class="form-group col-lg-6"> <label for="password"><?php echo $RepeatPassword; ?></label> <input class="form-control" placeholder="<?php echo $RepeatPassword; ?>" name="rpassword" type="password" value=""> </div> <table border="2"> <div style="border-radius: 25px !important"> <tr > <th colspan="3"></th> <th rowpan="3"></th> <td> <button type="submit" name="signup" class="btn btn-success btn- block"><span class="glyphicon glyphicon-log-in"></span> <?php echo $Save; ?></button> </td> <td> <button type="back" name="back" class="btn btn-primary btn- block"><span class="glyphicon glyphicon-log-in"></span> <?php echo "Back"; ?></button> </td> </tr> </div> </div></table></fieldset></form></div></div></div></div </div> <?php include('includes/footer.php'); ?></div> <script src="js/jquery-1.11.0.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/plugins/metisMenu/metisMenu.min.js"></script> </body></html>
  • 61. 61 INDEX.PHP <?php session_start(); function ActiveClass($requestUri) { $current_file_name = basename($_SERVER['REQUEST_URI'], ".php"); if ($current_file_name == $requestUri) echo 'class="active"'; } if (!isset($_SESSION['UserId'])) { header ('Location: login.php'); exit; } if (isset($_GET['action'])) { $action = $_GET['action']; if ($action == 'logout') { session_destroy(); header('Location: login.php'); } } 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') {
  • 62. 62 $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"; } 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"; }
  • 63. 63 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'] == 'siteSettings') { $page = "siteSettings"; } Else{ $page = 'dashboard';} include('includes/global.php'); include('includes/header.php'); $msgBox =""; if (file_exists('pages/'.$page.'.php')) { include('pages/'.$page.'.php'); } else { 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/slider.php'); include('includes/about.php'); include('includes/cont.php'); include('includes/footer.php); ?>
  • 64. 64 HEADER.PHP <?php include ('includes/notification.php'); ?> <!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>HEADER</title> <link href="css/bootstrap.min.css" rel="stylesheet"> <link href="css/plugins/metisMenu/metisMenu.min.css" rel="stylesheet"> <link href="css/plugins/dataTables.bootstrap.css" rel="stylesheet"> <link href="css/custom.css" rel="stylesheet"> <!-- Morris Charts CSS --> <link href="css/plugins/morris.css" rel="stylesheet"> <!-- Custom Fonts --> <link href="font-awesome-4.1.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"> <link href="https://fonts.googleapis.com/css?family=Josefin+Sans:300,300i,400,400i,700,700i " rel="stylesheet"> <script src="js/jquery-1.11.0.js"></script> <script src="js/plugins/metisMenu/metisMenu.js"></script> </head><body> <div id="wrapper" style="background-color: black !important"> <!-- Navigation --> <nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0;background-color: black !important">
  • 65. 65 <div class="headmain" style="margin-bottom: 0;background-color: black"> <div class="navbar-header" style="margin-bottom: 0;background-color: black"> <button type="button" class="navbar-toggle" data-toggle="collapse" data- target=".navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <span> <img src= "css/images/m.png" height="85px" width="85px" style="margin-top:0px ;margin-left: 60px"><h3 style="margin-top:-20px font-size:7px;color:white;margin-left: 0px;padding:0px">YR MONEY ANALYZER</h3></span> </div> <ul class="nav navbar-top-links navbar-right" style="background-color: white"> <li> <?php echo $Welcome;?>, <?php echo $ColUser['FirstName'];?> </li> <!-- /.dropdown --> <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#"> <i class="fa fa-user fa-fw"></i> <i class="fa fa-caret-down"></i> </a> <ul class="dropdown-menu dropdown-user">
  • 66. 66 <li> <a <?php ActiveClass("index.php?page=Settings");?> href="index.php?page=Settings"><i class="fa fa-gear fa-fw"></i> <?php echo $Settings;?></a> </li> <li class="divider"></li> <li><a href="index.php?action=logout"><i class="fa fa-sign-out fa- fw"></i> <?php echo $Logout;?></a> </li> </ul> </li> </ul> </div> <br> <br><br><br><br> <div class="navbar-default sidebar" role="navigation"> <div class="sidebar-nav navbar-collapse"> <ul class="nav font-sidebar" id="side-menu" style="font-size: 15px;"> <li> <a <?php ActiveClass("index");?> href="index.php"><i class="glyphicon glyphicon-home"></i> <?php echo $Dashboard;?><span class="fa arrow"></a> </li> <li> <a <?php ActiveClass("index.php?page=Transaction");?> href="index.php?page=Transaction"><i class="glyphicon glyphicon-refresh"></i> <?php echo $Transaction;?><span class="fa arrow"></a> </li> <li>
  • 67. 67 <a <?php ActiveClass("index.php?page=AssetReport");?> href="index.php?page=AssetReport"><i class="glyphicon glyphicon-stats"></i> <?php echo $Incomes;?><span class="fa arrow"></span></a> </li> <li> <a <?php ActiveClass("index.php?page=ExpenseReport");?> href="index.php?page=ExpenseReport" ><i class="glyphicon glyphicon-list-alt"></i> <?php echo $Expenses;?><span class="fa arrow"></span></a> <li> <li> <a <?php ActiveClass("index.php?page=ManageAccount");?> href="index.php?page=ManageAccount"> <i class="fa fa-tags"></i> <?php echo $Account;?><span class="fa arrow"></a> </li> </li> </li> <li><a <?php ActiveClass("index.php?page=ManageBudget");?> href="index.php?page=ManageBudget"><i class="fa fa-archive"></i> <?php echo $BudgetsM;?><span class="fa arrow"></a> </li> <li> <a class="parent" href="javascript:void(0)"><i class="fa fa-gears"> </i> <?php echo $Settings;?><span class="fa arrow"></a> <ul class="nav nav-second-level" id="subitem"> <li> <a <?php ActiveClass("index.php?page=ManageExpenseCategory");?> href="index.php?page=ManageExpenseCategory"><i class="fa fa-caret-right"></i> <?php echo $CategoryExpense;?></a> </li>
  • 68. 68 <li> <a <?php ActiveClass("index.php?page=ManageIncomeCategory");?> href="index.php?page=ManageIncomeCategory"><i class="fa fa-caret-right"></i> <?php echo $CategoryIncome;?></a> </li> </ul> </li> <li> <a class="parent" href="javascript:void(0)"><i class="fa fa-print"> </i> <?php echo $ReportsGraphs;?><span class="fa arrow"></a> <ul class="nav nav-second-level" > <li> <a <?php ActiveClass("index.php?page=IncomeVsExpense");?> id="subitem" href="index.php?page=IncomeVsExpense"><i class="fa fa-caret-right"> </i> <?php echo $IncomeVsExpense;?></a> </li> </ul></li> <li> <a <?php ActiveClass("index.php?page=Settings");?> href="index.php?page=Settings"><i class="fa fa-user"> </i> <?php echo $ProfileSettings;?><span class="fa arrow"></a> </li> <li> <a href="index.php?action=logout"><i class="glyphicon glyphicon-log- out"></i> <?php echo $Logout;?><span class="fa arrow"></a</nav> <script> $(document).ready(function () { $(this).parent().addClass("collapse"); $(".parent").on('click', function () { $(this).parent().find("#subitem").slideToggle() });});</script>
  • 69. 69 USERRINFO.PHP <?php // Get User Info $UserId = $_SESSION['UserId']; $GetUserInfo = "SELECT * FROM user WHERE UserId = $UserId"; $UserInfo = mysqli_query($mysqli, $GetUserInfo); $ColUser = mysqli_fetch_assoc($UserInfo); ?> GLOBAL.PHP <?php // include connection to database include ('includes/db.php'); // Get User Info $UserId=$_SESSION['UserId']; $GetUserInfo = "SELECT * FROM user WHERE UserId = $UserId"; $UserInfo = mysqli_query($mysqli, $GetUserInfo); $ColUser = mysqli_fetch_assoc($UserInfo); //category for income $Getincome = "SELECT CategoryId, UserId, CategoryName, Level FROM category WHERE (UserId = 0 OR UserId = $UserId) AND Level = 1"; $income = mysqli_query($mysqli,$Getincome); // Category for Expense $Getexpense = "SELECT CategoryId, UserId, CategoryName, Level FROM category WHERE (UserId = 0 OR UserId = $UserId) AND Level = 2"; $expense = mysqli_query($mysqli,$Getexpense); // Category for account Expense $GetAccountExpense = "SELECT AccountId, UserId, AccountName FROM account WHERE UserId = 0 OR UserId = $UserId";
  • 70. 70 $AccountExpense = mysqli_query($mysqli,$GetAccountExpense); // Category for account Income $GetAccountIncome = "SELECT AccountId, UserId, AccountName FROM account WHERE UserId = 0 OR UserId = $UserId"; $AccountIncome = mysqli_query($mysqli,$GetAccountIncome); $GetAccountDount = "SELECT account.AccountName, sum(assets.Amount) AS Amount FROM account, assets where account.AccountId=assets.AccountId AND assets.UserId= $UserId group by account.AccountName"; $Dount = mysqli_query($mysqli, $GetAccountDount); $GetAccountDounts = "SELECT category.CategoryName, SUM(bills.amount) AS Amount FROM category, bills where category.CategoryId=bills.CategoryId AND category.Level = 2 AND bills.UserId = $UserId GROUP BY bills.CategoryId"; $Dounts = mysqli_query($mysqli, $GetAccountDounts); // dashboard income vs expense $GetAccountDountvs = "SELECT AmountExpense, AmountIncome FROM ( SELECT UserId, SUM(Amount) AS AmountExpense FROM bills GROUP BY UserId) AS b LEFT JOIN ( SELECT UserId, SUM(Amount) AmountIncome FROM assets GROUP BY UserId) AS a ON b.UserId = a.UserId WHERE b.UserId = $UserId"; $Dountvs = mysqli_query($mysqli, $GetAccountDountvs); $colsDounat = mysqli_fetch_assoc($Dountvs); $GetAccountDountdate = "SELECT AmountExpense, AmountIncome
  • 71. 71 FROM ( SELECT UserId, SUM(Amount) AS AmountExpense, dates FROM bills WHERE MONTH(Dates) = MONTH(current_date()) GROUP BY UserId) AS b JOIN ( SELECT UserId, SUM(Amount) AS AmountIncome, date FROM assets WHERE MONTH(Date) = MONTH(current_date()) GROUP BY UserId) AS a ON b.UserId = a.UserId WHERE b.UserId = $UserId"; $Dountvsdate = mysqli_query($mysqli, $GetAccountDountdate); $ColsDounatMonth = mysqli_fetch_assoc($Dountvsdate); // get data based from budget $Year = date("Y"); $Month = date("m"); $Getbudget = "SELECT b.CategoryId, b.Dates, b.Amount, c.CategoryName from budget b, category c WHERE YEAR(Dates) = $Year AND MONTH(Dates) = $Month AND b.UserId = $UserId AND c.CategoryId = b.CategoryId"; $Budget = mysqli_query($mysqli, $Getbudget); $GetIncomeHistory = "SELECT * from assets left join category on assets.CategoryId = category.CategoryId left join account on assets.AccountId = account.AccountId where assets.UserId = $UserId ORDER BY assets.Date DESC"; $IncomeReport = mysqli_query($mysqli,$GetIncomeHistory); ?>
  • 72. 72 Get-expense-daily.php <?php session_start(); include('db.php'); include('Functions.php'); include ('notification.php'); $UserId=$_SESSION['UserId']; $GetUserInfo = "SELECT * FROM user WHERE UserId = $UserId"; $UserInfo = mysqli_query($mysqli, $GetUserInfo); $ColUser = mysqli_fetch_assoc($UserInfo); $query = "select * from bills where UserId = $UserId "; $assetstocalender = mysqli_query($mysqli, $query); $events = array(); $sum = 0; while ($row = mysqli_fetch_assoc($assetstocalender)) { $start = $row['Dates']; $end = $row['Dates']; $amount = $ColUser['Currency'].' '.number_format($row['Amount']); $title = $row['Title']; $sum+= $row['Amount']; $eventsArray['title'] = $title; $eventsArray['start'] = $start; $eventsArray['end'] = $end; $eventsArray['names'] = $amount; $events[] = $eventsArray; } $eventsArray['sum'] = $sum;
  • 73. 73 Get-daily.php <?php session_start(); include('db.php'); include('Functions.php'); include ('notification.php'); $UserId=$_SESSION['UserId']; $GetUserInfo = "SELECT * FROM user WHERE UserId = $UserId"; $UserInfo = mysqli_query($mysqli, $GetUserInfo); $ColUser = mysqli_fetch_assoc($UserInfo); $query = "select * from assets where UserId = $UserId "; $assetstocalender = mysqli_query($mysqli, $query); $events = array(); $sum = 0; while ($row = mysqli_fetch_assoc($assetstocalender)) { $start = $row['Date']; $end = $row['Date']; $amount = $ColUser['Currency'].' '.number_format($row['Amount']); $title = $row['Title']; $sum+= $row['Amount']; $eventsArray['title'] = $title; $eventsArray['start'] = $start; $eventsArray['end'] = $end; $eventsArray['names'] = $amount; $events[] = $eventsArray; } $eventsArray['sum'] = $sum; echo json_encode($events); //echo $sum;
  • 74. 74 FUNCTIONS.PHP <?php function alertBox($message) { return "<div class="alert alert-success alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">x</button>$message</div>"; } function format_amount($n, $n_decimals) { return ((floor($n) == round($n, $n_decimals)) ? number_format($n).'.00' : number_format($n, $n_decimals)); } function encryptIt($value) { // The encodeKey MUST match the decodeKey $encodeKey = 'Li1KUqJ4tgX14dS,A9ejk?uwnXaNSD@fQ+!+D.f^`Jy'; $encoded = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($encodeKey), $value, MCRYPT_MODE_CBC, md5(md5($encodeKey)))); return($encoded); } function decryptIt($value) { $decodeKey = 'Li1KUqJ4tgX14dS,A9ejk?uwnXaNSD@fQ+!+D.f^`Jy'; $decoded = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($decodeKey), base64_decode($value), MCRYPT_MODE_CBC, md5(md5($decodeKey))), "0"); return($decoded); } function clean($string) {
  • 75. 75 return $string = str_replace(',', '', $string); // Replaces all spaces with hyphens. } function Percentage($value){ return round($value * 100). "%"; } function Percentages($value){ return round($value * 100); } ?> DB.PHP <?php error_reporting(0); ini_set('display_errors', '0'); $dbuser="root"; //user to access your database $dbpassword=""; //password to access your database $dbname="yrmoney"; //name of database $dbhost="localhost"; //your database server $mysqli = new mysqli($dbhost, $dbuser, $dbpassword, $dbname); if (mysqli_connect_errno()) { printf("MySQLi connection failed: ", mysqli_connect_error()); exit(); } if (!$mysqli->set_charset('utf8')) { printf('Error loading character set utf8: %sn', $mysqli->error);}?>
  • 76. 76 DASHBOARD.PHP <?php $msgBox=''; include('includes/Functions.php'); include ('includes/notification.php'); $GetAllIncome = "SELECT SUM(Amount) AS Amount FROM assets WHERE UserId = $UserId"; $GetAIncome = mysqli_query($mysqli, $GetAllIncome); $IncomeCol = mysqli_fetch_assoc($GetAIncome); $GetAllExpense = "SELECT SUM(Amount) AS Amount FROM bills WHERE UserId = $UserId"; $GetAExpense = mysqli_query($mysqli, $GetAllExpense); $ExpenseCol = mysqli_fetch_assoc($GetAExpense); //Count current totals Income $CountTotals = $IncomeCol['Amount'] - $ExpenseCol['Amount']; //Get Recent Income History $GetIncomeHistory = "SELECT * from assets left join category on assets.CategoryId = category.CategoryId left join account on assets.AccountId = account.AccountId where assets.UserId = $UserId ORDER BY assets.Date DESC LIMIT 10"; $IncomeHistory = mysqli_query($mysqli,$GetIncomeHistory); //Get Recent Expense History $GetExpenseHistory = "SELECT * from bills left join category on bills.CategoryId = category.CategoryId left join account on bills.AccountId = account.AccountId where bills.UserId = $UserId ORDER BY bills.Dates DESC LIMIT 10"; $ExpenseHistory = mysqli_query($mysqli,$GetExpenseHistory);
  • 77. 77 // Get all by month Income $GetAllIncomeDate = "SELECT SUM(Amount) AS Amount FROM assets WHERE UserId = $UserId AND MONTH(Date) = MONTH (CURRENT_DATE())"; $GetAIncomeDate = mysqli_query($mysqli, $GetAllIncomeDate); $IncomeColDate = mysqli_fetch_assoc($GetAIncomeDate); // Get all by month Expense $GetAllExpenseDate = "SELECT SUM(Amount) AS Amount FROM bills WHERE UserId = $UserId AND MONTH(Dates) = MONTH (CURRENT_DATE())"; $GetAExpenseDate = mysqli_query($mysqli, $GetAllExpenseDate); $ExpenseColDate = mysqli_fetch_assoc($GetAExpenseDate); // Budget Progress $Getbudgets = "SELECT AmountIncome As Amount, (AmountIncome - AmountExpense) As Totals, AmountExpense/(AmountIncome - AmountExpense) * 100/100 AS Per,CategoryName FROM ( SELECT UserId,CategoryId, SUM(Amount) AS AmountExpense FROM bills GROUP BY CategoryId) AS b LEFT JOIN ( SELECT CategoryId, SUM(Amount) AmountIncome FROM budget WHERE MONTH(Dates) = MONTH (CURRENT_DATE()) GROUP BY CategoryId) AS a ON b.CategoryId = a.CategoryId LEFT JOIN (SELECT CategoryId, CategoryName FROM category
  • 78. 78 GROUP BY CategoryId) AS c ON b.CategoryId = c.CategoryId WHERE b.UserId = $UserId"; $Budgets = mysqli_query($mysqli, $Getbudgets); //Include Global page include ('includes/global.php'); ?> <div id="page-wrapper"> <div class="row"> <div class="col-lg-12"> <h1 class="page-header"><?php echo $Dashboard;?></h1> </div> <!-- /.col-lg-12 --> </div> <!-- /.row --> <div class="row"> <div class="col-lg-3 col-md-6"> <div class="panel panel-red"> <div class="panel-heading"> <div class="row"> <div class="col-xs-3"> <i class="glyphicon glyphicon-calendar fa-4x"></i> </div> <div class="col-xs-12 text-left"> <h2><?php echo $ColUser['Currency'].' '.number_format($ExpenseColDate['Amount']); ?></h2> <div><?php echo $CurrentExpense;?></div>
  • 79. 79 </div> </div> </div> <a href="#"> <div class="panel-footer"> <span class="pull-left"></span> <span class="pull-right"></span> <div class="clearfix"></div> </div> </a> </div> </div> <div class="col-lg-3 col-md-6"> <div class="panel panel-primary"> <div class="panel-heading"> <div class="row"> <div class="col-xs-3"> <i class="glyphicon glyphicon-calendar fa-4x"></i> </div> <div class="col-xs-12 text-left"> <h2><?php echo $ColUser['Currency'].' '.number_format($IncomeColDate['Amount']); ?></h2> <div><?php echo $CurrentIncome;?></div> </div> </div> </div> <a href="#"> <div class="panel-footer"> <span class="pull-left"></span> <span class="pull-right"></span>
  • 80. 80 <div class="clearfix"></div> </div> </a> </div> </div> <div class="col-lg-3 col-md-6"> <div class="panel panel-red"> <div class="panel-heading"> <div class="row"> <div class="col-xs-3"> <i class="glyphicon glyphicon-resize-full fa-4x"></i> </div> <div class="col-xs-12 text-left"> <h2><?php echo $ColUser['Currency'].' '.number_format($ExpenseCol['Amount']);?> </h2> <div><?php echo $TotalExpenseDashboard;?></div> </div> </div> </div> <a href="#"> <div class="panel-footer"> <span class="pull-left"></span> <span class="pull-right"></span> <div class="clearfix"></div> </div> </a> </div> </div> <div class="col-lg-3 col-md-6"> <div class="panel panel-green">
  • 81. 81 <div class="panel-heading"> <div class="row"> <div class="col-xs-1"> <i class="glyphicon glyphicon-resize-small fa-4x"></i> </div> <div class="col-xs-12 text-left"> <h2><?php echo $ColUser['Currency'].' '.number_format($CountTotals);?> </h2> <div><?php echo $CurrentBalance ;?></div> </div> </div> </div> <a href="#"> <div class="panel-footer"> <span class="pull-left"></span> <span class="pull-right"></span> <div class="clearfix"></div> </div> </a> </div> </div> </div> <!-- /.row --> <div class="row"> <div class="col-lg-6"> <div class="panel panel-primary"> <div class="panel-heading"> <i class="fa fa-bar-chart-o fa-fw"></i> <?php echo $TenIncome;?> </div>
  • 82. 82 <!-- /.panel-heading --> <div class="panel-body"> <div> <div class="table- responsive"> <table class="table table-bordered table-hover table-striped"> <thead> <tr> <th><?php echo $Title;?></th> <th><?php echo $Date;?></th> <th><?php echo $Account;?></th> <th><?php echo $Amount;?></th> </tr> </thead> <tbody> <?php while($col = mysqli_fetch_assoc($IncomeHistory)){ ?> <tr> <td><?php echo $col['Title'];?></td> <td><?php echo date("M d Y",strtotime($col['Date']));?></td> <td><?php echo $col['AccountName'];?></td>
  • 83. 83 <td><?php echo $ColUser['Currency'].' '.number_format($col['Amount']);?></td> </tr> <?php } ?> </tbody> </table> </div> <div class="text-center"><a href="index.php?page=AssetReport"><?php echo $ViewDetails;?></a></div> </div> </div> <!-- /.panel-body --> </div> <!-- /.panel --> <div class="panel panel-info"> <div class="panel-heading"> <i class="fa fa-bar-chart-o fa-fw"></i> <?php echo $AccountBalance ?></b> </div> <div class="panel-body"> <div class="row"> <div class="col-lg-12"> <div class="table-responsive"> <table class="table table-bordered table-hover table-striped"> <thead> <tr>
  • 84. 84 <th><?php echo $Title;?></th> <th><?php echo $Amount;?></th> </tr> </thead> <tbody> <?php while($col = mysqli_fetch_assoc($Dount)){ ?> <tr> <td><?php echo $col['AccountName'];?></td> <td class="text-right"><?php echo $ColUser['Currency'].' '.number_format($col['Amount']);?></td> </tr> <?php } ?> </tbody> </table> </div> </div> </div> </div> </div> <!-- /.panel --> <div class="panel panel-success"> <div class="panel-heading"> <i class="fa fa-bar-chart-o fa-fw"></i> <?php echo $BudgetProgressOn ;?> <b><?php echo date("F Y");?></b> </div> <!-- /.panel-heading --> <div class="panel-body"> <div class="row"> <div class="col-lg-12">
  • 85. 85 <?php while($BudgetCols =mysqli_fetch_assoc($Budgets)) { // calculate out expense $Out = ($BudgetCols['Amount'] - $BudgetCols['Totals']); $Exceed = Percentages($BudgetCols['Per']/$Out).' %'; if($Exceed<0 OR $Exceed >100){ $Exceed = '<label class="label label-danger">Over Budget</label>'; }else{ $Exceed = 100*$BudgetCols['Per']/$Out.' %'; } ?> <div> <p> <label class="label label-info"><?php echo $BudgetCols['CategoryName'];?></label> <span class="pull-right text-muted"><?php echo $Budgetss;?> <?php echo $ColUser['Currency'].' '.number_format($BudgetCols['Amount']);?></span>
  • 86. 86 </p> <div class="text-right panel panel-yellow"><div class="panel-heading"><?php echo $Outs;?>: <?php echo $ColUser['Currency'].' '.number_format($Out);?> <?php echo $RemainingBudget;?>: <?php echo $ColUser['Currency'].' '.number_format($BudgetCols['Totals']);?></div></div><br/> </div> <?php } ?> </div> <div class="text-center"></div> <!-- /.col-lg-4 (nested) --> <!-- /.col-lg-8 (nested) --> </div> <!-- /.row --> </div> <!-- /.panel-body --> </div> <!-- /.panel --> </div> <!-- /.col-lg-8 --> <div class="col-lg-6"> <div class="panel panel-red"> <div class="panel-heading"> <i class="fa fa-bar-chart-o fa-fw"></i> <?php echo $TenExpense;?> </div>
  • 87. 87 <!-- /.panel-heading --> <div class="panel-body"> <div class="row"> <div class="col-lg-12"> <div class="table-responsive"> <table class="table table-bordered table-hover table-striped"> <thead> <tr> <th><?php echo $Title;?></th> <th><?php echo $Date;?></th> <th><?php echo $Account;?></th> <th><?php echo $Amount;?></th> </tr> </thead> <tbody> <?php while($cols = mysqli_fetch_assoc($ExpenseHistory)){ ?> <tr> <td><?php echo $cols['Title'];?></td> <td><?php echo date("M d Y",strtotime($cols['Dates']));?></td> <td><?php echo $cols['AccountName'];?></td> <td><?php echo $ColUser['Currency'].' '.number_format($cols['Amount']);?></td> </tr> <?php } ?>
  • 88. 88 </tbody> </table> </div> <!-- /.table-responsive --> </div> <div class="text-center"><a href="index.php?page=ExpenseReport"><?php echo $ViewDetails;?></a></div> <!-- /.col-lg-4 (nested) --> <!-- /.col-lg-8 (nested) --> </div> <!-- /.row --> </div> <!-- /.panel-body --> </div> <!-- /.panel --> <!-- /.panel --> <div class="panel panel-info"> <div class="panel-heading"> <i class="fa fa-bar-chart-o fa-fw"></i> <?php echo $ReportsExpenseIncome ;?> </div> <div class="panel-body"> <div id="incomevsexpense"> </div> </div> <!-- /.panel-body --> </div>
  • 89. 89 <!-- /.panel --> <!-- /.panel --> <div class="panel panel-success"> <div class="panel-heading"> <i class="fa fa-bar-chart-o fa-fw"></i> <?php echo $ReportsExpenseIncomeM ;?> </div> <div class="panel-body"> <div id="incomevsexpensemonth"> </div> </div> <!-- /.panel-body --> </div> <!-- /.panel --> <!-- /.panel .chat-panel --> </div> <!-- /.col-lg-4 --> </div> <!-- /.row --> </div> <!-- /#page-wrapper-- - <script>
  • 90. 90 BUDGET.PHP <!-- Page Content --> <div id="page-wrapper"> <div class="row"> <div class="col-lg-12"> <h1 class="page-header">Manage Budgets</h1> </div> </div> <div class="row"> <div class="col-lg-6 "> <div class="panel panel-primary"> <div class="panel-heading"> Budget Settings </div> <div class="panel-body"> <form role="form"> <fieldset> <div class="form-group pull-left"> <label for="name">Category</label> <select name="month" class="form-control"> <option>January</option> </select> </div> <div class="form-group pull-right"> <label for="amount">Amount</label> <input class="form-control" required placeholder="amount" width="10" name="amount" type="text" value=""> </div> <hr class="clearbothh">
  • 91. 91 <div class="form-group pull-left clearbothh"> <label for="month">Month</label> <select name="month" class="form-control"> <option>January</option> <option>February</option> <option>March</option> <option>April</option> <option>May</option> <option>June</option> <option>July</option> <option>August</option> <option>September</option> <option>October</option> <option>November</option> <option>December</option> </select> </div> <div class="form-group pull-left"> <label for="year">Year</label> <select name="year" class="form-control"> <option></option> <option>2014</option> <option>2015</option> <option>2016</option> </select> </div> </fieldset> </form> </div>
  • 92. 92 Chapter-5 SYSTEM IMPLEMENTATION 5.1. System Implementation Maintenance and Review As we know, creating software is one thing and the implementation of the created software is another. The process of implementing software is much difficult as compared to the task of creating the project. First we have to implement the software on a small scale for removing the bugs and other errors in the project and after removing them we can implement the software on a large scale. Before we think in terms of implementing the Software on a large basis, we must consider the Hardware requirements.Whenever we develop software or project a certain hardware and software is being used by the programmer for developing the project. The hardware and software to be used by the programmer for developing the project should be such that it would result in the development of a project, which would satisfy all the basic needs for which the project has been created by the programmer. The Hardware should be such that cost constraints of the Client should also be taken into account without affecting the performance. 5.2. Hardware Evaluation Factors When we evaluate computer hardware, we should first investigate specific physical and performance characteristics for each hardware component to be acquired. These specific questions must be answered concerning many important factors. These hardware evaluation factors questions are summarized below:  Performance  Cost  Reliability  Availability  Compatibility  Modularity
  • 93. 93  Technology  Ergonomics  Connectivity  Environmental requirements  Software  Support 5.2.1 Hardware Requirements  Hardware specification of the system that is used in this project is,  Processor : Intel® Pentium®(1.0 GHZ)  Memory : 2 GB RAM  Hard disk : 320 GB Tools :The Hardware and Software Requirement Specifications:- Minimum Requirements Processor Intel Pentium4 or higher CPU 2GHz Memory At least 2 GB Hard Disk 40 GB Display Super VGA (800 600) or higher-resolution monitor with 256 colors Input Device Keyboard , Mouse Table No-1.1: Hardware Requirement Minimum Requirements Front End HTML5,CSS3,BOOTSTRAP,JQUERY,JAVASCIPT Back End PHP5/My SQL Operating System Windows 7 and more versions Development Tool BRACKETS,SUBLIME,XAMPP Table No-1.2: Software Requirement
  • 94. 94 Summary and Conclusion  Designing, Developing and Maintaining yr money analyzer website is a very time consuming and expensive process.Instead of spending large amount of money on doing these things users/businesses can solely focus on making their servicesquality of product better by using our platform to develop and Maintain their managing money websites will be much cheaper for them then developing and maintaining them by themselves.  MINT type service but these service now on Research and Development phase. i can used PHP/MYSQL Technology . PHP has advantages like powerful, performance, scalability,robustness, security and simplicity.  To build any web application using PHP i need some framework for easy to build web application such as cakePHP, larvel, codeigniter and Symfony so on.  In YRMoney Analyzer web application i do not used anyframework because its under R& D. i use XAMPP Server for website for front-end-implementation of code in browser such as chrome and run as (localhost/yrmoney) in URL and for database i use PHP Myadmin as back-end database (RDBMS) since it is one of the most popular open source databases which uses MYSQL language, and it provides fast data access, easy installation and simplicity.A good money manage design must be accompanied with user-friendly calculating application logic. It should be convenient for the user to view the contents of their transaction and to be able to remove or add income and expense transactions to their account. The money manageing application described in this project provides a number of features that are designed to make the user more comfortable.  This project helps in understanding the creation of an live application such as Balance and popular website is mint which provide best solution for any user for keeping records of their transactions The design of the project which includes DataModel and Process Model illustrates how the database is built with different tables, how the data is accessed and processed from the tables.  The building of the project has given me a precise knowledge about how PHP Technology is used to develop a website, how it connects to the database to access the data and how the data and web pages are modified to provide the user with a money managing application
  • 95. 95 Refrences/Bibliography 1. https://www.tutorialspoint.com/software_testing_dictionary/debugging.htm 2. https://www.tutorialspoint.com/software_testing_dictionary/validation_testing.htm 3. https://www.mint.com/ 4. https://www.balance.com/ 5. https://www.phptpoint.com/ 6. https://www.wikipedia.org/ 7. https://www.youtube.com/ 8. https://www.w3schools.com/