Anda di halaman 1dari 115

MICROFINANCE

SUBMITTED BY MAHENDRA R. KAWDE VINIT D. KADU PRANAV S. SHETKAR ASHISH A. SAWANT

UNDER THE GUIDANCE OF PROF. VANITA ABHALE

SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENT FOR QUALIFYING B.Sc.I.T. SEMESTER-VI EXAMINATION APRIL 2011

KIRTI M. DOONGURSEE COLLEGE OF ARTS, SCIENCE AND COMMERCE DADAR (W), MUMBAI 400028.

T.Y.BSc.I.T

Microfinance

D.E SOCIETYS Kirti .M. Doongursee College of Arts, Science and Commerce Dadar, Mumbai- 400028.

CERTIFICATE
This is to certify that Mr. MAHENDRA R. KAWDE With Seat No. ______ Mr. VINIT D. KADU With Seat No. ______ Mr. PRANAV S. SHETKAR With Seat No. ______ Mr. ASHISH A. SAWANT With Seat No. ______ Has successfully completed project entitled

MICROFINANCE
Under the precious guidance of Prof. VANITA ABHALE In the partial fulfillment of B.Sc. (I.T) Degree (Semester VI) has completed with all required Phases of the project development in the academic year. 2010 - 2011
Project Guide Head of Department

Internal Examiner

External Examiner

Page 1

T.Y.BSc.I.T

Microfinance

Declaration
I Mr. MAHENDRA R. KAWDE With Seat No. ______ I Mr. VINIT D. KADU With Seat No. ______ I Mr. PRANAV S. SHETKAR With Seat No. ______ I Mr. ASHISH A. SAWANT With Seat No. ______ Declare that the project named MICROFINANCE Has undertaken for the partial fulfillment of B.Sc. (I.T) Degree (Semester VI) In the academic year 2010 2011. I hereby declare that this Project Report submitted by me is based on actual work carried out by me under the guidance and supervision of Prof. VANITA ABHALE. Any reference to work done by any other person or institution or any material obtained from other sources have been duly cited and referenced. It is further to state that this work is not submitted anywhere else for any examination. MAHENDRA R. KAWDE VINIT D. KADU PRANAV S. SHETKAR ASHISH A. SAWANT DATE:

Page 2

T.Y.BSc.I.T

Microfinance

Preface

We take great pleasure and pride in presenting the report in partial fulfillment of the project undertaken as a part of the B.Sc.I.T Curriculum. It has been an experience of a life time working towards the completion of project we start out as a group of individuals as a limited practical knowledge this opportunity has been most beneficial to the development of our practical knowledge as well as to the application of our theoretical knowledge. In the course of this project, we have come across many crossroads and have been able to make right turns. It has also been our sincere effort to make this report as lucid as possible and to make Microfinance as easy to understand as possible. We hope that this report will be most beneficial to those who refer to it in the future. We also hope that the reader will understand and appreciate the finer nuances of Microfinance.

Page 3

T.Y.BSc.I.T

Microfinance

Acknowledgement
This project is incomplete without saying a few words of appreciation gratitude for all those who directly or indirectly have helped me in the completion of my project. Justification will never sound good if we do not express our vote of thanks to all our faculty members of our college. We are grateful to all of them & wish to thank them, without whom the success of the project would have been impossible. We are thankful to the faculty members for their valueable time and giving me project in first place. We could not have managed without their valueable inputs and co-operation in all aspects of project. We express our sincere gratitude towards my internal project guide Miss.Vanita Abhale, who guided us, rending confidence within me & got the best of me and who have been source of inspiration and motivation to us. We wish to thanks all our faculty members who helped us various stages of our project. And last but not the least we would like to thank our colleagues of T.Y.Bsc(I.T) for just being what they are and for being our friends.

Mahendra R. Kawde Vinit D. Kadu Pranav S. Shetkar Ashish A. Sawant

Page 4

T.Y.BSc.I.T

Microfinance

Table of Contents
1. INTRODUCTION..7 1.1 WHAT IS MICROFINANCE?......................................................8 2. SYSTEM ANALYSIS9 2.1 SYSTEM OVERVIEW..10 2.2 PRODUCT FUNCTION11 2.3 OBJECTIVE AND SCOPE OF PROJECT...12 2.4 SYSTEM REQUIREMENTS....13 2.5 FEASIBILTY STUDIES...14 2.6 SOFTWARE DEVELOPMENT MODEL15 3. SYSTEM DESIGN19 3.1 PERT CHART..20 3.2 EVENT TABLE....21 3.3 DATA FLOW DIAGRAM24 3.4 E-R DIAGRAM.29 3.5 CLASS DIAGRAM..30 3.6 USE CASE MODEL.31 3.7 SEQUENCE DIAGRAM..34 3.8 STRUCTURE CHART.38 3.9 ACTIVITY DIAGRAM39 4. DATABASE DICTIONARY.40 5. SCREEN LAYOUTS.47

Page 5

T.Y.BSc.I.T

Microfinance

6. CODING73 7. TESTING...104

8. ANNEXURE..106 8.1 WHY JAVA SERVER PAGES? ..107 8.2 WHY MySQL? .109 8.3 USER MANUAL...111 8.4 CONCLUSION..113 8.5 BIBLIOGRAPHY .114

Page 6

T.Y.BSc.I.T

Microfinance

Introduction

Page 7

T.Y.BSc.I.T

Microfinance

What is Microfinance?
Microfinance is the provision of financial services to low-income clients or solidarity lending groups including consumers and the self-employed, who traditionally lack access to banking and related services. More broadly, it is a movement whose object is "a world in which as many poor and nearpoor households as possible have permanent access to an appropriate range of high quality financial services, including not just credit but also savings, insurance, and fund transfers." Those who promote microfinance generally believe that such access will help poor people out of poverty. The industry began by providing small loans to emerging entrepreneurs to start or expand businesses. Opportunity International was one of the first nonprofit organizations to recognize the benefits of providing capital to people struggling to work their way out of poverty. Over the years, with Opportunity leading the way, the microfinance sector has expanded its financial service offerings to better meet client needs. Along with providing more flexible loan products and business and personal development training, Opportunity offers savings and insurance to help clients effectively navigate the daily hardships they face. Without these services, clients are continually at risk of slipping back into poverty because of unforeseen circumstances. As the microfinance industry continues to mature, there is a danger that it will drift toward a more secure client base. It is critical that microfinance organizations continue to focus on those with the greatest needs those who have been displaced; those in rural areas, those who traditional institutions consider unbankable the most marginalized people. Maintaining that focus, microfinance can help create a world in which the underserved have fair access to economic opportunities and the hope to move beyond poverty.

Page 8

T.Y.BSc.I.T

Microfinance

System Analysis

Page 9

T.Y.BSc.I.T

Microfinance

System Overview
This is a web-based that can be exclusively used for financial institutions which provide financial services like savings, loans to low- income or self employed people. This system is mainly designed to provide automation for the services this kind of financial institutions provide by keeping track of customer transactions. The system is mainly divided in three parts Users, Administrators and Manager. Operator:
Identification of anyone assisting the user in using the application.

History of loans, repayments, future options. Roadmap for financing and returns on effort invested. Details of financed individual. Maintain the details of donors and borrowers.

Administrator: Details of financed individual. History of repayments and other borrowing behavior. History of kinds of transactions conducted. List of possible assistance from bank / institution. Planning future activities. Most productive investments. Assistance to be provided to these individuals. Most productive loans employee. Details of financed individual. History of repayments and other borrowing behaviour. History of kinds of transactions conducted.

Manager:

Page 10

T.Y.BSc.I.T

Microfinance

Product Function
Providing financial services to the clients online, which include loan, savings. Allowing registration for each every counterparts of organization according to their designation. Maintaining the details of financed individuals. Maintaining the details of Donors and Borrower. Maintaining the history of repayment and other borrowing behavior. Maintaining the transaction details Generating Reports for Analysis & Transactions. Allowing Administrator to introduce new Products and Services.

Enabling personalize view to each counterparts of organization according to their designation. Enables the 360 degree view of clients while their interaction with organization counterparts.

Maintaining repayments details of each and every clients or lenders of organization. Maintaining donation details of each and every donors of organization. Allowing to manipulate the clients details to only responsible counterparts of organization. Ensuring authentication through username & password policy.

Page 11

T.Y.BSc.I.T

Microfinance

Objective and Scope of the project


Objective:

To provide a user friendly, easy to use and an efficient web based system for automating the transactions within micro financial institutions. To keep Brief and relevant history of kinds of transactions conducted in micro financial institutions. Speedy processing increased efficiency, transparent policing and better interaction with the Clients. Design a system that will make the report generation job easier for micro financial institutes. To avoid misplacing of records and store them in an efficient manner. To provide validation to application in order to avoid incorrect or missing information Making searching a record that will require less time. 24 X 7 availability.

Scope:

Existing microfinance institutions can expand their operations to areas where there are no microfinance programs. More NGOs can incorporate microfinance as one of their programs. In places where there are no microfinance institutions, the government channels at the grassroots level may be used to serve the poor with microfinance. Postal savings banks may participate more not only in mobilizing deposits but also in providing loans to the poor and on lending funds to the MFIs. International NGOs and agencies may develop or may help develop Microfinance programs in areas or countries where micro financing is not a very familiar concept in reducing poverty.

Page 12

T.Y.BSc.I.T

Microfinance

System Requirements
Software Interface:

Front End Client: J2EE Web Server: Apache Tomcat Data Base Server: Back End: MySQL Hardware Interface:

Client Side: Pentium-IV + machine 512 MB RAM 1.80 GHz 160 GB HDD Server Side: Pentium-IV + machine 8 GB RAM 1 TB HDD

Page 13

T.Y.BSc.I.T

Microfinance

Feasibility Studies

The feasibility study purpose is one or more conceptual solution to the problems set for the project, this conceptual solutions gives idea of new system how it looks like i.e. they define which part of the system is to become computerized and which part remain manual. They also indicate that what input is required for the system and what is the output of the system. The solution given must be feasible and preferable solution is accepted the criteria to accept the solution based on three major things as follows: Technical Feasibility Operational Feasibility Economic Feasibility Technical Feasibility: At first it is necessary to check that the system (proposed system) is technically feasible or not and to determine the technology and skills necessary to carry out the project. If they are not available then find out the solution to obtain them. Operational Feasibility: The operational feasibility has obtained by consulting with the system users. Check that the proposed solution satisfied the user needs or not? There is no resistance from the user. Since new system is helpful. Economic Feasibility: When system is installed and implemented then how many hours are required to put in and cost of the development also be considered. Most common known as cost / benefit analysis. It is the procedure to determine benefits and savings accepted from candidate system and compare them with cost. "If benefits outweigh costs" decision is made to design and implement.

Page 14

T.Y.BSc.I.T

Microfinance

Software Development Model


There are different approaches for development of software that are represented in the form of models. All the models use a software development life cycle as a base line. We have used the WATER FALL Model. Basic reasons behind the choice of using the waterfall model are, Testing is inherent to every phase of the waterfall model. It is an enforced disciplined approach. It is documentation driven that is documentation produced at every stage.

Page 15

T.Y.BSc.I.T

Microfinance

Waterfall Model

This model is often referred to as the classic life cycle or water fall model. It involves a systematic progression through the stages of analysis, design, coding, testing, and support, and is the most widely used procedural model for software engineering. The Linear Sequential Model involves the following activities, which occur in sequence.

Requirements analysis: This first step is also the most important, because it involves gathering information about what the customer needs and defining, in the clearest possible terms, the problem that the product is expected to solve. Analysis includes understanding the customer's business context and constraints, the functions the product must perform, the performance levels it must adhere to, and the external systems it must be compatible with. Techniques used to obtain this understanding include customer interviews, use cases, and "shopping lists" of software features. The results of the analysis are typically captured in a formal requirements specification, which serves as input to the next step.

Design: This step consists of "defining the hardware and software architecture, components, modules, interfaces, and data...to satisfy specified requirements"). It involves defining the hardware and software architecture, specifying performance and security parameters, designing data storage containers and constraints, choosing the IDE and programming language, and indicating strategies to deal with issues such as exception handling, resource management and interface connectivity. This is also the stage at which user interface design is addressed, including issues relating to navigation and accessibility. The output of this stage is one or more design specifications, which are used in the next stage of implementation.

Page 16

T.Y.BSc.I.T
Implementation:

Microfinance

This step consists of actually constructing the product as per the design specification(s) developed in the previous step. Typically, this step is performed by a development team consisting of programmers, interface designers and other specialists, using tools such as compilers, debuggers, interpreters and media editors. The output of this step is one or more product components, built according to a pre-defined coding standard and debugged, tested and integrated to satisfy the system architecture requirements. For projects involving a large team, version control is recommended to track changes to the code tree and revert to previous snapshots in case of problems.

Testing: In this stage, both individual components and the integrated whole are methodically verified to ensure that they are error-free and fully meet the requirements outlined in the first step. An independent quality assurance team defines "test cases" to evaluate whether the product fully or partially satisfies the requirements outlined in the first step. Three types of testing typically take place: unit testing of individual code modules; system testing of the integrated product; and acceptance testing, formally conducted by or on behalf of the customer. Defects, if found, are logged and feedback provided to the implementation team to enable correction. This is also the stage at which product documentation, such as a user manual, is prepared, reviewed and published.

Installation: This step occurs once the product has been tested and certified as fit for use, and involves preparing the system or product for installation and use at the customer site. Delivery may take place via the Internet or physical media, and the deliverable is typically tagged with a formal revision number to facilitate updates at a later date.

Page 17

T.Y.BSc.I.T
Maintenance:

Microfinance

This step occurs after installation, and involves making modifications to the system or an individual component to alter attributes or improve performance. These modifications arise either due to change requests initiated by the customer, or defects uncovered during live use of the system. Typically, every change made to the product during the maintenance cycle is recorded and a new product release (called a "maintenance release" and exhibiting an updated revision number) is performed to enable the customer to gain the benefit of the update.

Page 18

T.Y.BSc.I.T

Microfinance

System Design

Page 19

T.Y.BSc.I.T

Microfinance

Pert Chart

Requirement Analysis

Understanding System flow, Data flow 11/12/10 25/12/10

Database Designing

18/11/10

10/12/10

26/12/10

31/12/10

Documentation

Documentation

Documentation

Implementation

Coding

Form Designing

11/03/11

18/03/10

21/01/11

10/03/11

01/01/11

20/01/11

Documentation

Testing

Documentation

Testing Documentation 19/03/11 24/03/11

Documentation

Page 20

T.Y.BSc.I.T

Microfinance

Event Table

Event Client Registration

Trigger Registration of Client

Source Operator

Activity New Registration

Response View profile

Destination Database

Enter Donors Add Donor Details

Operator

Store Donors data in database

Update /Delete donors details Enter Donation Details

Update donor Operator/ Admin/ Manager

Enter Donation details for each individual

Operator

Update /Delete Donation details Enter Organization Details

Update Donations

Operator/ Admin/ Manager

Update /Delete donors details in database Store donation details of each individual donor in database Update/Delet e donation details in database Store organization details

Database Donors details added successfully/ fail to add details Donors details Database modified/delete d successfully/ fail to modify or delete details Donation Database Details added successfully/ fail to add details

Add organization details

Operator

Donation details Database modified/delete d successfully/ fail to modify or delete details Database Organizations details added successfully/ fail to add details

Page 21

T.Y.BSc.I.T
7 Update/Delet e organization details Update organization Operator/ Admin/ Manager Update / delete organization details in database Store borrowing details in database Update / delete product details in database Store transaction details for each client Add repayment details to database View repayment details from database Update client details in database

Microfinance
Organization details modified /deleted successfully/ fail to modify or delete details Borrowing details added successfully/ fail to add details Borrowing details modified/delete d successfully /fail to modify or delete details Transaction details added successfully/ fail to add details Repayment details added successfully/ fail to add details Repayment details displayed successfully Client details modified successfully/ fail to modify or delete details Service details added successfully/ fail to add Database

Enter Borrowing Details

Add borrowing information

Operator

Database

Update / delete borrowing details

Update borrowing details

Operator/ Admin/ Manager

Database

10

Enter Transaction Details

Enter transaction details of each client Add repayment details

Operator

Database

11

Enter repayment details

Operator

Database

12

View repayment details Update / delete client details

View repayment

Database

Operator/ Admin/ Manager Operator/ Admin/ Manager

13

Update client

Operator

14

Enter service details

Add service details

Administrat or

Add service details to database

Database

Page 22

T.Y.BSc.I.T
15 Enter Loan details Add Loan Details Administrat or Add Loan details to database

Microfinance
details Loan details added successfully/ fail to add details Service details modified successfully/ fail to modify or delete details Service details modified successfully/ fail to modify or delete details Report displayed Database

16

Update / delete service details Update / delete service details View Reports

Update service

Database

Update service details in database Update service details in database Display specified report

Admin/ Manager

17

Update service

Database

Admin/ Manager

18

Search required report details

Database

Operator/ Admin/ Manager

Page 23

T.Y.BSc.I.T

Microfinance

Data Flow Diagram


Context Level DFD

Page 24

T.Y.BSc.I.T

Microfinance

First Level Data Flow Diagram

Page 25

T.Y.BSc.I.T

Microfinance

Page 26

T.Y.BSc.I.T

Microfinance

Page 27

T.Y.BSc.I.T

Microfinance

Page 28

T.Y.BSc.I.T

Microfinance

E-R Diagram
Loan Borrowing
Made Towards

Organization

Ask

Takes

Employee

Approac h Makes

Approac h

Client

Repayment

Donor

Create

Makes

Makes

Account

Transaction

Donation Page 29

T.Y.BSc.I.T

Microfinance

Class Diagram
Borrowing Loan
Service_id Name
Rate_Of_Interest

Organization_id Borrowing Borrowing_Id Borrowing Date

Organization
Organization_Id Name Address

Employee
Employee_Id

Donor Client
Client_Id Client_Name Address Name Donor_Id Address Donor_Name Contact_Details Address

Repayment
Contact_Details Repayment_Id Amount Date

Contact_Details

Donation
Donation_Id

Account
Account_Id Client_Id Date Balance

Transaction
Transaction_Id Amount Date

Amount Date

Page 30

T.Y.BSc.I.T

Microfinance

Use Case Model


1.
Make Registration

Ask for Service

Apply for Loan

Make Repayment

Deposit

Withdrawal

Client Transfer Funds

Check Account Balance

Page 31

T.Y.BSc.I.T

Microfinance

2.

Enter Donor Details

Enter Bank Details

Enter Account Details

Enter Donation details

Operator Enter Borrowing details

Page 32

T.Y.BSc.I.T
3.

Microfinance

Check History of fund utilized

Check history of repayment

Check history of borrowings Admin Check Transaction Records

4.

Analyze most productive Employee

Manager

Page 33

T.Y.BSc.I.T

Microfinance

Sequence Diagram
1.
Client Service Loan Repayment Account

Client

AddClient()

ViewClient()

ViewService()

RequestForService()

ViewLoanDetails()

RequestForLoan()

CheckLoanStatus()

LoanRepayment()

OpenAccount()

Deposit()

Withdraw()

Transfer()

ViewAccountDetails()

Page 34

T.Y.BSc.I.T
2.
Donor Bank Donation

Microfinance

Borrowings

Operator

AddDonor()

ViewDonor()

AddBank()

ViewBank()

MakeDonation()

ViewDonation()

EnterBorrowings()

ViewBorrowings()

Page 35

T.Y.BSc.I.T
3.
Loan Repayment Borrowings

Microfinance

Admin

RequestReport()

ShowRepaymentReport()

RequestReport()

ShowBorrowingReport()

Page 36

T.Y.BSc.I.T
4.

Microfinance

Employee

Manager

RequestForProgressiveEmp()

ViewProgressiveEmp()

Page 37

T.Y.BSc.I.T

Microfinance

Structure Chart
Start

Open Account

View Services

Yes Service Required No

No

Yes Deposit

Request for Service

Yes

Make Withdrawal

Make Deposit
Withdrawal

No Yes Bank Transfer No

Make Bank Transfer

Yes Loan Required

No

Request for Loan

End

Repayment of Loan

Page 38

T.Y.BSc.I.T

Microfinance

Activity Diagram

Employee Login

Client

Enter Bank details Request Service Enter Client Details Request Withdrawal Deposit Bank Transfer Request for balance statement View Account Balance

Enter Donors Details

Enter Borrowing Details

Enter Service Provided

Make Withdrawal

Enter Deposit Details

Enter Transfer Details

Page 39

T.Y.BSc.I.T

Microfinance

Database Dictionary

Page 40

T.Y.BSc.I.T

Microfinance

ClientDetails

Page 41

T.Y.BSc.I.T

Microfinance

Donormaster

ServiceMaster

LoanMaster

Page 42

T.Y.BSc.I.T

Microfinance

ClientLoanDetails

Employeemaster

Page 43

T.Y.BSc.I.T
RepaymentDetails

Microfinance

OrganisationMaster

Borrowings

Page 44

T.Y.BSc.I.T

Microfinance

Donations

TransactionMaster

AccountMaster

Page 45

T.Y.BSc.I.T

Microfinance

NomineeDetails:

Page 46

T.Y.BSc.I.T

Microfinance

Screen Layouts

Page 47

T.Y.BSc.I.T

Microfinance

Homepage

Page 48

T.Y.BSc.I.T

Microfinance

LoginPage

Page 49

T.Y.BSc.I.T

Microfinance

InvalidLogin

Page 50

T.Y.BSc.I.T

Microfinance

OperatorHome:-

Page 51

T.Y.BSc.I.T

Microfinance

AdminHome

Page 52

T.Y.BSc.I.T

Microfinance

ManagerHome

Page 53

T.Y.BSc.I.T

Microfinance

Client Registration Forms


ClientRegistration

Page 54

T.Y.BSc.I.T

Microfinance

NomineeDetails

Page 55

T.Y.BSc.I.T

Microfinance

AccountDetails

Page 56

T.Y.BSc.I.T

Microfinance

ClientLoanDetails

Page 57

T.Y.BSc.I.T

Microfinance

ClientsFinalInfo

Page 58

T.Y.BSc.I.T

Microfinance

Donors Registration
Donorsdetails

Page 59

T.Y.BSc.I.T

Microfinance

RegardPage

Page 60

T.Y.BSc.I.T

Microfinance

Employee Registration
Employeeregistration

Page 61

T.Y.BSc.I.T

Microfinance

View Update Client


DispClients

Page 62

T.Y.BSc.I.T

Microfinance

ClientupdateRegard

Page 63

T.Y.BSc.I.T

Microfinance

DonorDeleteRagardpage

Page 64

T.Y.BSc.I.T

Microfinance

NewService

Page 65

T.Y.BSc.I.T

Microfinance

RepaymentDetails

Page 66

T.Y.BSc.I.T

Microfinance

Reports

ClientTransactionreport

Page 67

T.Y.BSc.I.T

Microfinance

DonorsReport

Page 68

T.Y.BSc.I.T

Microfinance

RepaymentDetails

Page 69

T.Y.BSc.I.T

Microfinance

OrganizationReport

Page 70

T.Y.BSc.I.T

Microfinance

LoanReport

Page 71

T.Y.BSc.I.T

Microfinance

ServiceReport

Page 72

T.Y.BSc.I.T

Microfinance

Coding

Page 73

T.Y.BSc.I.T
HomePage.jsp

Microfinance

<html> <head> <title>Miccrofinance Institute</title> </head> <body> <body background="images/res_4.jpg" vlink="orange" > <table height="2%" width="100%" align="right" > <tr>

<td align="right"><a href="LoginPageDisplayer"><font color="white" font face="Bell MT">LogIn </font></a></td> </tr> </table> <table height="30%" width="100%" align="center" > <tr > <td ><jsp:include page="Header.jsp" /></td> </tr> </table> <table height="2%" width="100%"> <tr><td><hr color="white" size="2%" width="100%"></td></tr> </table>

<table border="5" align="left" height="40%" width="18%" rules="rows" cellpadding="10" >

Page 74

T.Y.BSc.I.T
<tr> <td><jsp:include page="SidePanel.jsp" /></td> </tr> </table> <table border color="white" height="60%" width="80%" align="right" > <tr><td></td></tr> </table>

Microfinance

<table border width="100%" cellspacing="20" valign="bottom" rules="columns"> <tr> <td><jsp:include page="Footer.jsp" /></td> </tr> </table>

</body> </html>

Page 75

T.Y.BSc.I.T
LoginServlet.java
package Microfinance.servlet;

Microfinance

import Microfinance.dao.EmployeeMasterDAO; import Microfinance.entity.EmployeeMaster; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;

public class LoginSevlet extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { System.out.println();

String strId = request.getParameter("txtun");


Page 76

T.Y.BSc.I.T
String strpwd = request.getParameter("txtpwd");

Microfinance

EmployeeMasterDAO dao = new EmployeeMasterDAO(); EmployeeMaster em = dao.validate(strId, strpwd);

String EmpName = em.getEmployeeFirstName(); String Designation = em.getDesignation(); HttpSession session = request.getSession(); session.setAttribute("LoggedInEmp", em); if(Designation.equals("Operator")) { request.setAttribute("UN", em); RequestDispatcher rd = request.getRequestDispatcher("OperatorHome.jsp"); rd.forward(request, response); return; } else if(Designation.equals("Administrator")) { request.setAttribute("UN", em); RequestDispatcher rd = request.getRequestDispatcher("AdminHome.jsp"); rd.forward(request, response); return; } else {
Page 77

T.Y.BSc.I.T
request.setAttribute("UN", em);

Microfinance

RequestDispatcher rd = request.getRequestDispatcher("ManagerHome.jsp"); rd.forward(request, response); return; } } catch (Exception e) { System.out.println(e.getMessage()); e.printStackTrace();

RequestDispatcher rd = request.getRequestDispatcher("InvalidLogin.jsp"); rd.forward(request, response); return;

} finally { out.close(); } } }

Page 78

T.Y.BSc.I.T
OperatorSidePanel:-

Microfinance

<font color="white" font size="50"> <% Object obj = session.getAttribute("LoggedInEmp"); EmployeeMaster em = (EmployeeMaster)obj; String strDesg = em.getDesignation(); if(strDesg.equals("Operator")) { %> <tr><td align="center"><a href="OperatorHome.jsp"><font color="white" font face="Bell MT">Home</font></a> </td></tr> <tr><td align="center"><a href="ClientAdder"><font color="white" font face="Bell MT">Client Registration</font></a></td></tr> <tr><td align="center"><a href="DonorsAdder"><font color="white" font face="Bell MT">Enter Donor's Details</font></a></td></tr> <tr><td align="center"><a href="DonationAdder"><font color="white" font face="Bell MT"> Enter Donation Details</font></a></td></tr> <tr><td align="center"> <a href="OrganizationAdder"><font color="white" font face="Bell MT">Enter Organization Details</font></a></td></tr> <tr><td align="center"> <a href="BorrowingAdder"><font color="white" font face="Bell MT">Enter Borrowing Details</font></a></td></tr> <tr><td align="center"><a href="TransactionAdder"><font color="white" font face="Bell MT">Enter Transaction Details</font></a></td></tr> <tr><td align="center"><a href="RepaymentAdder"><font color="white" font face="Bell MT">Enter Repayment Details</font></a></td></tr>

<%
Page 79

T.Y.BSc.I.T
} if(strDesg.equals("Administrator")) { %> <tr>

Microfinance

<td align="center"><a href="AdminHome.jsp"><font color="orange" font face="Bell MT">Home</font></a></td> </tr> <tr> <td align="center"><a href="ServiceAdder"><font color="white" font face="Bell MT">Enter New Service Details</font></a></td> </tr> <tr> <td align="center"><a href="LoanAdder"><font color="white" font face="Bell MT">Enter New Loan Details</font></a></td> </tr> <tr> <td align="center"><a href="EmployeeAdder"><font color="white" font face="Bell MT">Enter New Employee Details</font></a></td> </tr>

<% } if(strDesg.equals("Manager")) { %> <tr>


Page 80

T.Y.BSc.I.T

Microfinance

<td align="center"><a href=""><font color="orange" font face="Bell MT">Most productive employee</font></a></td> </tr> <% } %>

<%

if(strDesg.equals("Manager") || strDesg.equals("Administrator")) { %> <tr><td align="center"><a href="LoanReport"><font color="white" font face="Bell MT">Loan Report</font></a></td></tr> <tr><td align="center"><a href="ServiceReport"><font color="white" font face="Bell MT">Service Report</font></a></td></tr> <tr> <td align="center"><a href="ShowService"><font color="white" font face="Bell MT">VIEW/UPDATE Service Details</font></a></td> </tr> <tr> <td align="center"><a href="ShowLoanMaster"><font color="white" font face="Bell MT">VIEW/UPDATE Loan Details</font></a></td> </tr> <tr> <td align="center"><a href="ShowEmployee"><font color="white" font face="Bell
Page 81

T.Y.BSc.I.T
MT">VIEW/UPDATE Employee Details</font></a></td> </tr>

Microfinance

<% } if(strDesg.equals("Operator") || strDesg.equals("Administrator") || strDesg.equals("Manager")) { %> <tr><td align="center"><a href="showClient"><font color="white" font face="Bell MT">VIEW/UPDATE Client</font></a></td></tr> <tr><td align="center"><a href="ShowNominee"><font color="white" font face="Bell MT">VIEW/UPDATE Nominee</font></a></td></tr> <tr><td align="center"><a href="ShowDonor"><font color="white" font face="Bell MT">VIEW/UPDATE Donors</font></a></td></tr> <tr><td align="center"><a href="ShowDonation"><font color="white" font face="Bell MT">VIEW/UPDATE Donations</font></a></td></tr> <tr><td align="center"><a href="ShowOrganization"><font color="white" font face="Bell MT">VIEW/UPDATE Organization</font></a></td></tr> <tr><td align="center"><a href="ShowBorrowing"><font color="white" font face="Bell MT">VIEW/UPDATE Borrowings</font></a></td></tr> <tr><td align="center"><a href="ShowAccount"><font color="white" font face="Bell MT">VIEW/UPDATE Account</font></a></td></tr> <tr><td align="center"><a href="ShowClienLoantDetails"><font color="white" font face="Bell MT">VIEW/UPDATE Client Loan Details</font></a></td></tr> <tr><td align="center"><a href="ShowRepayment"><font color="white" font face="Bell MT">VIEW/UPDATE Repayment</font></a></td></tr> <tr><td align="center"><a href="ShowTransactionReport"><font color="white" font face="Bell MT">Client Transaction Report</font></a></td></tr> <tr><td align="center"><a href="DonorsRecord"><font color="white" font face="Bell MT">Donors
Page 82

T.Y.BSc.I.T
Report</font></a></td></tr>

Microfinance

<tr><td align="center"><a href="ShowRepaymentRecord"><font color="white" font face="Bell MT">Client Repayment Report</font></a></td></tr> <tr><td align="center"><a href="OrganizationReport"><font color="white" font face="Bell MT">Organization Report</font></a></td></tr>

<tr><td align="center"><a href="HomePage.jsp"><font color="white" font face="Bell MT">LogOut</font></a></td></tr>

<% } %> </font>

DBConnection:package Microfinance.utility;

import java.sql.Connection; import java.sql.DriverManager; public class DBConnection {

Connection con = null;

public Connection createConnection() throws Exception { String url = "jdbc:mysql://localhost:3306/MFI"; String driver = "com.mysql.jdbc.Driver";
Page 83

T.Y.BSc.I.T
String username = "root"; String password = "admin"; Class.forName(driver); con = DriverManager.getConnection(url, username, password); return con; }

Microfinance

public void closeConnection() throws Exception { con.close(); } }

DonorsDetails.jsp

<%@page import="Microfinance.utility.UniqueId "%> <html> <head> <title>Donor's Details</title> </head> <body vlink="orange" bgcolor="black "> <form method="post" action="DonorsDetailsAdder"> <table height="30%" width="100%" align="center" background="images/res_4.jpg"> <tr > <td ><jsp:include page="Header.jsp" /></td> </tr>
Page 84

T.Y.BSc.I.T

Microfinance

</table> <table height="2%" width="100%"> <tr><td><hr color="white" size="2%" width="100%"></td></tr> </table> <table border="1" color="white" align="left" height="80%" width="20%" rules="rows" cellpadding="5" colspan="5" CellSpacing="2" background="images/4.jpg"> <tr> <td><jsp:include page="OperatorSidePanel.jsp" /></td> </tr> </table> <table color="white" height="100%" width="75%" align="right" > <tr> <td> <table width="100%" > <tr> <TR> <TD> <center><font color='white' font face='Bell MT'><h1>Donor's Information</h1></font>

<table align="center"> <tr> <td align="left" valign="top"><font color='white' font face='Bell MT'>Donor's ID</font> </td> <td align="left" valign="top"><input type="text" name="txtDonorsID"
Page 85

T.Y.BSc.I.T
value="<%= (new UniqueId()).getDonorsId()%>" disabled></td>

Microfinance

<input type="hidden" name="txtDonorsID" value="<%= (new UniqueId()).getDonorsId()%>" > </tr> <tr> <td align="left" valign="top"><font color='white' font face='Bell MT'>Donor's Name:</font> </td> <td align="left" valign="top"><input type="text" name="txtDonorsName"></td> </tr> <tr> <td align="left" valign="top"><font color='white' font face='Bell MT'>Donor's Address</font></td> <td align="left" valign="top"><textarea name="taAddress"></textarea></td> </tr> <tr> <td align="left" valign="top"><font color='white' font face='Bell MT'>Donor's Contact No</font></td> <td align="left" valign="top"><input type="text" name="txtContact"></td> </tr> <tr> <td align="left" valign="top"><font color='white' font face='Bell MT'>Donor's Fax No</font></td> <td align="left" valign="top"><input type="text" name="txtFaxNo"></td> </tr> <tr> <td align="left" valign="top"><font color='white' font face='Bell MT'>Donor's Email_ID</font></td>

Page 86

T.Y.BSc.I.T

Microfinance
<td align="left" valign="top"><input type="text" name="txtEmailID"></td> </tr> <tr> <td align="left" valign="top"><font color='white' font face='Bell MT'>Donor's

Website</font></td> <td align="left" valign="top"><input type="text" name="txtWebsite"></td> </tr> </table> </center> </TD> </TR> <tr> <td align="center" colspan="2" valign="top"><input type="submit" value="Save" name="btnSave"> &nbsp; <input type="reset" value="Clear" name="btnClear"> </td> </tr> </table> </form> </td> </tr> </table> </td> </tr> </table> </body> </html>

Page 87

T.Y.BSc.I.T
DonorsDetailsAdder:-

Microfinance

package Microfinance.servlet;

import Microfinance.dao.DonorsMasterDAO; import Microfinance.entity.DonorsMaster; import Microfinance.utility.MicrofinanceConstants; import Microfinance.utility.UniqueId; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

public class DonorsDetailsAdder extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { System.out.println();
Page 88

T.Y.BSc.I.T

Microfinance

String strDonorsID = request.getParameter("txtDonorsID"); String strDonorsName = request.getParameter("txtDonorsName"); String strDonorsAddress = request.getParameter("taAddress"); String strDonorsTelNo = request.getParameter("txtContact"); String strDonorsFaxNo = request.getParameter("txtFaxNo"); String strDonorsEmailID = request.getParameter("txtEmailID"); String strDonorsWebSite = request.getParameter("txtWebsite");

DonorsMaster dm = new DonorsMaster();

dm.setDonorsId(strDonorsID); dm.setDonorsName(strDonorsName); dm.setDonorsAddress(strDonorsAddress); dm.setDonorsTelNo(strDonorsTelNo); dm.setDonorsFaxNo(strDonorsFaxNo); dm.setDonorsEmailId(strDonorsEmailID); dm.setDonorsWebsite(strDonorsWebSite);

DonorsMasterDAO dao = new DonorsMasterDAO();

boolean status = dao.add(dm);

if(status) {
Page 89

T.Y.BSc.I.T
UniqueId uid = new UniqueId();

Microfinance

String id = strDonorsID.replaceAll(MicrofinanceConstants.PRE_DONOR, ""); uid.updateDonorsId(Integer.parseInt(id));

request.setAttribute("status", "Donors details added successfully."); } else { request.setAttribute("status", "<font color='red'>Unable to add Donors Details Due To Some Internal Errors.</font>"); } RequestDispatcher rd = request.getRequestDispatcher("RegardsPage.jsp"); rd.forward(request, response); return; } catch(Exception e) { System.out.println(e.getMessage()); e.printStackTrace(); } finally { out.close(); } } }

Page 90

T.Y.BSc.I.T
DonorsMaster.java

Microfinance

package Microfinance.entity;

import java.io.Serializable; public class DonorsMaster implements Serializable { private String DonorsId; private String DonorsName; private String DonorsAddress; private String DonorsTelNo; private String DonorsFaxNo; private String DonorsEmailId; private String DonorsWebsite;

public String getDonorsAddress() { return DonorsAddress; }

public void setDonorsAddress(String DonorsAddress) { this.DonorsAddress = DonorsAddress; }

Page 91

T.Y.BSc.I.T
public String getDonorsEmailId() { return DonorsEmailId; }

Microfinance

public void setDonorsEmailId(String DonorsEmailId) { this.DonorsEmailId = DonorsEmailId; }

public String getDonorsFaxNo() { return DonorsFaxNo; }

public void setDonorsFaxNo(String DonorsFaxNo) { this.DonorsFaxNo = DonorsFaxNo; }

public String getDonorsId() { return DonorsId; }

Page 92

T.Y.BSc.I.T
public void setDonorsId(String DonorsId) { this.DonorsId = DonorsId; }

Microfinance

public String getDonorsName() { return DonorsName; }

public void setDonorsName(String DonorsName) { this.DonorsName = DonorsName; }

public String getDonorsTelNo() { return DonorsTelNo; }

public void setDonorsTelNo(String DonorsTelNo) { this.DonorsTelNo = DonorsTelNo; }

Page 93

T.Y.BSc.I.T
public String getDonorsWebsite() { return DonorsWebsite; }

Microfinance

public void setDonorsWebsite(String DonorsWebsite) { this.DonorsWebsite = DonorsWebsite; } }

DonorsMasterDAO.java

package Microfinance.dao;

import Microfinance.entity.DonorsMaster; import Microfinance.utility.DBConnection; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; public class DonorsMasterDAO { public boolean add(DonorsMaster dm)throws Exception {
Page 94

T.Y.BSc.I.T

Microfinance

String query = "INSERT INTO DonorsMaster(DonorsId,DonorsName,DonorsAddress,DonorsTelNo,DonorsFaxNo,DonorsEmailId,DonorsWeb site) VALUES(?,?,?,?,?,?,?)"; DBConnection db = new DBConnection(); Connection con = db.createConnection(); PreparedStatement ps = con.prepareStatement(query); ps.setString(1,dm.getDonorsId()); ps.setString(2,dm.getDonorsName()); ps.setString(3,dm.getDonorsAddress()); ps.setString(4,dm.getDonorsTelNo()); ps.setString(5,dm.getDonorsFaxNo()); ps.setString(6,dm.getDonorsEmailId()); ps.setString(7,dm.getDonorsWebsite()); int result = ps.executeUpdate(); db.closeConnection(); if(result > 0) { return true; } else { return false; } } public boolean update(DonorsMaster dm)throws Exception {
Page 95

T.Y.BSc.I.T

Microfinance

String query = "UPDATE DonorsMaster SET DonorsName = ?,DonorsAddress = ?,DonorsTelNo = ?,DonorsFaxNo = ?,DonorsEmailId = ?,DonorsWebsite = ? WHERE DonorsId = ?"; DBConnection db = new DBConnection(); Connection con = db.createConnection(); PreparedStatement ps = con.prepareStatement(query); ps.setString(1,dm.getDonorsName()); ps.setString(2,dm.getDonorsAddress()); ps.setString(3,dm.getDonorsTelNo()); ps.setString(4,dm.getDonorsFaxNo()); ps.setString(5,dm.getDonorsEmailId()); ps.setString(6,dm.getDonorsWebsite()); ps.setString(7,dm.getDonorsId()); int result = ps.executeUpdate(); db.closeConnection(); if(result > 0) { return true; } else { return false; } } public boolean delete(String id)throws Exception {

Page 96

T.Y.BSc.I.T
String query = "DELETE FROM DonorsMaster WHERE DonorsId = ?"; DBConnection db = new DBConnection(); Connection con = db.createConnection(); PreparedStatement ps = con.prepareStatement(query); ps.setString(1,id); int result = ps.executeUpdate(); db.closeConnection(); if(result > 0) { return true; } else { return false; } } public DonorsMaster getById(String id)throws Exception {

Microfinance

String query = "SELECT DonorsId,DonorsName,DonorsAddress,DonorsTelNo,DonorsFaxNo,DonorsEmailId,DonorsWebsite FROM DonorsMaster WHERE DonorsId = ?"; DBConnection db = new DBConnection(); Connection con = db.createConnection(); PreparedStatement ps = con.prepareStatement(query); ps.setString(1,id); ResultSet rs = ps.executeQuery();
Page 97

T.Y.BSc.I.T
DonorsMaster dm = null; if(rs.next()) { dm = new DonorsMaster(); dm.setDonorsId(rs.getString("DonorsId")); dm.setDonorsName(rs.getString("DonorsName")); dm.setDonorsAddress(rs.getString("DonorsAddress")); dm.setDonorsTelNo(rs.getString("DonorsTelNo")); dm.setDonorsFaxNo(rs.getString("DonorsFaxNo")); dm.setDonorsEmailId(rs.getString("DonorsEmailId")); dm.setDonorsWebsite(rs.getString("DonorsWebsite")); } db.closeConnection(); return dm; } public DonorsMaster[] getAll() throws Exception {

Microfinance

String query = "SELECT DonorsId,DonorsName,DonorsAddress,DonorsTelNo,DonorsFaxNo,DonorsEmailId,DonorsWebsite FROM DonorsMaster"; DBConnection db = new DBConnection(); Connection con = db.createConnection(); PreparedStatement ps = con.prepareStatement(query); ResultSet rs = ps.executeQuery(); ArrayList al = new ArrayList(); while(rs.next())
Page 98

T.Y.BSc.I.T
{ DonorsMaster dm = new DonorsMaster(); dm.setDonorsId(rs.getString("DonorsId")); dm.setDonorsName(rs.getString("DonorsName")); dm.setDonorsAddress(rs.getString("DonorsAddress")); dm.setDonorsTelNo(rs.getString("DonorsTelNo")); dm.setDonorsFaxNo(rs.getString("DonorsFaxNo")); dm.setDonorsEmailId(rs.getString("DonorsEmailId")); dm.setDonorsWebsite(rs.getString("DonorsWebsite")); al.add(dm); } db.closeConnection(); Object arrObj[] = al.toArray(); DonorsMaster arrDonorsMaster[] = new DonorsMaster[arrObj.length]; for(int i = 0;i< arrObj.length;i++) { arrDonorsMaster[i] = (DonorsMaster)arrObj[i]; } return arrDonorsMaster; } }

Microfinance

Page 99

T.Y.BSc.I.T
DonorsReport.jsp:<%@page import="Microfinance.entity.DonorsMaster"%>

Microfinance

<% Object obj = request.getAttribute("allDonors"); DonorsMaster dm[] = (DonorsMaster[]) obj; %> <html> <head> <title>Donor's Details</title> </head> <body vlink="orange" bgcolor="black "> <form method="post" action="DonorsDetailsAdder">

<table height="30%" width="100%" align="center" background="images/res_4.jpg"> <tr > <td ><jsp:include page="Header.jsp" /></td> </tr>

</table> <table height="2%" width="100%"> <tr><td><hr color="white" size="2%" width="100%"></td></tr> </table> <table border="1" color="white" align="left" height="80%" width="20%" rules="rows" cellpadding="5"
Page 100

T.Y.BSc.I.T
colspan="5" CellSpacing="2" background="images/4.jpg"> <tr> <td><jsp:include page="OperatorSidePanel.jsp" /></td> </tr> </table> <table color="white" height="100%" width="75%" align="right" > <tr> <td> <table width="100%" > <tr> <TR> <TD>

Microfinance

<center><font color='white' font face='Bell MT'><h1>Donor's Information</h1></font> <table align="center" bgcolor="orange"> <% if(dm.length > 0) { %>

<tr> <th>Sr. No</th> <th>DonorsId</th> <th>DonorsName</th> <th>DonorsAddress</th> <th>DonorsTelNo</th>


Page 101

T.Y.BSc.I.T
<th>DonorsFaxNo</th> <th>DonorsEmailId</th> <th>DonorsWebsite</th> </tr> <% for (int i = 0; i < dm.length; i++) { %> <tr> <td align="center"><%= (i+1) %></td> <td align="left"><%= dm[i].getDonorsId() %></td>

Microfinance

<td align="left"><%= dm[i].getDonorsName() %></td> <td align="left"><%= dm[i].getDonorsAddress() %></td> <td align="left"><%= dm[i].getDonorsTelNo() %></td> <td align="left"><%= dm[i].getDonorsFaxNo() %></td> <td align="left"><%= dm[i].getDonorsEmailId() %></td> <td align="left"><%= dm[i].getDonorsWebsite() %></td> </tr> <% } %> </table> <% } else
Page 102

T.Y.BSc.I.T
{ %> No Donors to display . <% } %> </center> </form> </td> </tr> </table> </td> </tr> </table>

Microfinance

</body> </html>

Page 103

T.Y.BSc.I.T

Microfinance

Testing

Page 104

T.Y.BSc.I.T

Microfinance

Test Report
Sr. Test For Action performed Loading Input

Expected Result
User Interface Will Display Login to User Account Module will Select

Obtained Result User Interface Displayed

Remark Type of
Testing Black Box Testing

Level Of Testing Beta Testing

Loading User Interface

-------

Success

User Login 2

Loading

Username, password

Logged in

Success

Black Box Testing Black Box Testing Black Box Testing Black Box Testing Black Box Testing

Beta Testing

Module Selection

Module Opens

Appropriate Details

Module Selected

Success

Beta Testing

Menu Selection

Menu Opens

-------

Menu Will select User Details Will be Displayed User Details Will be Updated It Will be Registered

Menu selected

Success

Beta Testing

View User Details Update User Details

Display User Details Display User Details With Update Form Load Registration Form

-------

User Details Displayed User Details Updated

Success

Beta Testing

Selecting the Field for update

Success

Beta Testing

Registration

Enter Registration Details

Registered

Success

Black Box Testing

Beta Testing

View Report

Loading Report Category

Select Category

Report will Generate

Report Generated

Success

Black Box Testing

Beta Testing

Page 105

T.Y.BSc.I.T

Microfinance

Annexure

Page 106

T.Y.BSc.I.T

Microfinance

Why Java Server Pages?


Java Server Pages(JSP), for short---is a Java-based technology that simplifies the process of developing dynamic web sites. JSP gives you a way to define how dynamic content should be introduced into an otherwise static page, such as an unchanging HTML file. JSP is flexible; it adapts to the needs of developers and organizations. For some, JSP is a simple way to mix JAVA code and HTML text to produce dynamic web pages. For others, it helps separate JAVA code from presentation text, giving non-programmers a way to produce functional and dynamic web pages. JSP is not even limited to the production of dynamic HTML-based content. Because JSP is based on widely accepted standards, products from numerous vendors support it. Like Java itself, JSP isnt dependent on a particular platform. Several web-specific technologies have been designed to allow programmers to design sites that respond dynamically to request for URLs from browsers. JSP is one such technology, and we can get a better sense how JSP is useful if we look at a few of its predecessors and competitors.

The Advantages of JSP:


Versus Active Server Pages (ASP):ASP is a computing technology from Microsoft. The advantages of JSP are Twofold. First, the dynaminc part is written in Java. VB Script or another ASP:Specific language, so it is more powerful and better suited to complex applications that require reusable components. Second, JSP is portable to other operating systems and Web Servers; you arent locked into Windows NT/2000 and IIS.

Page 107

T.Y.BSc.I.T
Static HTML:-

Microfinance

Regular HTML, of course, cannot contain dynamic information, so static HTML pages cannot be based upon user input or server-side data sources. JSP is so easy and convenient that it is quite reasonable to argument HTML pages that only benefit slightly by the insertion of dynamic data. Previously, the difficulty of using dynamic data precluded its use in all but the most valuable instances.

Page 108

T.Y.BSc.I.T

Microfinance

Why MySQL?
Features of MySQL:Internals and Portability: Written in C and C++. Tested with a broad range of different compilers. Works on many different platforms. The server is available as a separate program for use in a client/server networked environment. It is also available as a library that can be embedded(linked) into standalone applications. Such applications can be used in isolation or in environments where no network is available.

Datatypes: Many data types: signed/ unsigned integers 1, 2, 3,4 and 8 bytes LONG, FLOAT,DOUBLE, CHAR, text, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, ENUM.. Fixed-length and variable-length records. Security: A privilege and password system that is very flexible and secure,and that allows hostbased verification. Passwords are secure because all password traffic is encrypted when you connect to a server. Scalability and Limits: Handles large databases. UP to 64 indexes per table are allowed. Connectivity: Clients can connect to MySQL Server using protocols: Clients can connect using TCP/IP sockets on any platform.
Page 109

T.Y.BSc.I.T

Microfinance

On Windows systems in the NT family(NT, 2000, XP, 2003 or Vista), clients can connect using named pupes if the server is started with the enable-named-pipes option. MySQL client programs can be written in many languages. A client library written in C is available for clients written in C and C++, or for any language that provides C bindings. APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby and Tcl are available, allowing MySQL clients to be written in many languages. The Connector/ODBC (MyODBC) interface provides MySQL support for client programs that use ODBD (Open Database Connectivity) Connections. Localization: The server can provide error messages to clients in many languages. Full support for several different character sets. All data is saved in the chosen character set.

Page 110

T.Y.BSc.I.T

Microfinance

User Manual
Operator:1. For New Client Registration:Click on Client Registration menu. Enter the Client details, its Nominee details, its Account details and the Loan details by selecting appropriate Client ID and its Account ID. 2. For New Donors Details:Click on Enter Donors Details. 3. For Donation Details:Click on Enter Donation Details. Select appropriate Donor. 4. To VIEW/UPDATE Client Details:Select the appropriate Client and update or delete its details. 5. To Enter Transaction Details:Select appropriate Client ID and its Account ID and enter the Transaction amount by selecting appropriate Transaction Type. 6. To View Transaction Report:Select Client ID for which the transaction is to be shown.

Administrator:1. To Enter New Service Details:First enter Service details and then enter new Loan details by selecting latest Service ID from the ComboBox. 2. To VIEW/UPDATE Service, Loan Details:Select appropriate Client ID and update or delete its details. 3. To View Report:Select the appropriate report which has to be displayed. 4. To Enter New Employee Details:Click on Enter New Employee Details.
Page 111

T.Y.BSc.I.T
Manager:1. To View Most Productive Employee:Select most productive employee. 2. To View Report:Select the appropriate report which has to be displayed.

Microfinance

Page 112

T.Y.BSc.I.T

Microfinance

Conclusion
An attempt is made in all its earnest towards the successful completion of the project. This system was verified with valid as well as with invalid data. This system is user friendly since it has been developed in NetBeans IDE 6.5, a successful GUI environment. Since the connection can be extended to any database. The control will be more powerful. Connecting it to any type of database extends the development control. Any suggestions for future development of the system are welcome. Upgrading the system can be done without affecting the proper functioning of system.

Page 113

T.Y.BSc.I.T

Microfinance

Bibliography

The Complete Reference Java2 Herbert Schildt

The Complete Reference SQL James Groff & Paul Weinberg

HINDUSTHAN MICROFINANCE PVT. LTD www.hindustanmfi.com

Microfinance Hub http://microfinancehub.com/2010/02/12/frequently-asked-questions-about-microfinance/

www.mixmarket.org

Microfinance Global Scenario

Page 114