Capstone Project Report
Capstone Project Report
MONEY PORTAL
Submitted by
Md. Ataullah
i
PAC FORM
ii
DECLARATION
We hereby declare that the project work entitled “Money Portal” is an authentic record of our
own work carried out as requirements of Capstone Project for the award of B.Tech degree in
Computer Science and Engineering from Lovely Professional University, Phagwara, under the
guidance of Md. Ataullah, during August to November 2020. All the information furnished in
this capstone project report is based on our own intensive work and is genuine.
Yug Ahuja
Date: 25-04-2021
Nagaraju Dodda
Date: 25-04-2021
Ashish Chaudhary
Date: 25-04-2021
iii
CERTIFICATE
This is to certify that the declaration statement made by this group of students is correct to the
best of my knowledge and belief. They have completed this Capstone Project under my
guidance and supervision. The present work is the result of their original investigation, effort
and study. No part of the work has ever been submitted for any other degree at any University.
The Capstone Project is fit for the submission and partial fulfillment of the conditions for the
award of B.Tech degree in Computer Science and Engineering from Lovely Professional
University, Phagwara.
Date: 25-04-2021
iv
ACKNOWLEDGEMENT
The satisfaction that accompanies in the successful completion of any task would be
incomplete without the mention of people whose ceaseless cooperation made it
possible, whose constant guidance and encouragement crown all efforts with success.
We express our gratitude towards Lovely Professional University for providing us with
the best of facilities as well as the environment we could have imagined. We are
grateful to our project mentor Md. Ataullah for his supreme guidance, inspiration and
constructive suggestions which time and now proved helpful in the preparation of our
project “A Website Where Business Professionals and Individuals Can Interact” and
its report. We also thank all the alma mater, friends and family who have been
constantly bugging us to do much more than our capabilities in the successful
completion of our capstone project.
Yours sincerely
v
TABLE OF CONTENTS
1. INTRODUCTION 1
1.2 AIM 1
2. SCOPE OF THE STUDY 2
3. EXISITNG SYSTEM 3
3.1 EXISTING SOFTWARE 3
3.2 DFD DIAGRAM 3
3.2.1 ZERO-LEVEL DFD DIAGRAM 3
3.2.2 FIRST-LEVEL DFD DIAGRAM 4
4. PROPOSED SYSTEM 4
5. SOFTWARE REQUIREMENTS SPECIFICATION. 5
5.1 INTRODUCTION 6
5.2 SOFTWARE REQUIREMENTS SPECIFICATION 6
5.3 DESIGN & PLANNING 6
5.4 IMPLEMENTATION DETAILS 6
5.5 RESULTS AND DISCUSSION 6
5.6 SUMMARY AND CONCLUSION 6
6. DESIGN & PLANNING 6
6.1 Software Development Life Cycle Model 6
6.2 GENERAL OVERVIEW 7
6.4 ER Diagram 8
vi
7 TESTING PHASE 9
7.1 LEVELS OF TESTING 10
7.1.1 UNIT TESTING 10
7.1.2 INTEGRATION TESTING 10
7.1.3 SYSTEM TESTING 10
7.3 NEED OF TESTING 11
8. IMPLEMENTATION 14
8.1 FRONT END 14
8.1.1 HTML 15
8.2 BACK END 20
8.2.1 MySQL 20
9. PROJECT LEGACY 26
11. BIBLIOGRAPHY 30
vii
1. INTRODUCTION
We have banks from around 1492. In those days only the store the money in the bank and
the transactions were simple to understand and maintain. Later on, banks made available
to common people too. These days everyone is maintaining at least a bank account as it is
necessary for everyone. So, if the rich is storing the money in the banks, they have too
many transactions and details and they can’t have time to manage and maintain all these.
So, they appoint a personal accountant to maintain all these transaction details and statistics
because they can afford one. The poor can maintain account themselves because they may
don’t contain that much of transactions to give specifically attention to. What about a
middle-class dad who is the only earning person in the house and three more people are
depending upon him. He is earning sufficiently and fulfill all needs of his family. He may
give money to wife for house hold and kid’s tuition fee and pocket money etc. there must
be too many transactions and he don’t might even have time manage and take a look back
to check the status of his bank account. He neither appoint an accountant because he cannot
afford one, nor the transactions are too less to be ignored. Now the Money Portal comes
into the picture. It is the place where the customer just have to link his bank account to his
money portal account and that’s it. It will take care of each and every transaction he is
making, statistical data based on transactions, budget allocation to the family members and
maintain track of each and every rupee spent by them and so on. It saves more time and
less complex. Theoretically or technically Money-Portal is a financial web application
complete with bank accounts, budgets & graphing. It utilities a role-based security system
to create permission-based roles. The role of Owner, Member, and Personal restricts what
the user can see and do. This project is developed by following the MVC pattern.
1.1. AIM
Money Portal aims to help everyone who are planning to know their expenses and save
from it. Money Portal is an Web-application which users can execute in their devices and
update their daily expenses so that they are well known to their expenses. Here user can
define their own categories for expense type like food, clothing, rent and bills where they
have to enter the money that has been spent and also can add some information in additional
information to specify the expense. User can also define expense categories. User will be
1
able to see pie chart of expense. Also, Money Portal app is capable of clustering. Personal
and administration clustering is possible by the use of Appropriate algorithm. Although
this app is focused on new job holders, interns and teenagers, everyone who wants to track
their expense can use this app.
2
3. Existing System
3.1 EXISTING SOFTWARE
In existing, we need to maintain the Excel sheets, CSV etc. files for the user daily
and monthly expenses. In existing, there is no as such complete solution to keep a track of
its daily expenditure easily. To do so a person as to keep a log in a diary or in a computer,
also all the calculations needs to be done by the user which may sometimes results in errors
leading to losses.
3
3.2.2 FIRST-LEVEL DFD DIAGRAM
4
4. PROPOSED SYSTEM
To reduce manual calculations, we propose an application which is developed by Web
applications. This application allows users to maintain a digital automated diary. Each user
will be required to register on the system at registration time, the user will be provided id,
which will be used to maintain the record of each unique user. Money Portal Web
application which will keep a track of Income-Expense of a user on a day-to-day basis.
This application takes Income from user and divides in daily expense allowed. If u exceed
that day’s expense it will cut if from your income and give new daily expense allowed
amount, and if that day’s expense is less, it will add it in savings. Money Portal application
will generate report at the end of month to show Income Expense via multiple graphs. It
will let you add the savings amount which you had saved for some particular Festivals or
day like Birthday or Anniversary.
Pen Drive : 5 GB
Back-End : My Sql
Server : Tomcat 9
5
5.1 INTRODUCTION
This section includes the overall view of the project i.e the basic problem definition and
the general overview of the problem which describes the problem in layman terms. It also
specifies the software used and the proposed solution strategy.
6
6. DESIGN & PLANNING
6.1 Software Development Life Cycle Model
7
6.3 ER Diagram
8
7. TESTING
One of the purposes of the testing is to validate and verify the system. Verification means
checking the system to ensure that it is doing what the function is supposed to do and
Validation means checking to ensure that system is doing what the user wants it to do.
No program or system design is perfect; communication between the user and the designer
is not always complete or clear, and time is usually short. The result is errors and more
errors. Theoretically, a newly designed system should have all the pieces in working order,
but in reality, each piece works independently. Now is the time to put all the pieces into
one system and test it to determine whether it meets the user's requirements. This is the
best chance to detect and correct errors before the system is implemented. The purpose of
system testing is to consider all the likely variations to which it will be subjected and then
push the system to its limits. If we implement the system without proper testing then it
might cause the problems.
2. The programmer's ability to generate a code that reflects exactly the system specification.
Theoretically, a new designed system should have all the pieces in working order, but in
reality, each piece works independently. Now is the time to put all the pieces into one
system and test it to determine whether it meets the requirements of the user. The process
of system testing and the steps taken to validate and prepare a system for final
implementation are:
9
UNIT TESTING
VALIDATION
INTEGRATION
SYSTEM
1. Program(s) testing.
2. String testing.
3. System testing.
4. System documentation.
Testing is vital to the success of the system. System testing makes a logical
assumption that if all the parts of the system are correct, the goal will be successfully
achieved. Inadequate testing results in two types of problems:
1. The time lag between the cause and the appearance of the problem.
2. The effect of system errors on the files and records within the system.
(i) PREPARE TEST: A workable test plan must be prepared in accordance with
established design specifications. It includes the following items:
11
(ii) SPECIFY CONDITIONS FOR USER ACCEPTANCE TESTING
Planning for user acceptance testing calls for the analyst and the user to agree on conditions
for the test.
As each program is coded, test data are prepared and documented to ensure that all aspects
of the program are properly tested.
This activity develops the data required for testing every condition and transactions to be
introduced into the system. The path of each transaction from origin to destination is
carefully tested reliable results.
User training is designed to prepare the user for testing and converting the system. User
involvement and training take place parallel with programming for three reasons:
• The system group has time available to spend on training while the programs are
being written.
• Initiating a user-training program gives the systems group a clearer image of the
user's interest in the new system.
The training plan is followed by preparation of the user training manual and other text
materials.
12
In this activity the materials to be used by personnel to run the system are specified and
scheduled. This includes a display of materials.
During the test plan stage, all operational documents are finalized including copies of the
operational formats required by the candidate system.
The objectives of verification, validity activities are to assess and improve the quality of
the work products generated during development and modification of the software. Quality
depends upon the various attributes like correctness, completeness, consistency, reliability,
usefulness, usability, efficiency and conformance to standards.
The terms verification and validation are used synonymously. These are defined as under:
-
Verification activities include proving, testing, and reviews. Validation is the process of
evaluating software at the end of the software development to ensure compliance with the
software requirements. Testing is a common method of validation. Clearly, for high
reliability we need to perform both activities. Together, they are often called V&V
activities.
The major V&V activities for software development are inspection, reviews, and testing
(both static and dynamic). The V&V plan identifies the different V&V tasks for the
different phases and specifies how these tasks contribute to the project V&V goals. The
methods to be used for performing these V&V activities, the responsibilities and milestones
for each of these activities, inputs and outputs for each V&V task, and criteria for
evaluating the outputs are also specified.
The two major V&V approaches are testing and inspections. Testing is an activity that can
be generally performed only on code. It is an important activity and is discussed in detail
13
in a later chapter. Inspection is a more general activity that can be applied to any work
product, including code. Many of the V&V tasks are such that for them, an inspection type
of activity is the only possible way to perform the tasks (e.g. trace ability and document
evaluation). Due to this, inspections play a significant role in verification.
8. IMPLEMENTATION
“Client-Server approach with XML / JSP,AJAX”
The need of today’s software development is competence in a GUI based front-end tool,
which can connect to Relational Database engines. This gives the programmer the
opportunity to develop client server based commercial applications.
In the business world, competitive strategies have become the order of the day to improve
quality, cut costs and provide a high response customer service base. Most organizations
today need to be market driven and do a lot of value addition to their products and services.
This naturally calls for rational decision making, which requires information. Information
Technology or IT provides that effective channel to support and implement this strategy.
14
Client/Server is the technology that empowers the desktop, thus setting a trend for the way
successful organizations will use technology in the next decade.
INTRODUCTION TO JSP
Scriptlets
We have already seen how to embed Java expressions in JSP pages by putting them
between the <%= and %> character sequences. JSP also allows you to write blocks of
Java code inside the JSP. You do this by placing your Java code between <% and %>
characters (just like expressions, but without the = sign at the start of the sequence.)
This block of code is known as a "scriptlet". By itself, a scriptlet doesn't contribute any
HTML (though it can, as we will see down below.) A scriptlet contains Java code that is
executed every time the JSP is invoked.
A "request" in server-side processing refers to the transaction between a browser and the
server. When someone clicks or enters a URL, the browser sends a "request" to the server
for that URL, and shows the data returned. As a part of this "request", various data is
available, including the file the browser wants from the server, and if the request is coming
from pressing a SUBMIT button, the information the user has entered in the form fields.
A similar variable is "response". This can be used to affect the response being sent to the
browser. For instance, you can call response. Send Redirect to send a response to the
browser that it should load a different URL. This response will actually go all the way to
the browser. The browser will then send a different request, to "another-Url". This is a
little different from some other JSP mechanisms we will come across, for including another
page or forwarding the browser to another page.
15
Mixing Scriptlets and HTML We have already seen how to use the "out" variable to
generate HTML output from within a scriptlet. For more complicated HTML, using the out
variable all the time loses some of the advantages of JSP programming. It is simpler to mix
scriptlets and HTML.
Suppose you have to generate a table in HTML. This is a common operation, and you may
want to generate a table from a SQL table, or from the lines of a file. But to keep our
example simple, we will generate a table containing the numbers from 1 to N. Not very
useful, but it will show you the technique. or a "for" loop or an "if" expression will control
the HTML also. If the HTML is inside a loop, it will be emitted once for each iteration of
the loop.
JSP Directives
We have been fully qualifying the java.util.Date in the examples in the previous
sections. Perhaps you wondered why we don't just import java.util.*;
JSP Declarations
The JSP you write turns into a class definition. All the scriptlets you write are placed inside
a single method of this class. You can also add variable and method declarations to this
class. You can then use these variables and methods from your scriptlets and expressions.
To add a declaration, you must use the <%! and %> sequences to enclose your declarations
JSP Tags
Another important syntax element of JSP are tags. JSP tags do not use <%, but just the <
character. A JSP tag is somewhat like an HTML tag. JSP tags can have a "start tag", a
"tag body" and an "end tag". The start and end tag both use the tag name, enclosed in <
and > characters. The end starts with a / character after the < character. The tag names
have an embedded colon character : in them, the part before the colon describes the type
of the tag.
16
Tags can be of two types: loaded from an external tag library, or predefined
tags. Predefined tags start with jsp: characters. For instance, jsp:include is a predefined
tag that is used to include other pages.
We have already seen the include directive. jsp:include is similar. But instead of loading
the text of the included file in the original file, it actually calls the included target at run-
time (the way a browser would call the included target. In practice, this is actually a
simulated request rather than a full round-trip between the browser and the server).
JSP Sessions
On a typical web site, a visitor might visit several pages and perform several interactions.
If you are programming the site, it is very helpful to be able to associate some data with
each visitor. For this purpose, "session"s can be used in JSP. A session is an object
associated with a visitor. Data can be put in the session and retrieved from it, much like a
Hashtable. A different set of data is kept for each visitor to the site.
INTERFACE
17
18
19
20
8.2 BACKEND
My SQL
My SQL is an application used to create computer databases for the Microsoft Windows
family of server operating systems. It provides an environment used to generate databases
that can be accessed from workstations, the web, or other media such as a personal digital
assistant (PDA). My SQL, is probably the most accessible and the most documented
enterprise database environment right now. This also means that you can learn it a little
quicker than most other database environments on the market
To start, you must have a computer that runs an appropriate operating system like Microsoft
Windows >= XP Home Edition: that includes Windows XP Home Edition, Windows XP
Professional, Windows 2000 Professional, or any version of Windows Server 2003. In this
case, you must install MY SQL Yog.
21
What is SQL Used for:
Using SQL one can create and maintain data manipulation objects such as table, views,
sequence etc. These data manipulation objects will be created and stored on the server's
hard disk drive, in a tablespace, to which the user has been assigned. Once these data
manipulation objects are created, they are used extensively in commercial applications.
In addition to the creation of data manipulation objects, the actual manipulation of data
within these objects is done using SQL. The SQL sentences that are used to create these
objects are called DDL's or Data Definition Language. The SQL sentences used to
manipulate data within these objects are called DML's or Data Manipulation Language.
The SQL sentences, which are used to control the behavior of these objects, are called
DCL's or Data Control Language.
In My Sql, each object (such as column, variable, or parameter) has a related data type,
which is an attribute that specifies the type of data that the object can hold. My SQL ships
with 27 built-in (system) data types. They are:
My SQL supports user-defined data types too. User-defined data types provide a
mechanism for applying a name to a data type that is more descriptive of the types of values
to be held in the object. Using user-defined data type can make it easier for a programmer
or database administrator to understand the intended use of any object defined with the data
type. The user-defined data types are based on the system data types and can be used to
predefine several attributes of a column, such as its data type, length, and whether it
supports NULL values. To create a user-defined data type, you can use the sp_addtype
system stored procedure or you could add one using the Enterprise Manager. When you
create a user-defined data type, you should specify the following three properties:
22
• Data type's name.
• Built-in data type upon which the new data type is based.
• Whether it can contain NULL values.
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.
23
24
8.3 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 in the below figure.
Notice that there is much more to evaluating hardware than determining the fastest and
cheapest computing device. For e.g. the question of possible obsolescence must be addressed
by making a technology evaluation. The factor of ergonomics is also very important.
Ergonomics is the science and technology that tries to ensure that computers and other
technologies are "user-friendly", that is safe, comfortable and easy to use. Connectivity is
another important evaluation factor, since so many computer systems are now interconnected
within wide area or local area telecommunications networks.
1) Performance
2) Cost
3) Reliability
4) Availability
5) Compatibility
6) Modularity
7) Technology
8) Ergonomics
9) Connectivity
11) Software
12) Support
25
8.4 SOFTWARE EVALUATION FACTORS
Software can be evaluated according to many factors similar to the hardware evaluation.
Thus the factors of performance, cost, reliability, compatibility, modularity, technology,
ergonomics, and support should be used to evaluate proposed software acquisitions. In
addition, however, the software evaluation factors are summarized in below figure. For
e.g. some software packages require too much memory capacity and are notoriously slow,
hard to use, or poorly documented. They are not a good selection for most end users,
even if offered at attractive prices.
An important aspect of is to make sure that the new design is implemented to establish
standards. The term implementation has different meanings, ranging form the conversion
of a basic application to a complete replacement of a computer system. Implementation is
26
used here to mean the process of converting a new or revise system into an operational one.
Conversion is one aspect of implementation. Conversion means changing form one system
to another. The objective is to put the tested system into operation while holding costs,
risks, and personnel irritation to a minimum. It involves creating computer-compatible
files, training the operation staff, and installing terminal and hardware. A critical aspect of
conversion is not disrupting the functioning of the organization. When a new system is
used over and old, existing and running one, there are always compatibility errors. These
errors are caused because of the lack of equipment or personnel to work the new system.
Running any specified system at an organization does require some or other hardware or,
in this case, software requirement as well.
27
9. PROJECT LEGACY
Training needs refer to the gaining of knowledge required for running the system. First of
all the system is a computer based system therefore the person should have good
knowledge about computer and its working. He should know how to use software's on the
computer. For a better usage and working of the software the organization should appoint
a person who has good knowledge of all the required software. The organization gets a
person trained through different institutes present in the market. The training should be as
per the above requirements.
9.1 ADVANTAGES
• Easy to use.
9.2 CONCLUSION
After making this application we assure that this application will help its users to manage
the cost of their daily expenditure. It will guide them and aware them about there daily
expenses. It will prove to be helpful for the people who are frustrated with their daily
budget management, irritated because of amount of expenses and wishes to manage money
and to preserve the record of their daily cost which may be useful to change their way of
spending money. In short, this application will help its users to overcome the wastage of
money.
28
10. SOURCE CODE
29
30
11. BIBLIOGRAPHY
• https://www.tutorialspoint.com/index.htm
• https://www.javatpoint.com
• https://www.w3schools.com
• https://html.com
31