Detail Pages
Detail Pages
Detail Pages
INTRODUCTION
Nowadays, more and more companies tend to use any available software to maintain information
over a long term. We design the Online Micro Finance to approach this goal with features that help
improve data consistency, maintain necessary transaction. With these goals in mind, we decide to
incorporate design philosophy as well as user friendly interface into the system, meanwhile to have
powerful functions that manifest all the users’ requirements and needs.
One concern is how to operate and maintain micro finance as user friendly as possible, In order to
maintain document and business policy which changes over periods. To users, the system can
provide instant information about all members and employees. Therefore users who manage micro
finance can immediately solve any unwanted problems, since the system provides easy-to-use
interface for users to see present loan levels. The system updates information constantly with the
help of database management system running as the back end.
During the process of development, we are able to gather all the necessary requirements over
small intervals. Consequently, more and more services are added to the system to provide better
management solutions. By separating different user’s privilege, the system can assure different
level of security to the micro finance. For example, admins privileges are added to the system when
non-operation errors occur. After log in to the system with uniquely assigned password, admin will
be able to modify all members and employees which have been added and stored. The
accompanying screen shot demonstrate this convenient online micro finance system.
SIS, Page-1
1.2 Purpose of Micro Finance
A relatively new branch of financial services, microfinance aims to promote self-sufficiency and
economic development among people who don't have access to the traditional financial sector.
They do this primarily by extending small loans without the strict requirements of traditional lenders.
Recipients are usually the poor and "unbanked," but they also include people who are not poor but
who lack the credit standing to borrow money to start or grow a business.
The today use of the expression micro financing has it roots in the 1970s when organizations, such
as Grameen Bank of Bangladesh with the microfinance pioneer Mohammad Yunus, where starting
SIS, Page-2
and shaping the modern industry of micro financing. Another pioneer in this sector is Akhtar
Hameed Khan. At that time a new wave of microfinance initiatives introduced many new
innovations into the sector. Many pioneering enterprises began experimenting with loaning to the
underserved people. The main reason why microfinance is dated to the 1970s is that the programs
could show that people can be relied on to repay their loans and that it´s possible to provide
financial services to poor people through market based enterprises without subsidy. Shore bank
was the first microfinance and community development bank founded 1974 in Chicago .
An economical historian at Yale named Timothy Guinnane has been doing some research on
Friedrich Wilhelm Raiffeisen´s village bank movement in Germany which started in 1864 an by the
year 1901 the bank had reached 2million rural farmers. Timothy Guinnane means that already then
it was proved that microcredit could pass the two tests concerning people’s pay back moral and the
possibility to provide the financial service to poor people.
Another organization, the caisse populaire movement grounded by Alphone and Dorimène
Desjardins in Quebec, was also concerned about the poverty, and passed those two tests.
Between 1900 to 1906 when they founded the first caisse, they passed a law governing them in the
Quebec assembly; they risked their private assets and must have been very sure about the idea
about microcredit.
Today the World Bank estimates that more than 16 million people are served by some 7000
microfinance institutions all over the world. CGAP experts means that about 500 million families
benefits from these small loans making new business possible. In a gathering at a Microcredit
Summit in Washington DC the goal was reaching 100 million of the world´s poorest people by
credits from the world leaders and major financial institutions.
The year 2005 was proclaimed as the International year of Microcredit by The Economic and Social
Council of the United Nations in a call for the financial and building sector to “fuel” the strong
entrepreneurial spirit of the poor people around the world.
SIS, Page-3
1.4 Microfinance in Bangladesh
Analysis of the Current situation of overlapping borrowers Percentage of overlapping borrowers
Some researchers have already mentioned that overlapping loan problems are prevalent in
Bangladesh. According to a survey conducted by the Palli Karma-Sahayak Foundation (PKSF), an
apex funding institution for MFIs in Bangladesh, 12.6% of sample individuals were found to have
multiple-participation in various MFIs in 2000.vi Considering that borrowing from multiple MFIs is
basically prohibited in major MFIs, both the figures of 20% (Rajshahi) and 33% (Comilla) are
remarkably high. Additionally, it is highly possible that some of the borrowers interviewed did not
accurately reveal or remained silent on their status during the interview and, therefore, might not
have been counted as overlapping members even though they may have been. According to the
author’s survey, the percentage of “overlapping borrowers / Total group members who attended the
group meeting’’ was 20% in Rajshahi. The result of Comilla was 33%, which is significantly higher
than that of Rajshahi. MFIs or other lenders from which they borrowed Although borrowers’
tendency to use MFIs seems to be different between Rajshahi and Comilla, it is possible to argue
that there is an intense competition among various MFIs in both areas. In Rajshahi, competition
seems to be severe among major MFIs including Grameen Bank, BRAC, ASA, Thengamara Mohila
Sabuj Sangha (TMSS) and others (See Bar graph 1a and 1b-Appendix 3). On the other hand,
regional MFIs such as Page and Development Initiative for Social Advancement (DISA) have been
actively expanding operations in Comilla (See Bar Graph 1c and 1d-Appendix 3). It is also
noteworthy that Grameen Bank has been actively providing loans to borrowers in both cities. It is
also ironic to find local money lenders as financing institutions (See Bar Graph 1a, 1b and 1d-
Appendix 3), since microfinance was originally supposed to unfetter poor people from the burden of
high interest rates imposed by local money lenders. It might reflect a reality that microfinance does
not necessarily.
SIS, Page-6
1.9 Scope of Micro Finance
Microfinance is a broad category of services, which includes microcredit. Microcredit is provision of
credit services to poor clients. Microcredit is one of the aspects of microfinance and the two are
often confused. Critics may attack microcredit while referring to it indiscriminately as either
'microcredit' or 'microfinance'. Due to the broad range of microfinance services, it is difficult to
assess impact, and very few studies have tried to assess its full impact. Proponents often claim that
microfinance lifts people out of poverty, but the evidence is mixed. What it does do, however, is to
enhance financial inclusion.
1.10 Objective of Online Micro Finance (OMF)
To ensure smooth flow of loan operation.
To provide required amount of loan to the borrowers.
To control distribution of loan.
To protection against unauthorized access.
To minimization of paper work.
To keep appropriate documentation.
To reduce manpower and provide loan to the small business and entrepreneur.
The security of data will be more comfortable for the organization.
1.11 Efficiency of OMF
Online Micro Finance System makes everything for giving loan by inputting information fulfilling
terms & condition and makes things easier. Doing a manual work of micro finance loan can take
days, but with online micro finance system, the same process can be done in matter of times. It can
be manage business data very efficiently. With a manual system, the data is only as accurate and
up to date as the last hand count. With this online micro finance system, the management team can
pull a report and instantly see how much loan amounts given to the people and how much has
been recovered.
TECHNOLOGICAL BACKGROUND
SIS, Page-8
2.2 Software Requirements
Software requirements deal with defining software resource requirements and prerequisites that
need to be installed on a computer to provide optimal functioning of an application. These
requirements or prerequisites are generally not included in the software installation package and
need to be installed separately before the software is installed. The Store Inventory System is
implemented with the latest windows 7 or 8.1as an operating system, Microsoft C# is used as
programming language and Microsoft SQL server used as a database.
Visual Studio 2012 technology is an integrated development environment (IDE) from Microsoft. It is
used to develop computer programs for Microsoft Windows, as well as web sites, web applications
and web services. Visual Studio uses Microsoft software development platforms such as Windows
API, Windows Forms, Windows Presentation Foundation, Windows Store and Microsoft Silverlight.
It can produce both native code and managed code.
Visual Studio 2012 technology utilized for creating user interface and backend coding which makes
layout easy to use and eliminate much of the tedious code to generate swing form. SQL server
2012 is helps to produce database system for office store inventory system. Dot net is used for
design the User Interface. The Microsoft .NET framework includes built-ins for easy database
interfacing.
Where
Operating System: Windows 7,
Browser (Chrome, Firefox, Yahoo, Opera mini etc.),
Internet Connection.
SIS, Page-9
2.4 Applied the following Technologies
ASP.NET MVC4
Angular JS.
ADO.NET.
Bootstrap
JavaScript
jQuery
CSS3
AJAX
odata
Requirement Definition
System and Software Design
Implementation
Integration and System Testing
Operation and Maintenance
The Systems Development Life Cycle (SDLC) is a conceptual model used in project management
that describes the stages involved in an information system development project from an initial
feasibility study through maintenance of the completed application. Various SDLC methodologies
have been developed to guide the processes involved including the waterfall model (the original
SDLC method), rapid application development (RAD), joint application development (JAD), the
fountain model and the spiral model. Mostly, several models are combined into some sort of hybrid
methodology. Documentation is crucial regardless of the type of model chosen or devised for any
application, and is usually done in parallel with the development process. Some methods work
better for specific types of projects, but in the final analysis, the most important factor for the
success of a project may be how closely particular plan was followed. The software development
life cycle (SDLC) is the entire process of formal, logical steps taken to develop a software product.
The phases of SDLC can vary somewhat but generally include the following steps described below.
SIS, Page-11
Study and Analysis:
In this phase, the data, facts and figures will be gathered by checking various documents related to
system. It also covers interviews of the persons who belong to the system. The problems in the
current system will be identified and necessary improvements will be recommended. Thus a new
system, as a solution will be proposed. The emphasis is on the type of information, the new system
should provide, the required frequency and accuracy of results and other considerations. The
activities of analysis phase will be least structured and more people oriented.
Designing:
The design of a system produces the details that state how a system will meet the requirements
identified during system analysis. In this phase, the detailed specifications for the new system will
be formulated. They will describe its features: the outputs, inputs, files and databases, and
procedures – all in a manner that meets project requirements.
Following the analysis of the existing system, the next step is to develop the Information System
Architecture and Enterprise Data Model (EDM) that will describe effectively the existing system.
The conceptual model will lead to the development of an Enhanced Entity Relationship Diagram.
This will be followed by the development of relational model that describes the tables (or relations)
that can be suitably implemented in any modern relational DBMS software like SQL.
Testing:
Till now the database design, user interface design and implementation are complete. The system
now is tested for its functionality, validity and performance. In order to test the system, a wide
variety of tests are conducted to make sure that the system matches the entire identified user
requirements and constraints. This chapter focuses on testing the developed systems using
different test strategies in order to verify its correctness and user acceptance.
Testing is a process of executing a program with the intent of finding an error. A good test case is
one that has a high probability of finding an as yet undiscovered error. A successful test is one that
uncovers an as yet undiscovered error.
SIS, Page-12
Member Module:
The Member follows up the entire Employee and manages it. Member can access any
Department. The major responsibility of Member is assign employee wise customer & creates
Applicant.
Employee Module:
The responsibility of Employee Module is taking Loan, Input collection of installment and
Print reports.
Applicant Module:
The Applicant Module is interested customers apply online for loan, after approved collect
pass book, analysis report so that payment inputted properly, take knowledge about
installment etc.
SIS, Page-13
2.12 Performance Requirements
Some Performance requirements identified is listed below:
The database shall be able to accommodate a large number of applicants.
The software shall support use of multiple users at a time.
There are no other specific performance requirements that will affect development.
System Design 3
SIS, Page-14
Proposed System:
The proposed system will be web-based and will be processed by ASP.NET Mvc
WebApi and hosted on IIS.
SIS, Page-15
UML Use Case Diagram
Inquire stakeholder
Inquire application details
status
Approve / Reject
Loan Administrator
Assign Loans
loans
SIS, Page-16
UML Use Case Diagram
Run day-end
process Manage User Access to
the System
System
Administrator
SIS, Page-17
Code of Layout Page:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<meta charset="UTF-8" />
<title>Online Microfinance</title>
<link href="Content/bootstrap.css" rel="stylesheet" />
<script src="Scripts/jquery-1.9.1.js"></script>
<script src="Scripts/bootstrap.js"></script>
<script src="Scripts/jquery.dropotron-1.0.js"></script>
<link href="Content/style.css" rel="stylesheet" />
<script src="Scripts/angular.js"></script>
<script src="Scripts/angular-resource.js"></script>
<script src="Scripts/angular-route.js"></script>
<script src="Scripts/angular-cookies.js"></script>
<script src="Scripts/dirPagination.js"></script>
<script src="Scripts/angular-base64-upload.js"></script>
<script src="App/app.js"></script>
<script src="Controller/loginController.js"></script>
<script src="Services/memberinfoSvc.js"></script>
<script src="Controller/memberinfoCtrl.js"></script>
<script src="Services/employeeinfoSvc.js"></script>
<script src="Controller/employeeinfoCtrl.js"></script>
<script src="Services/loanInfoSvc.js"></script>
<script src="Controller/loaninfoCtrl.js"></script>
<script src="Services/businessprofileSvc.js"></script>
<script src="Controller/businessprofileCtrl.js"></script>
<script src="Services/loanApplySvc.js"></script>
<script src="Controller/loanApplyCtrl.js"></script>
<script src="Services/installmentSvc.js"></script>
<script src="Controller/installmentCtrl.js"></script>
<script src="Services/documentAgainstLoansSvc.js"></script>
<script src="Controller/documentAgainstLoansCtrl.js"></script>
<script src="Services/fundInfoesSvc.js"></script>
<script src="Controller/fundInfoesCtrl.js"></script>
<script src="Controller/loanVm.js"></script>
</head>
<body style="background-color:seashell">
<div class="container" ng-app="myApp" >
SIS, Page-18
<div id="wrapper">
<div id="header-wrapper">
<div id="header">
<div id="logo">
<h1><a href="#">Online Micro Finance</a></h1>
</div>
</div>
</div>
<!-- end #header -->
<div>
<div>
<nav class="navbar navbar-inverse bg-faded">
<ul class="nav navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#/home">Home <span
class="sr-only">(current)</span></a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle"
id="supportedContentDropdown" data-toggle="dropdown" aria-haspopup="true" aria-
expanded="false">Member<span class="caret"></span></a>
<div class="dropdown-menu" aria-
labelledby="supportedContentDropdown">
<a class="dropdown-item"
href="#/member">Member</a><br />
<a class="dropdown-item"
href="#/account">Account</a><br />
<a class="dropdown-item"
href="#/businessProfile">Business Profile</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="#/employee">Employee</a>
</li>
SIS, Page-19
<li class="nav-item">
<a class="nav-link" href="#/fundInfo">fundInfo</a>
</li>
<li class="nav-item">
<a class="nav-link" href="">About</a>
</li>
</ul>
</nav>
<div ng-view>
</div>
</div>
</div>
</div>
<div id="footer">
<p>© Online Micro Finance 2016.</p>
</div>
</div>
</body>
</html>
SIS, Page-20
Code of Business Profile:
<div class="panel-body">
<div style="float:right">
<div>
<strong>Search By Any:</strong>
<input type="text" id="txtAny" autofocus class="form-control" ng-
model="searchAny" placeholder="Search by any field" />
</div>
</div>
<div>
<button type="button" class="btn btn-info btn-sm" data-toggle="modal"
data-target="#x">Add New Buesiness Proile</button>
</div>
</div>
<div class="modal-content">
<div class="modal fade" id="myDetailModal" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal">×</button>
<h4 class="modal-title text-success" style="margin-
left:100px;">businessProfile Information</h4>
</div>
<div class="modal-body">
<div class="form-group">
<table class="table table-inverse table-hover">
<tr>
<td><span> Business Name</span></td>
<td class="form-group">
<span>{{m.BusinessName}}</span>
</td>
</tr>
<tr>
<td><span>Location</span></td>
<td class="form-group">
<span>{{m.BusinessLocationAddress}}</span>
</td>
</tr>
<tr>
<td><span>Business Type</span></td>
<td class="form-group">
<span>{{m.BusinessType}}</span>
</td>
</tr>
SIS, Page-21
<tr>
<td><span>Business Duration</span></td>
<td class="form-group">
<span>{{m.BusinessDuretion}}</span>
</td>
</tr>
<tr>
<td><span>Photo</span></td>
<td class="form-group">
<img width="100" ng-
src="data:image/png/pdf;base64,{{m.MemberPhoto}}" />
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<br />
<br />
<div class="table-responsive">
<table style="width:100%" class="table table-bordered" ng-
init="getAllBusinessProfile();">
<thead class="bg-primary">
<tr class="row">
<th style="cursor:pointer" ng-
click="predication='MemberId';reverse=!reverse">Name</th>
<th style="cursor:pointer" ng-
click="predication='BusinessName';reverse=!reverse">Business Name</th>
<th style="cursor:pointer" ng-
click="predication='BusinessType';reverse=!reverse">Business Type</th>
<th style="cursor:pointer" ng-
click="predication='BusinessCapital';reverse=!reverse">Capital</th>
<th>Action</th>
</tr>
</thead>
<tbody dir-paginate="businessProfile in
businessProfiles|itemsPerPage:3|filter:searchAny|orderBy:predicate:reverse">
<tr class="row">
SIS, Page-22
<td class="form-group success">
<p ng-hide="businessProfile.editMode">
{{businessProfile.BusinessName}} </p>
<input type="text" ng-show="businessProfile.editMode" ng-
model="businessProfile.BusinessName" class="form-control" />
</td>
<td class="form-group">
<button ng-hide="businessProfile.editMode" ng-
click="toggle(businessProfile)" class="btn btn-success"><span class="glyphicon
glyphicon-pencil"></span>Edit</button>
<button ng-show="businessProfile.editMode" ng-
click="update(businessProfile)" class="btn btn-success"><span class="glyphicon
glyphicon-ok"></span>Update</button>
<button ng-show="businessProfile.editMode" ng-
click="toggle(businessProfile)" class="btn btn-success"><span class="glyphicon
glyphicon-remove"></span>Cancel</button>
<button ng-hide="businessProfile.editMode" ng-
click="delete(businessProfile)" class="btn btn-success"><span class="glyphicon
glyphicon-trash"></span>Delete</button>
<button type="button" class="btn btn-default" data-
toggle="modal" data-target="#myDetailModal" ng-
click="detail(businessProfile)">Detail</button>
</td>
</tr>
</tbody>
</table>
<dir-pagination-controls max-size="3" direction-links="true" boundary-
links="true"></dir-pagination-controls>
</div>
</div>
SIS, Page-23
<div class="row">
<div class="col-lg-6">
<label class="text-success">BusinessName</label>
<input type="text" id="txtBusinessName" class="form-
control" ng-model="newBusinessProfile.BusinessName" />
<span style="color:red" ng-
show="businessProfileForm.BusinessName.$error.required"></span>
</div>
<div class="col-lg-6">
<label class="text-
success">BusinessLocationAddress</label>
<input type="text" id=" " class="form-control" ng-
model="newBusinessProfile.BusinessLocationAddress" />
<span style="color:red" ng-
show="businessProfileForm.BusinessLocationAddress.$error.required"></span>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<label class="text-success">BusinessType</label>
<input type="text" id="txtBusinessType" class="form-
control" ng-model="newBusinessProfile.BusinessType" />
<span style="color:red" ng-
show="businessProfileForm.BusinessType.$error.required"></span>
</div>
<div class="col-lg-6">
<label class="text-success">BusinessDuretion</label>
<input type="text" id="txtBusinessDuretion"
class="form-control" ng-model="newBusinessProfile.BusinessDuretion" />
<span style="color:red" ng-
show="businessProfileForm.BusinessDuretion.$error.required"></span>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<label class="text-success">Description</label>
<input type="text" id="txtDescription" class="form-
control" ng-model="newBusinessProfile.Description" />
<span style="color:red" ng-
show="businessProfileForm.Description.$error.required"></span>
</div>
<div class="col-lg-6">
<label class="text-success">BusinessCapital</label>
<input type="text" id="txtBusinessCapital"
class="form-control" ng-model="newBusinessProfile.BusinessCapital" />
<span style="color:red" ng-
show="businessProfileForm.BusinessCapital.$error.required"></span>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<label class="text-
success">TradeLichenceIssueDate</label>
SIS, Page-24
<input type="date" id="txtTradeLichenceIssueDate"
class="form-control" ng-model="newBusinessProfile.TradeLichenceIssueDate" />
<span style="color:red" ng-
show="businessProfileForm.TradeLichenceIssueDate.$error.required"></span>
</div>
<div class="col-lg-6">
<label class="text-success">BankaccountNumber</label>
<input type="text" id="txtBankaccountNumber" class="form-
control" ng-model="newBusinessProfile.BankaccountNumber" />
<span style="color:red" ng-
show="businessProfileForm.BankaccountNumber.$error.required"></span>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<label class="text-success">BankName</label>
<input type="text" id="txtBankName" class="form-
control" ng-model="newBusinessProfile.BankName" />
<span style="color:red" ng-
show="businessProfileForm.BankName.$error.required"></span>
</div>
<div class="col-lg-6">
<label class="text-success">BankDipojit</label>
<input type="text" id="txtBankDipojit" class="form-
control" ng-model="newBusinessProfile.BankDipojit" />
<span style="color:red" ng-
show="businessProfileForm.BankDipojit.$error.required"></span>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<label class="text-success">MemberId</label>
<input type="text" id="txtMemberId" class="form-
control" ng-model="newBusinessProfile.MemberId" />
<span style="color:red" ng-
show="businessProfileForm.MemberId.$error.required"></span>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<img id="pic" src="#" alt="" />
<label for="imgInp">Picture:</label>
<input type="file" ng-model="file" name="file" base-
sixty-four-input required maxsize="500" accept="image/*">
</div>
</div>
</div>
</div>
<div class="modal-footer">
SIS, Page-25
<button type="button" class="btn btn-default" data-
dismiss="modal">Close</button>
<input type="button" class="btn btn-success pull-right"
value="Save" ng-click="save();" />
</div>
</div>
</div>
</div>
<div class="panel-body">
<div style="float:right">
<strong>Search By Any:</strong>
<input type="text" id="txtAny" autofocus class="form-control" ng-
model="searchAny" placeholder="Search by any field" />
</div>
<div>
<button type="button" class="btn btn-info btn-sm" data-toggle="modal"
data-target="#x">Add New Employee</button>
</div>
</div>
<div class="table-responsive">
<table style="width:100%" class="table table-bordered table-hover" ng-
init="getAllEmployee();">
<thead class="bg-primary">
<tr class="row">
<th style="cursor:pointer" ng-
click="predication='EmployeeId';reverse=!reverse">Id</th>
<th style="cursor:pointer" ng-
click="predication='EmployeeName';reverse=!reverse">Name</th>
<th style="cursor:pointer" ng-
click="predication='EmployeePresentAddress';reverse=!reverse">Address</th>
<th style="cursor:pointer" ng-
click="predication='EmployeePhoneNo';reverse=!reverse">Phone Number</th>
<th>Action</th>
</tr>
</thead>
<tbody dir-paginate="employee in
employees|itemsPerPage:3|filter:searchAny|orderBy:predicate:reverse">
<tr class="row">
<td class="form-group active">
<p ng-hide="employee.editMode"> {{employee.EmployeeId}}
</p>
<input type="text" ng-show="employee.editMode" ng-
model="employee.EmployeeId" class="form-control" />
</td>
<td class="form-group success">
SIS, Page-26
<p ng-hide="employee.editMode"> {{employee.EmployeeName}}
</p>
<input type="text" ng-show="employee.editMode" ng-
model="employee.EmployeeName" class="form-control" />
</td>
<td class="form-group active">
<p ng-hide="employee.editMode">
{{employee.PresentAddress}} </p>
<input type="text" ng-show="employee.editMode" ng-
model="employee.PresentAddress" class="form-control" />
</td>
<td class="form-group success">
<p ng-hide="employee.editMode"> {{employee.PhoneNo}} </p>
<input type="text" ng-show="employee.editMode" ng-
model="employee.PhoneNo" class="form-control" />
</td>
</div>
<dir-pagination-controls max-size="3" direction-links="true" boundary-
links="true"></dir-pagination-controls>
</div>
SIS, Page-27
<label class="text-success">Name</label>
<input type="text" id="txtEmployeeName"
class="form-control" name="EmployeeName" placeholder="Enter Your Name" ng-
model="newEmployee.EmployeeName" required />
<!--<span ng-
show="EmployeeForm.EmployeeName.$error.required">This is a required field</span>--
>
<span style="color:red" ng-
show="Form1.EmployeeName.$invalid">First Name is Required.</span>
<!--<p ng-show="Form1.EmployeeName.$invalid"
class="help-block">First Name is Required.</p>-->
</div>
</div>
<div class="row">
<div class="col-lg-12">
<label class="text-success">Fathers Name</label>
<input type="text" id="txtFathersName"
class="form-control" name="FathersName" placeholder="Enter Your Father Name" ng-
model="newEmployee.FathersName" required />
<!--<span ng-
show="EmployeeForm.EmployeeName.$error.required">This is a required field</span>--
>
<span style="color:red" ng-
show="Form1.EmployeeName.$invalid">First Name is Required.</span>
<!--<p ng-show="Form1.EmployeeName.$invalid"
class="help-block">First Name is Required.</p>-->
</div>
</div>
<div class="row">
<div class="col-lg-6">
<label class="text-success">Gender</label>
<select class="form-control" ng-
model="newEmployee.EmployeeSex">
<option value="" selected>--Select Gender-
-</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
</div>
<div class="col-lg-6">
<label class="text-
success">Designation</label>
<select class="form-control" ng-
model="newEmployee.EmployeeDesignation">
<option value="" selected>--Select
Designation--</option>
<option value="Manager">Manager</option>
<option value="SeniorOfficer">Senior
Officer</option>
<option value="Officer">Officer</option>
<option value="FieldOfficer">Field
Officer</option>
</select>
SIS, Page-28
</div>
</div>
<div class="row">
<div class="col-lg-12">
<label class="text-success">Present
Address</label>
<textarea id="txtEmployeePresentAddress"
name="EmployeePresentAddress" class="form-control" ng-
model="newEmployee.EmployeePresentAddress" required />
<span style="color:red" ng-
show="Form1.EmployeePresentAddress.$invalid">Present Addresss is Required.</span>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<label class="text-success">Permanent
Address</label>
<textarea id="txtEmployeePermanentAddress"
name="PermanentAddress" class="form-control" ng-
model="newEmployee.EmployeePermanentAddress" required />
<span style="color:red" ng-
show="Form1.PermanentAddress.$invalid">Permanent Addresss is Required.</span>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<label class="text-success">NID</label>
<input type="text" id="txtEmployeeNID"
name="EmployeeNID" class="form-control" ng-model="newEmployee.EmployeeNID"
required />
<span style="color:red" ng-
show="Form1.EmployeeNID.$invalid">Permanent Addresss is Required.</span>
</div>
<div class="col-lg-6">
<label class="text-success">Joining
Date</label>
<input type="date" id="txtEmployeeJoinDate"
class="form-control" ng-model="newEmployee.EmployeeJoinDate" />
</div>
</div>
<div class="row">
<div class="col-lg-6">
<label class="text-success">Date Of
Birth</label>
<input type="date" id="txtEmployeeDateOfBirth"
class="form-control" ng-model="newEmployee.EmployeeDateOfBirth" />
</div>
</div>
<div class="row">
<div class="col-lg-6">
<label class="text-success">Religion</label>
<select class="form-control" ng-
model="newEmployee.EmployeeReligion">
<option value="" selected>--Select
Religion--</option>
<option value="Islam">Islam</option>
<option value="Hindhu">Hindhu</option>
<option value="Buddist">Buddist</option>
SIS, Page-29
<option
value="Chiristian">Chiristian</option>
<option value="Others">Others</option>
</select>
</div>
<div class="col-lg-6">
<label class="text-success">Phone
Number</label>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-
dismiss="modal">Close</button>
<input type="button" class="btn btn-success pull-
right" value="Save" ng-click="save();" />
</div>
</div>
</div>
</div>
</div>
</div>
<!--Moal Form-->
<div class="modal-content">
<div class="modal fade" id="myEdit" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal">×</button>
<h4 class="modal-title text-success" style="margin-
left:100px;">Employee Detail Information</h4>
</div>
<div class="modal-body">
<div class="form-group">
<div>
<img width="100" ng-
src="data:image/png;base64,{{emp.EmployeePhoto}}" />
</div>
<table class="table table-inverse table-hover">
<tr class="table-bordered bottom-left active">
<td><span>Id</span></td>
SIS, Page-30
<td class="form-group">
<span>{{emp.EmployeeId}}</span>
</td>
</tr>
<tr class="table-bordered alert-success">
<td><span>Name</span></td>
<td class="form-group">
<span>{{emp.EmployeeName}}</span>
</td>
</tr>
<tr class="table-bordered bottom-left active">
<td><span>Designation</span></td>
<td class="form-group">
<span>{{emp.EmployeeDesignation}}</span>
</td>
</tr>
SIS, Page-31
<tr class="table-bordered bottom-left active">
<td><span>Phone Number</span></td>
<td class="form-group">
<span>{{emp.EmployeePhoneNo}}</span>
</td>
</tr>
<tr class="table-bordered bottom-left active">
<td><span>Sex</span></td>
<td class="form-group">
<span>{{emp.EmployeeSex}}</span>
</td>
</tr>
</table>
</div>
SIS, Page-32
</tr>
SIS, Page-33
<button type="button" class="btn btn-default" data-
dismiss="modal">Close</button>
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
</div>
<div class="panel-body">
<div style="float:right">
<strong>Search By Any:</strong>
<input type="text" id="txtAny" autofocus class="form-control" ng-
model="searchAny" placeholder="Search by any field" />
</div>
<div>
<button type="button" class="btn btn-info btn-sm" data-toggle="modal"
data-target="#x">Add New Employee</button>
</div>
</div>
<div class="table-responsive">
<table style="width:100%" class="table table-bordered table-hover" ng-
init="getAllEmployee();">
<thead class="bg-primary">
<tr class="row">
<th style="cursor:pointer" ng-
click="predication='EmployeeId';reverse=!reverse">Id</th>
<th style="cursor:pointer" ng-
click="predication='EmployeeName';reverse=!reverse">Name</th>
<th style="cursor:pointer" ng-
click="predication='EmployeePresentAddress';reverse=!reverse">Address</th>
<th style="cursor:pointer" ng-
click="predication='EmployeePhoneNo';reverse=!reverse">Phone Number</th>
<th>Action</th>
</tr>
</thead>
<tbody dir-paginate="employee in
employees|itemsPerPage:3|filter:searchAny|orderBy:predicate:reverse">
<tr class="row">
<td class="form-group active">
<p ng-hide="employee.editMode"> {{employee.EmployeeId}}
</p>
<input type="text" ng-show="employee.editMode" ng-
model="employee.EmployeeId" class="form-control" />
</td>
<td class="form-group success">
<p ng-hide="employee.editMode"> {{employee.EmployeeName}}
</p>
<input type="text" ng-show="employee.editMode" ng-
model="employee.EmployeeName" class="form-control" />
SIS, Page-34
</td>
<td class="form-group active">
<p ng-hide="employee.editMode">
{{employee.PresentAddress}} </p>
<input type="text" ng-show="employee.editMode" ng-
model="employee.PresentAddress" class="form-control" />
</td>
<td class="form-group success">
<p ng-hide="employee.editMode"> {{employee.PhoneNo}} </p>
<input type="text" ng-show="employee.editMode" ng-
model="employee.PhoneNo" class="form-control" />
</td>
</div>
<dir-pagination-controls max-size="3" direction-links="true" boundary-
links="true"></dir-pagination-controls>
</div>
SIS, Page-35
<!--<span ng-
show="EmployeeForm.EmployeeName.$error.required">This is a required field</span>--
>
<span style="color:red" ng-
show="Form1.EmployeeName.$invalid">First Name is Required.</span>
<!--<p ng-show="Form1.EmployeeName.$invalid"
class="help-block">First Name is Required.</p>-->
</div>
</div>
<div class="row">
<div class="col-lg-12">
<label class="text-success">Fathers Name</label>
<input type="text" id="txtFathersName"
class="form-control" name="FathersName" placeholder="Enter Your Father Name" ng-
model="newEmployee.FathersName" required />
<!--<span ng-
show="EmployeeForm.EmployeeName.$error.required">This is a required field</span>--
>
<span style="color:red" ng-
show="Form1.EmployeeName.$invalid">First Name is Required.</span>
<!--<p ng-show="Form1.EmployeeName.$invalid"
class="help-block">First Name is Required.</p>-->
</div>
</div>
<div class="row">
<div class="col-lg-6">
<label class="text-success">Gender</label>
<select class="form-control" ng-
model="newEmployee.EmployeeSex">
<option value="" selected>--Select Gender-
-</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
</div>
<div class="col-lg-6">
<label class="text-
success">Designation</label>
<select class="form-control" ng-
model="newEmployee.EmployeeDesignation">
<option value="" selected>--Select
Designation--</option>
<option value="Manager">Manager</option>
<option value="SeniorOfficer">Senior
Officer</option>
<option value="Officer">Officer</option>
<option value="FieldOfficer">Field
Officer</option>
</select>
</div>
</div>
<div class="row">
<div class="col-lg-12">
SIS, Page-36
<label class="text-success">Present
Address</label>
<textarea id="txtEmployeePresentAddress"
name="EmployeePresentAddress" class="form-control" ng-
model="newEmployee.EmployeePresentAddress" required />
<span style="color:red" ng-
show="Form1.EmployeePresentAddress.$invalid">Present Addresss is Required.</span>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<label class="text-success">Permanent
Address</label>
<textarea id="txtEmployeePermanentAddress"
name="PermanentAddress" class="form-control" ng-
model="newEmployee.EmployeePermanentAddress" required />
<span style="color:red" ng-
show="Form1.PermanentAddress.$invalid">Permanent Addresss is Required.</span>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<label class="text-success">NID</label>
<input type="text" id="txtEmployeeNID"
name="EmployeeNID" class="form-control" ng-model="newEmployee.EmployeeNID"
required />
<span style="color:red" ng-
show="Form1.EmployeeNID.$invalid">Permanent Addresss is Required.</span>
</div>
<div class="col-lg-6">
<label class="text-success">Joining
Date</label>
<input type="date" id="txtEmployeeJoinDate"
class="form-control" ng-model="newEmployee.EmployeeJoinDate" />
</div>
</div>
<div class="row">
<div class="col-lg-6">
<label class="text-success">Date Of
Birth</label>
<input type="date" id="txtEmployeeDateOfBirth"
class="form-control" ng-model="newEmployee.EmployeeDateOfBirth" />
</div>
</div>
<div class="row">
<div class="col-lg-6">
<label class="text-success">Religion</label>
<select class="form-control" ng-
model="newEmployee.EmployeeReligion">
<option value="" selected>--Select
Religion--</option>
<option value="Islam">Islam</option>
<option value="Hindhu">Hindhu</option>
<option value="Buddist">Buddist</option>
<option
value="Chiristian">Chiristian</option>
<option value="Others">Others</option>
</select>
SIS, Page-37
</div>
<div class="col-lg-6">
<label class="text-success">Phone
Number</label>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-
dismiss="modal">Close</button>
<input type="button" class="btn btn-success pull-
right" value="Save" ng-click="save();" />
</div>
</div>
</div>
</div>
</div>
</div>
<!--Moal Form-->
<div class="modal-content">
<div class="modal fade" id="myEdit" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal">×</button>
<h4 class="modal-title text-success" style="margin-
left:100px;">Employee Detail Information</h4>
</div>
<div class="modal-body">
<div class="form-group">
<div>
<img width="100" ng-
src="data:image/png;base64,{{emp.EmployeePhoto}}" />
</div>
<table class="table table-inverse table-hover">
<tr class="table-bordered bottom-left active">
<td><span>Id</span></td>
<td class="form-group">
<span>{{emp.EmployeeId}}</span>
</td>
</tr>
SIS, Page-38
<tr class="table-bordered alert-success">
<td><span>Name</span></td>
<td class="form-group">
<span>{{emp.EmployeeName}}</span>
</td>
</tr>
<tr class="table-bordered bottom-left active">
<td><span>Designation</span></td>
<td class="form-group">
<span>{{emp.EmployeeDesignation}}</span>
</td>
</tr>
SIS, Page-39
</td>
</tr>
<tr class="table-bordered bottom-left active">
<td><span>Sex</span></td>
<td class="form-group">
<span>{{emp.EmployeeSex}}</span>
</td>
</tr>
</table>
</div>
SIS, Page-40
<td class="form-group">
<span>{{emp.EmployeePresentAddress}}</span>
</td>
</tr>
<tr class="table-bordered bottom-left active">
<td><span>Permanent Address</span></td>
<td class="form-group">
<span>{{emp.EmployeePermanentAddress}}</span>
</td>
</tr>
<tr class="table-bordered alert-success">
<td><span>Employee NID</span></td>
<td class="form-group">
<span>{{emp.EmployeeNID}}</span>
</td>
</tr>
<tr class="table-bordered bottom-left active">
<td><span>Date Of Birth</span></td>
<td class="form-group">
<span>{{emp.EmployeeDateOfBirth}}</span>
</td>
</tr>
<tr class="table-bordered alert-success">
<td><span>Nationality</span></td>
<td class="form-group">
<span>{{emp.EmployeeNationality}}</span>
</td>
</tr>
<tr class="table-bordered bottom-left active">
<td><span>Join Date</span></td>
<td class="form-group">
<span>{{emp.EmployeeJoinDate}}</span>
</td>
</tr>
<tr class="table-bordered alert-success">
<td><span>Religion</span></td>
<td class="form-group">
<span>{{emp.EmployeeReligion}}</span>
</td>
</tr>
<tr class="table-bordered bottom-left active">
<td><span>Phone Number</span></td>
<td class="form-group">
<span>{{emp.EmployeePhoneNo}}</span>
</td>
</tr>
<tr class="table-bordered bottom-left active">
<td><span>Sex</span></td>
<td class="form-group">
<span>{{emp.EmployeeSex}}</span>
</td>
</tr>
</table>
</div>
SIS, Page-41
</div>
</div>
</div>
</div>
</div>
Models:
Interaction model:
It is a dynamic model that shows how the system interacts with its environment.
We use a data flow diagram.
Actor
Clerk Loan_Application Loan_App_Save Database
Actor View
(Home Page)
View Click
(Home Page)
Click
Submit
Submit
Return Contact
Return
(Error Message) Contact
Info Saved
(Error Message) Info Saved
Successfully Saved
Reset
Successfully Saved
Reset
SIS, Page-42
Database Design 4
Entities Definition:
Entities are the principal data object about which information is to be collected. Entities are usually
recognizable concepts, either concrete or abstract, such as person, places, things, or events, which
have relevance to the database. Entities are classified as regular or weak. A regular entity is one
that does not rely on another for identification. A weak entity is one that relies on another for
identification. An entity occurrence (also called an instance) is an individual occurrence of an entity.
An occurrence is analogous to a row in the relational table.
Database :
SIS, Page-43
Database for this application is design by Entity framework code first data modeling. After creating
database and tables diagrams are look like this.
Database Table:
The system database has the following structure of tables:
SIS, Page-44
User Interface Design 5
3 Preface:
The chapter shows the process of creating user interfaces for the desired system. Before creating
a software interface, all the transaction and input/output must be known in advance and it should
be clearly stated. The chapter also presents the design of the user interface i.e. how the interface
is organized. In the last, the implementation of the interface is shown.
Interface is the medium through which the user communicates with the application. The User
Interface is one of the most important parts of software. The User Interface acts as a mediator
between the user and the system. It is important, that the user should feel comfortable while using
the software. Software is considered as unsuccessful if it does not gain the user acceptance.
Although however good the software is but if the user finds it difficult to use it then the user will
definitely reject the software, and the software will be a failure. So besides having good features,
a software must also have a user friendly Interface
4 Home Page:
Home page contains all navigations and UIs to move different parts of the application.
5 Login Page:
SIS, Page-45
To access the application, User must have to Login first. Only authorized users can access. If user
is not authorized, users can register by filling up an application and approved by the member.
6 Main Menu:
After login successfully, the Main Menu appeared. User can access according his/her Role that
Authorized by the Member. Unauthorized person cannot access.
7 Employee Registration :
SIS, Page-46
To register an employee, first have to go the accountant. The accountant fills up the form and
submits the data prevent insert the same data twice.
8 Employee List:
SIS, Page-47
When accountant click submit button after Giving Initial Information of employee, it gather in
Update employee list.
9 Loan Info:
10 Apply Loan:
SIS, Page-48
11 Installment:
SIS, Page-50
CHAPTER 6
DATABASE SCHEMA
At this of design, only 10 database schemas was created, those are User Login, Member Info,
Employee Info, Business Profile, Fund Info, Installment, Terms & Condition, Loan Apply, Loan Info,
Document Submit.
Results Produced
After accomplishing the OMF implementation, we find out that the system is easy to use and user
friendly. OMF successfully finishes user’s requirement by providing instant information of inventory.
It can generate delivery report, ordering reminder, etc.
SIS, Page-51
Load Testing
At this point of designing, we haven’t provided any test module to OMF. Hopefully, at the end of
quarter, we will be able to test OMF thoroughly.
Future Work
By accomplishing OMF, we, the designers, obtained many valued experience of dealing with visual
studio 2012. Furthermore, we also experience SQL server 2012 and familiar with many new tools
and technology throughout the entire designing process. Considering the important factor, the
system is designed in such a way that provisions can be given for further enhancement without
affecting the system presently developed. There should be a lot more features that can be added to
the OMF System. Therefore the system should include the features of messaging and mailing.
Nevertheless, OMF is just the beginning of online micro finance system.
Conclusion
The project seems to be quiet satisfactory as it is fulfilling the requirement of The effective use of
"Online Micro Finance System", any Financial Institute can be use it to develop their strategy for
putting the calculations, and for getting better results in less time. Online Micro Finance System is
very useful for Financial Institute to prepare a report, safe the time that will take to check the leaser
and Code File. It will help the Institute to testing of applicant and allot their loans.
Reference Books:
1. Beginning Microsoft SQL Server 2012 Programming
2. Microsoft Visual C# 2013 Step by Step
3. Object-Oriented Systems Analysis and Design using UML, 3rd Edition
4. PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3
5. Beginning ASP.NET 4.5.1_ in C# and VB
6. Beginning ASP.NET MVC 4 IDB
7. Exam.Ref.70-486.Developing.ASP.NET.MVC.4.Web.Applications
SIS, Page-52
8. AngularJS_using_Parse.com
9. Developing Windows Azure and Web Services Exam.Ref.70-487
Thank You
SIS, Page-53