Loan Origination System: A Minor Project Report On
Loan Origination System: A Minor Project Report On
A
MINOR PROJECT REPORT ON
LOAN ORIGINATION SYSTEM
submitted in the partial fulfillment of the requirement for the
award of degree of
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING
SUBMITTED BY:
Jagmeet Kaur (A40319025)
Batch: 2019-2023
PROJECT GUIDE:
Ms. Mani
(A.P. in CSE Department)
pg. 1
Minor project report
DECLARATION
I hereby declare that the work presented in this report entitled “Loan Origination
System using JAVA”, in fulfilment of the requirement for the award of the degree
Bachelor of Technology in Computer Science & Engineering, submitted in CSE
Department, PDMU, Bahadurgarh, Haryana is an authentic record of my own work
carried out during my degree under the guidance of Ms. Mani.
The work reported in this has not been submitted by me for award of any other
degree or diploma.
pg. 2
Minor project report
Certificate of Completion
This is to certify that the Project work entitled “Loan Origination System using
JAVA” submitted by Jagmeet Kaur in fulfilment for the requirements of the award
of Bachelor of Technology Degree in Computer Science & Engineering at
PDMU, Bahadurgarh, Haryana is an authentic work carried out by him/her
under my supervision and guidance. To the best of my knowledge, the matter
embodied in the project has not been submitted to any other University / Institute
for the award of any Degree.
Ms. Mani
A.P. in CSE Department
Faculty of Engineering & Technology
PDM University, Bahadurgarh Haryana
pg. 3
Minor project report
Abstract
This project is about managing, developing, and testing a Java application “Loan
Origination System”. The proposed system is to enable people to calculate EMI of
a loan.
For making this project I have used JAVA on a software named Eclipse
Eclipse is a multi-lingual software development environment, which consists of
integrated development environment (IDE) and extra plug-in system. An IDE
provides many different tools e.g. code writing, compiling, running, debugging,
file management, and documentation all at one single platform.
Eclipse is one of the IDEs which are mostly used professionally to develop
applications and software solutions. An advantage of Eclipse over other
professional IDEs is that Eclipse is an open-source platform, and therefore, it is
easy to add new libraries and resources in it. Most of it is written in Java
programming language.
There are a variety of languages, whose applications can be developed in Eclipse
by means of extensible plug-in systems. Some of mostly programmed languages in
Eclipse are JAVA, C, C++, COBOL, Perl, Android, Python, Ruby, Groovy and
Scheme.
pg. 4
Minor project report
ACKNOWLEDGEMENT
I express my sincere gratitude to Dr. Jasvinder Kaur (Head, Department of CSE) and
Ms. Mani (A.P. in CSE Department), for her valuable guidance and timely
suggestions during the entire duration of my project work, without which, this work
would not have been possible. I would also like to convey my deep regards to all
other faculty members who have bestowed their great effort and guidance at
appropriate times without which it would have been very difficult on my part
to finish this work. Finally, I would also like to thank my friends for their advice and
pointing out my mistakes.
pg. 5
Minor project report
TABLE OF CONTENTS
pg. 6
Minor project report
List of Figures
pg. 7
Minor project report
Chapter – 1
Introduction to Java
Currently, Java is used in internet programming, mobile devices, games, e-business solutions etc. There
are given the major points that describes the history of java.
1) James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991.
The small team of sun engineers called Green Team.
2) Originally designed for small, embedded systems in electronic appliances like set-top boxes.
3) Firstly, it was called "Greentalk" by James Gosling and file extension was .gt.
4) After that, it was called Oak and was developed as a part of the Green project.
pg. 8
Minor project report
The main objective of Java programming language creation was to make it portable, simple and
secure programming language. Apart from this, there are also some awesome features which
play important role in the polularity of this language. The features of Java are also known as
java buzzwords. Following is a list of most important features of Java language. The Java
Features given below are simple and easy to understand.
1. Simple
2. Object-Oriented
3. Portable
4. Platform independent
5. Secured
6. Robust
7. Architecture neutral
8. Dynamic
9. Interpreted
pg. 9
Minor project report
1 Simple
Java is very easy to learn and its syntax is simple, clean and easy to understand. According to
Sun,
• syntax is based on C++ (so easier for programmers to learn it after C++).
2 Object-Oriented
Java is Object-oriented programming language. Everything in Java is an object. Object-oriented
means we organize our software as a combination of different types of objects that incorporates
both data and behaviour.
1. Object
2. Class
3. Inheritance
4. Polymorphism
5. Abstraction
6. Encapsulation
pg. 10
Minor project report
3 Platform Independent
Java is platform independent because it is different from other languages like C, C++ etc. which
are compiled into platform specific machines while Java is a write once, run anywhere language. A
platform is the hardware or software environment in which a program runs. There are two types of
platforms software-based and hardware-based. Java provides software-based platform. The Java
platform differs from most other platforms in the sense that it is a software-based platform that runs
on the top of other hardware-based platforms. It has two components:
1. Runtime Environment
2. API (Application Programming Interface)
pg. 11
Minor project report
Java code can be run on multiple platforms e.g. Windows, Linux, Sun Solaris, Mac/OS etc. Java
code is compiled by the compiler and converted into bytecode. This bytecode is a platform-
independent code because it can be run on multiple platforms i.e. Write Once and Run
Anywhere(WORA).
4 Secured
Java is best known for its security. With Java, we can develop virus-free systems. Java is secured
because:
1. No explicit pointer
2. Java Programs run inside virtual machine sandbox
pg. 12
Minor project report
5. Security Manager: It determines what resources a class can access such as reading and
writing to the local disk.
These securities are provided by java language. Some security can also be provided by application
5 Robust
6 Architecture-neutral
Java is architecture neutral because there is no implementation dependent features e.g. size of
primitive types is fixed.
In C programming, int data type occupies 2 bytes of memory for 32-bit architecture and 4 bytes
of memory for 64-bit architecture. But in java, it occupies 4 bytes of memory for both 32- and
64-bit architectures.
7 Portable
Java is portable because it facilitates you to carry the java bytecode to any platform.
pg. 13
Minor project report
8 High-performance
Java is faster than traditional interpretation since bytecode is "close" to native code still somewhat
slower than a compiled language (e.g., C++). Java is an interpreted language, so it is also a reason
that why it is slower than compiled language C, C++.
9 Distributed
Java is distributed because it facilitates us to create distributed applications in java. RMI and EJB
are used for creating distributed applications. We may access files by calling the methods from
any machine on the internet.
pg. 14
Minor project report
Chapter – 2
The primary objective of the project is to manage, develop and test a Java application
“Loan Origination System”. The proposed system is to enable people to calculate
EMI of a loan. The aim of the project was to make people work a lot easy by
approving the loan and calculate the EMI after the loan is approved.
Accuracy: The level of accuracy in the proposed system will be higher. All
operation would be done correctly, and it ensures that whatever information is
accurate.
Access: Any person who wants to calculate EMI of their approved loan can access
it remotely.
Immediate retrieval of information: The main objective of proposed system is to
provide for a quick and efficient retrieval of information.
Easy to Operate: The system should be easy to operate and should be such that it
can be developed within a short period of time.
Security: Negative customers who have a fraud record are not eligible for
approval of loan.
pg. 15
Minor project report
Chapter-3
pg. 16
Minor project report
Chapter – 4
In this chapter different steps for the design and implementation of application are presented.
4.1-Requirements
To develop this application, following softwares and APIs are required:
Eclipse is one of the IDEs which are mostly used professionally to develop applications
and software solutions. An advantage of Eclipse over other professional IDEs is that
Eclipse is an open source platform, and therefore, it is easy to add new libraries and
resources in it. Most of it is written in Java programming language.
There are a variety of languages, whose applications can be developed in Eclipse by means
of extensible plug-in systems. Some of mostly programmed languages in Eclipse are
JAVA, C, C++, COBOL, Perl, Android, Python, Ruby, Groovy and Scheme.
Below is a Figure that shows typical interactive environment of Eclipse, for the development of an app.
pg. 17
Minor project report
• ANDROID STUDIO
Android Studio is Android's official IDE. It is purpose-built for Android to accelerate the
development and help to build the highest-quality apps for every Android device.
Eclipse can be downloaded free of cost from internet. A description of how to download, install
and configure for use can be found easily. The download link of Eclipse for Java developers has
been given in Appendix.
4.2 DESIGN
There are many different approaches to design the application which depends upon the
developer/designer. In this case, it requires a good programing knowledge in Java. In addition
to this, familiarization to Eclipse makes it easier to find and fix the bugs.
pg. 18
Minor project report
Chapter – 5
In order to uncover the errors present in different phases we have the concept of
levels of testing. The basic levels of testing are shown below
The philosophy behind testing is to find errors. Test cases are devised with this in mind. A strategy
employed for system testing is code testing.
This strategy examines the logic of the program. To follow this method we developed some test data
that resulted in executing every instruction in the program and module i.e. every path is tested.
Systems are not designed as entire nor are they tested as single systems. To ensure that the coding is
perfect two types of testing is performed or for that matter is performed or that matter is performed or
for that matter is performed on all systems.
pg. 19
Minor project report
Unit Testing
Link Testing
In this project each service can be thought of a module. There are so many modules like Login,
HWAdmin, MasterAdmin, Normal User, and PManager. Giving different sets of inputs has tested
each module. When developing the module as well as finishing the development so that each
module works without any error. The inputs are validated when accepting from the user.
Link testing does not test software but rather the integration of each module in system. The
primary concern is the compatibility of each module. The Programmer tests where modules are
designed with different parameters, length, type etc.
After the unit testing we have to perform integration testing. The goal here is to see if modules
can be integrated proprerly, 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 integrating all the modules forms the main system. 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.
Here the entire software system is tested. The reference document for this process is the
requirements document, and the goal os to see if software meets its requirements.
Here entire ‘ATM’ has been tested against requirements of project and it is checked whether all
requirements of project have been satisfied or not.
Acceptance Test 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.
pg. 20
Minor project report
In this project ‘Network Management Of Database System’ I have collected some data and tested
whether project is working correctly or not.
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.
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.
This testing method considers a module as a single unit and checks the unit at interface and
communication with other modules rather getting into details at statement level. Here the module
will be treated as a block box that will take some input and generate output. Output for a given set
of input combinations are forwarded to other modules.
1) Test cases that reduced by a count that is greater than one, the number of additional test cases
that must be designed to achieve reasonable testing.
2) Test cases that tell us something about the presence or absence of classes of errors, rather than
an error associated only with the specific test at hand.
Following is the table of Test Cases VS Action Taken:
pg. 21
Minor project report
4 Create a loan information related to a bank New Loan Info has to be stored
Related to that bank
5 Register a customer It registers a new customer
pg. 22
Minor project report
Chapter- 6
pg. 23
Minor project report
pg. 24
Minor project report
pg. 25
Minor project report
pg. 26
Minor project report
By proceeding with
clicking on Next tab.
Enter your credentials
such as username,
password, income,
months of EMI, phone
number and Email ID.
If you have not entered
a valid phone number,
then it will show error
and you will not be able
to proceed.
pg. 27
Minor project report
pg. 28
Minor project report
pg. 29
Minor project report
pg. 30
Minor project report
pg. 31
Minor project report
Chapter - 7
SOURCE CODE
package com.PDM.anytimeloans.operations;
import java.util.ArrayList;
import com.example.anytimeloans.Utils.CommonConstants;
import com.example.anytimeloans.Utils.LoanConstants;
import com.example.anytimeloans.Utils.StageConstants;
import com.example.anytimeloans.Utils.Utility;
import static com.example.anytimeloans.Utils.Utility.serialCounter;
import static com.example.anytimeloans.Utils.Utility.scanner;
import androidx.annotation.NonNull;
import com.example.anytimeloans.customer.Customer;
import com.example.anytimeloans.customer.LoanDetails;
import com.example.anytimeloans.customer.PersonalInformation;
customer.setStage(APPROVAL);
pg. 32
Minor project report
if(choice == NO)
{
customer.setStage(REJECT);
customer.setRemarks("Customer Deny the Approved Amount "+approveAmount);
return;
}
else {
showEMI(customer);
}
}
else {
return;
}
}
pg. 33
Minor project report
customers.add(customer);
serialCounter++;
}
}
pg. 34
Minor project report
Chapter - 8
The project titled “ Loan Origination System using JAVA “is a Java based application.
The aim of the project is to manage, develop and test a Java application “Loan Origination
System”. The proposed system is to enable people to calculate EMI of a loan. The aim of the
project was to make people work a lot easy by approving the loan and calculate the EMI after
the loan is approved
While developing this application, all the constraints have been met with success and as we had
planned them in the design phase, it came out as the same. The project gives good idea on
developing a user-friendly application which satisfying different user.
The system is made flexible and versatile. This application has a user-friendly screen that enables
the employees to use the application without any inconvenience. The application is very secure
as all the major decisions and major details are only entered by the admin and he can also run a
quality check any time anywhere to make sure that everything that the employees are doing and
all the details they are entering is correct or not.
The system created met its objectives, by being simple to use. This software is developed with
scalability in mind. Additional modules can be easily added when necessary. However there is
still a lot of scope for future improvement and add on in functionality. Some of the major ones
being developing.
.
pg. 35
Minor project report
References
[2] https://developer.android.com
[3] https://www.techopedia.com/definition/5594/java-development-kit-jdk
[4] http://www.theserverside.com/definition/Java-Runtime-Environment-JRE
[5] https://www.techopedia.com/definition/5442/java-runtime-environment-jre
[6] www.quora.com
pg. 36
Minor project report
Appendix – 1
There are many java versions that has been released. Current stable release of Java is Java SE 9.
JRE
The Java Runtime Environment (JRE) is a set of software tools for development of Java
applications. It combines the Java Virtual Machine (JVM), platform core classes and
supporting libraries.
JRE is part of the Java Development Kit (JDK), but can be downloaded separately. JRE
was originally developed by Sun Microsystems Inc., a wholly-owned subsidiary of Oracle
Corporation.
pg. 37
Minor project report
JVM
The Java Virtual Machine (JVM) is an abstraction layer between a Java application and the
underlying platform. As the name implies, the JVM acts as a “virtual” machine or
processor. To the bytecodes comprising the program, they are communicating with a
physical machine; however, they are actually interacting with the JVM.
JDK
The Java Development Kit (JDK) is a software development environment used for
developing Java applications and applets. It includes the Java Runtime Environment (JRE),
an interpreter/loader (java), a compiler (javac), an archiver (jar), a documentation generator
(javadoc) and other tools needed in Java development.
Java developers are initially presented with two JDK tools, java and javac. Both are run
from the command prompt. Java source files are simple text files saved with an extension
of .java. After writing and saving Java source code, the javac compiler is invoked to create
.class files. Once the .class files are created, the 'java' command can be used to run the java
program.
There are different JDKs for various platforms. The supported platforms include Windows,
Linux and Solaris. Mac users need a different software development kit, which includes
adaptations of some tools found in the JDK.
pg. 38