You are on page 1of 99

MAHARASHTRA STATE BOARD OF

TECHNICAL EDUCATION (MUMBAI)


A
PROJECT REPORT
ON

“CharityLink: NGO Collaboration Welfare Portal’’


SUBMITTED BY
ABHIMAN JAVRE
SHIVAM SHIRSATH
SHABDAJ MESHRAM
NILESH PATIL

UNDER THE GUIDANCE OF

Prof. R.V. Deshpande

DEPARTMENT OF COMPUTER ENGINEERING


SANDIP POLYTECHNIC, NASHIK
(2023-2024)
SANDIP FOUNDATION’S
SANDIP POLYTECHNIC, NASHIK
A/P: Mahiravani – 422213, Tal &Dist: Nashik
Website: http://www.sandipfoundation.org
E-mail: principal@sandippolytechnic.org Tel: (02594) 22571/72/73

Certificate
This is to certify that the project report entitled “CharityLink: NGO
Collaboration Welfare Portal” has been successfully completed by:

A. Abhiman Javre
B. Shivam Shirsath
C. Shabdaj Meshram
D. Nilesh Patil

as partial fulfilment of Diploma course in Computer Engineering under


the Maharashtra State Board of Technical Education, Mumbai during
the academic year 2023-2024.
The said work has been assessed by us and we are satisfied that the
same is up to the standard envisaged for the level of the course. And that
the said work may be presented to the external examiner.

Prof. R.V. Deshpande Prof. V.B. Ohal


PROJECT GUIDE HOD

(Name & Sign of External Examiner) Prof. P.M. Dharmadhikari


PRINCIPAL
ACKNOWLEDGEMENT

With deep sense of gratitude, we would like to thanks all the people who have lit
our path with their kind guidance. We are very grateful to these intellectuals who did
their best to help during our project work.
It is our proud privilege to express deep sense of gratitude to, Prof. P.M.
Dharmadhikari, Principal of Sandip Polytechnic, Nashik, for his comments and kind
permission to complete this project. We remain indebted to Prof. V.B. Ohal, H.O.D
Computer Engineering Department for their timely suggestion and valuable
guidance. The special gratitude goes my guide Prof. R.V. Deshpande and staff
members, technical staff members of Computer Engineering Department for their
expensive, excellent and precious guidance in completion of this work. We thank to all
the colleagues
for their appreciable help for our working project.
With various industry owners or lab technicians to help, it has been our endeavor to
throughout our work to cover the entire project work.
We are also thankful to our parents who providing their wishful support for our
project completion successfully.
And lastly we thanks to our all friends and the people who are directly or indirectly
related to our project work.

ABHIMAN JAVRE
SHIVAM SHIRSATH
SHABDAJ MESHRAM
NILESH PATIL
add
INDEX

Page
Chapter No. Particular
No.
Abstract 1
1 Preamble 2
1.1 Introduction 2
1.2 Review of Literature 3
1.3 Problem Statement 4
1.4 Proposed System 5

1.4.1 Feasibility Study 6

2 System Architecture 8
2.1 Methodology 8
2.2 Modules 10

3 Software Requirement Specification 11


3.1 Requirements of System 11
3.1.1 Minimum specification requirement 11
3.1.2 Recommended specification requirement 11
3.2 Data Requirement 12
3.3 Functional Requirement 12
3.4 External Requirement 13

4 System Modeling 14
4.1 Dataflow Diagrams 15
4.2 UML Diagram 18

5 Implementation Details 23
5.1 Implementation 23

5.2 Language Used 23


5.3 Platform Used 26
5.4 Time & Cost 28

6 Coding 30

7 Testing 44
7.1 Unit Testing 44
7.2 Integration Testing 44
7.3 Validation Testing 45
7.4 GUI Testing 45
7.5 Test Cases and Results 46

8 Conclusion 53
8.1 Advantages 54

9 Future Scope 55

10 References 56

11 Appendix A 57
11.1 SCREENSHOTS 57
FIGURE INDEX

Page
Figure No. Particular
No.
2.1 Waterfall Model of Software Development 08
4.1.1 Level 0 DFD 15
4.1.2 Level 1 DFD 15
4.1.3 Level 2 DFD 16
4.2.1 Sequential diagram 19
4.2.2 Use Case Diagram 21
4.2.3 Activity Diagram 22
11.1.1 Index Page 57
11.1.2 Admin Login Page 58
11.1.3 User Login Page 59
11.1.4 NGO Login Page 59
11.1.5 Admin Dashboard 61
11.1.6 NGO Dashboard 63
11.1.7 User Dashboard 64
11.1.8 DATABASE TABLE’S 65

TABLE INDEX

Page
Table No. Particular
No.
7.5.1 TEST CASE FOR ADMIN LOGIN (VALID DETAILS) 47
7.5.2 TEST CASE FOR ADMIN LOGIN (INVALID 47
DETAILS)
7.5.3 TEST CASE FOR NGO LOGIN (VALID DETAILS) 48
7.5.4 TEST CASE FOR NGO LOGIN (INVALID DETAILS) 48
7.5.5 TEST CASE FOR USER LOGIN (VALID DETAILS) 49
7.5.6 TEST CASE FOR USER LOGIN (INVALID DETAILS) 49
7.5.7 TEST CASE FOR NGO REGISTRTION 50
7.5.8 TEST CASE FOR USER REGISTRATION 50
7.5.9 TEST CASE FOR VIEW MONEY REQUEST 51
7.5.10 TEST CASE FOR DONATING MONEY 51
7.5.11 TEST CASE FOR LOGOUT BUTTON 52
FUNCTIONALITY FOR NGO
7.5.12 TEST CASE FOR LOGOUT BUTTON 52
FUNCTIONALTIY FOR USER
ABSTRACT

We have Designed a Web portal for Connecting NGO’S that is very useful
platform for needy people for fastest help. Such Needy people will visit our web
portal and ask for help. Our Motive is to connect the different NGO’s and ask them to
work together. In our web portal there will be 3 modules which will work. 1 st module
is of admin, 2nd is of NGO module, 3rd module is for user. So, by this project we can
do collaboration of different NGOs and ask them to work together for the help of
society. As many people do not get help as early as possible because the NGO will be
in their different work so if more than 1 NGO will be at one platform then user can get
help from NGO so we have created this web platform same as social media.

KEYWORDS: Admin, NGO, User, C h a r i t y Donation, Chatbox.

Department of Computer Engineering, Sandip Polytechnic, Nashik 1


CHAPTER 1: PREMABLE

1.1 INTRODUCTION

In a world characterized through numerous social demanding situations,


the function of Non-Governmental Organizations (NGOs) in addressing the needs of the
inclined and marginalized cannot be overstated. However, the effectiveness of man or
woman NGOs often faces constraints due to the compartmentalized nature in their
operations and the wonderful cognizance areas each enterprise pursues. Recognizing the
capacity for synergy and stepped forward efficiency, we present a groundbreaking web
portal designed to foster collaboration amongst NGOs, thereby amplifying their
collective impact on society. Our innovative platform serves as a dynamic bridge
connecting NGOs, administrators, and users.

Unlike conventional processes, in which NGOs operate in isolation, our


net portal establishes a cohesive atmosphere that facilitates seamless communiqué and
collaboration amongst agencies with shared targets. The net portal consists of 3
interconnected modules: the executive module, the NGO module, and the user module.
The administrative module serves because the manipulate center, overseeing the
platform's functionality and ensuring a harmonious collaboration between taking part
NGOs. The NGO module offers a devoted space for businesses to exhibit their know-
how, tasks, and regions of consciousness, fostering surroundings conducive to mutual
know-how and collaboration. Finally, the person module empowers people in need to
connect with multiple NGOs concurrently, ensuring a quicker and greater powerful
response to their requests.

The motivation at the back of this venture stems from the realization that
timely help is frequently hindered through the fragmented nature of NGO operations. By
bringing multiple NGOs onto a shared platform, we purpose to take away the ones silos
and create a virtual region in which companies can pool property, percentage
information, and together cope with the multifaceted demanding situations faced by
means of society.
Department of Computer Engineering, Sandip Polytechnic, Nashik 2
In essence, our net portal mirrors the shape of social media systems, facilitating verbal
exchange, records sharing, and collaboration on a committed place designed mainly for
the social welfare zone.

Through this revolutionary approach, we aspire to create a greater agile and


responsive community of NGOs, in the end improving the speed and overall
performance with which they deal with the urgent needs of those they goal to serve. This
studies paper delves into the format, implementation, and capability impact of our
collaborative net portal, exploring the challenges addressed, technological intricacies
concerned, and the wider implications for the landscape of social welfare.

As we navigate the complexities of the NGO sector, we envision our


platform as a catalyst for splendid trade, fostering a united the front towards societal
demanding situations thru better collaboration and collective movement. Charity link-
NGO collaboration in welfare portal development is a promising avenue for promoting
social change and addressing social issues. The benefits of this collaboration are
significant, but the challenges must be addressed to ensure the effectiveness and
sustainability of the welfare portals. This abstract highlight the need for a more holistic
and strategic approach to charity link-NGO collaboration in welfare portal development,
and calls for further research and action in this area.

1.2 REVIEW OF LITERATURE

This chapter comprises of the literature review and theoretical


background of the project. The literature review deals basically with related project
written by other researchers, the difficulties they encountered, limitations and
modifications that should be made.The panorama of non-profit agencies (NGOs) has
witnessed a transformative shift in latest years, with an increasing emphasis on
leveraging digital structures to decorate collaboration, verbal exchange, and general
effectiveness. This literature overview pursuits to provide a complete overview of
current studies, frameworks, and technology related to

Department of Computer Engineering, Sandip Polytechnic, Nashik 3


the development and implementation of internet portals designed for connecting NGOs,
in particular in the context of social welfare initiatives.

1. The need for collaboration amongst NGOs to address complicated social issues
has been a recurring theme in scholarly discourse. Studies through Smith et al.
(2017) and Johnson and Williams (2019) emphasize the potential effect of
collaborative efforts, highlighting the blessings of shared assets, knowhow trade,
and coordinated motion. These findings lay the foundation for expertise the
underlying ideas that inform our collaborative web portal.

2. Recognizing the barriers to effective collaboration is crucial for the success of


any collaborative platform. Research by Thomas and Rodriguez (2016) and
Kumar et al. (2021) identifies challenges such as information silos, varying
organizational structures, and concerns related to data security. Our literature
review synthesizes these challenges to inform the design considerations and
functionalities of our web portal.

3. Drawing inspiration from the success of social media platforms, studies by Jones
and Brown (2018) and Williams et al. (2019) highlight the benefits of adopting a
social media model for NGO collaboration. The concept of interconnected
modules mirroring social media functionalities becomes a key aspect of our web
portal design, promoting ease of use, accessibility, and familiarity.

4. Evaluation of the impact and effectiveness of collaborative platforms is an


integral aspect of understanding their potential. Works by Chen et al. (2017) and
Kim and Lee (2022) provide insights into methodologies for assessing the
success of such initiatives, guiding our research in developing metrics to measure
the societal impact of the NGO collaboration facilitated by our web portal.

1.3 PROBLEM STATEMENT

Department of Computer Engineering, Sandip Polytechnic, Nashik 4


Charity link-NGO collaboration through the development of welfare
portals has emerged as a promising solution to address this issue. However, challenges
such as a lack of funding and resources, communication and coordination issues, and
concerns regarding intellectual property and data privacy hinder the effectiveness and
sustainability of these portals. To overcome these challenges, a holistic and strategic
approach is needed, including clear partnership agreements, a governance structure, and
a participatory and inclusive approach to design and implementation. By addressing
these challenges, charity link-NGO collaboration can promote social change and address
social issues more effectively and sustainably.

1.4 PROPOSED SYSTEM

The proposed system for the Charity Link-NGO Collaboration Welfare


Portal aims to provide a platform for charitable organizations (Charity Link) and non-
governmental organizations (NGOs) to collaborate on social welfare initiatives while
ensuring data privacy and security for users, promoting accessibility and inclusivity for
underserved communities, and facilitating resource mobilization efforts.Users will be
required to register and provide basic information such as name, email address, and
password. Upon registration, users will be authenticated through email verification.Each
user will have a personalized dashboard that displays their profile information, recent
activities on the portal, notifications about upcoming events or initiatives they can
participate in or support.

Users will be able to search for specific NGOs or Charity Links based on
location, type of initiative, or other criteria.Users will be able to communicate with other
users or organizations through messaging or discussion forums, and collaborate on joint
initiatives.Users will be able to create fundraising campaigns, set donation goals, and
manage donations received.The system will implement robust data privacy and security
measures to protect user data and prevent unauthorized access. This will include
encryption of sensitive data, secure storage of user data, and regular backups.The system
will be designed to be accessible and inclusive for users with disabilities or belonging to
marginalized communities.

Department of Computer Engineering, Sandip Polytechnic, Nashik 5


This will include support for assistive technologies such as screen readers,
and the provision of resources and information in multiple languages.The system will
enable users to track progress towards their goals through robust analytics and reporting
features. This will include the generation of impact reports that can be shared with
stakeholders or funding agencies.The proposed system for the Charity Link-NGO
Collaboration Welfare Portal aims to provide a comprehensive platform for charitable
organizations and NGOs to collaborate on social welfare initiatives, while ensuring data
privacy and security, promoting accessibility and inclusivity, and facilitating resource
mobilization efforts.

1.4.1 FEASTABLE STUDY

Analysis is the process of finding the best solution to the problem. System
analysis is the process by which we learn about the existing problems, define objects and
requirements and evaluates the solutions. It is the way of thinking about the organization
and the problem it involves, a set of technologies that helps in solving these problems.
Feasibility study plays an important role in system analysis which gives the target for
design and development.

Feasibility Study

A key part of the preliminary investigation that reviews anticipated costs


and benefits and recommends a course of action based on operational, technical,
economic, and time factors. The purpose of the study is to determine if the systems
request should proceed further.

 Technical Feasibility: The system being developed is economic. It is cost


effective in the sense that it has eliminated the registered work completely.
The

Department of Computer Engineering, Sandip Polytechnic, Nashik 6


system is also time effective because the calculations are automated which are
made at the end of the paper or as per the student requirement. The result
obtained contains fewer errors and are highly accurate as the data is required.

 Economic feasibility: The technical requirement for the system is economic and
it does not use any other additional Hardware and software.

 Behavioural Feasibility: The system working is quite easy to use and learn due
to its simple but attractive interface. User requires no special training for
operating the system.

Analysis

Technical Analysis The performance of the system can be increased if the


technical analysis is done well. The systems hardware requirements must be taken into
consideration. The software must go hand in hand with the hard ware else the efficiency
of the system deteriorates

 Changes to bring in the system: All changes should be in positive direction,


there will be increased level of efficiency and better customerservice.

 Required skills: Platforms tools used this project are widely used.

 Acceptability: The structure of the system is kept feasible enough so that there
should not be any problem from the users point of view

Department of Computer Engineering, Sandip Polytechnic, Nashik 7


CHAPTER 2: SYSTEM ARCHITECTURE

2.1 METHODOLOGY

In this model we used waterfall model for development of the web application.

SDLC Model:

1. Planning:
It is performed by the senior members of the team with inputs from the customer,
the sales department, market surveys and domain experts. This information is
then used to plan the basic project approach and to conduct product feasibility
study in the economical, operational and technical areas. Planning for the quality
assurance
Department of Computer Engineering, Sandip Polytechnic, Nashik 8
requirements and identification of the risks associated with the project is also
done in the planning stage

2. Defining:
Next step is to clearly define and document the product requirements and get
them approved from the customer or the market analysts.

3. Designing:
Based on the requirements specified in SRS, usually more than one design
approach for the product architecture is proposed and documented. This is
reviewed by all the important stakeholders and based on various parameters as
risk assessment, product robustness, design modularity, budget and time
constraints, the best design approach is selected for the product. A design
approach clearly defines all the architectural modules of the product

4. Building:
The actual development starts and the product is built. The programming code is
generated. If the design is performed in a detailed and organized manner, code
generation can be accomplished without much hassle. The programming
language is chosen with respect to the type of software being developed.

5. Testing:
This stage is usually a subset of all the stages as in the modern SDLC models, the
testing activities are mostly involved in all the stages of SDLC. However, this
stage refers to the testing only stage of the product where product defects are
reported, tracked, fixed and retested, until the product reaches the quality
standards defined in the SRS.

6. Deployment:
Once the product is tested and ready to be deployed it is released formally.

Department of Computer Engineering, Sandip Polytechnic, Nashik 9


2.2 MODULES

 Admin:
a. Login (Email, Password)
b. View NGO List
c. Accept//Reject NGO request (verify document)
d. View all data of users
e. Transaction history

 NGO:
a. Registration
b. Login
c. View fund request of user
d. View other NGO list
e. Message other NGO/ Contact other NGO’s
f. Donate money/funds

 Users:
a. Register
b. Login
c. Request funds (NGO’s)
d. Request other things(food/cloths)
e. Donate
a) Fund (Money)
b) Anything

Department of Computer Engineering, Sandip Polytechnic, Nashik 10


CHAPTER 3: SOFTWARE REQUIREMENT
SPECIFICATION

3.1 SYSTEM REQUIREMENT


3.1.1 MINIMUM SPECIFICATION REQUIREMENT
Windows Mac requirements Linux requirements
requirements
Operating system Windows 7 macOS Sierra 10.12 64-bit Ubuntu
9.04
Debian 8,
Fedora Linux 24

Intel requirement AMD


ryzen
requiement
Processor Intel Pentium 4 Ryzen 3 1300
Memory 2 GB minimum
Screen resolution 1280x1024
Internet Required
connection

3.1.2 RECOMMENDED SPECIFICATION REQUIREMNET


Windows Mac requirements Linux requirements
requirements
Operating Windows 7 macOS 12 (Monterey) 64-bit
system Ubuntu 18.04.1 LTS
Debian 11
Fedora Linux 32

Intel requirements AMD ryzen


requirements
Processor Intel 10 Ryzen 7 1700
Memory 8 GB recommended
Screen 1920x1024
resolution

Department of Computer Engineering, Sandip Polytechnic, Nashik 11


3.2 DATA REQUIREMENTT

To run this application we need Eclipse IDE, Apache Tomcat,


XAMPP Server, MySQL, Java Lang, HTML, JavaScript, CSS in laptop.

3.3 FUNCTIONAL REQUIREMENT


1. REQ-1: Users should be able to create accounts, providing essential
information about their organizations. Secure authentication mechanisms
should be implemented to protect user accounts.
2. REQ-2: Charities and NGOs should have the ability to create detailed
profiles, including information about their mission, projects, geographical
focus, and areas of expertise.
3. REQ-3: Provide a personalized dashboard for each user that displays
relevant information, notifications, collaboration opportunities, and updates.
4. REQ-4: Implement a centralized space where charities and NGOs can
discover potential partners, initiate discussions, and explore collaboration
opportunities.
5. REQ-5: Enable the sharing of various resources, including funds, volunteers,
and materials, through a secure and transparent platform.
6. REQ-6: Tools for initiating, managing, and tracking joint projects. This
includes features for setting project goals, defining milestones, assigning
tasks, and tracking progress.
7. REQ-7: Integrated communication channels such as messaging systems,
discussion forums, and video conferencing to facilitate real-time
communication and collaboration among users.
8. REQ-8: A repository for sharing best practices, research findings, and
success stories. Allow users to contribute and access valuable knowledge
related to their field.
9. REQ-9: Transparent reporting tools that allow charities and NGOs to
showcase the impact of donations. Provide donors with real-time updates on
how their contributions are making a difference.

Department of Computer Engineering, Sandip Polytechnic, Nashik 12


10. REQ-10: Modules and resources for training and capacity building. This
includes e-learning materials, webinars, and workshops to enhance the skills
and knowledge of individuals within the sector.
11. REQ-11: Features that enable charities and NGOs to connect on a global
scale. This may include language support, international collaboration tools,
and a global directory of organizations.

3.4 EXTERNAL REQUIREMNET


No External Requirement

Department of Computer Engineering, Sandip Polytechnic, Nashik 13


CHAPTER 4: SYSTEM MODELING

4.1 DATA FLOW DIAGRAM


Data objects represented by labeled arrows and transformation are
represented by circles also called as bubbles. DFD is presented in a hierarchical fashion
i.e. the first data flow model represents the system as a whole. Subsequent DFD refine
the context diagram (level 0 DFD), providing increasing details with each subsequent
level. The DFD enables the software engineer to develop models of the information
domain & functional domain at the same time. As the DFD is refined into greater levels
of details, the analyst performs an implicit functional decomposition of the system.

At the same time, the DFD refinement results in a corresponding


refinement of the data as it moves through the process that embody the applications. A
context-level DFD for the system the primary external entities produce information for
use by the system and consume information generated by the system. The labeled arrow
represents data objects or object hierarchy

The context diagram is the most abstract data flow representation of a


system. It represents the entire system as a single bubble and. The various external
entities with which the system interacts and the data flows occurring between the system
and the external entities are also represented. The name context diagram is well justified
because it represents the context in which the system is to exist i.e. The external entities
(users) that would interact with the system and specific data items they would be
receiving from the system.

Department of Computer Engineering, Sandip Polytechnic, Nashik 14


2. DFD – level 1

Department of Computer Engineering, Sandip Polytechnic, Nashik 15


3. DFD – Level 2

Department of Computer Engineering, Sandip Polytechnic, Nashik 16


4.2 ER DIAGRAM

Department of Computer Engineering, Sandip Polytechnic, Nashik 17


4.3 UML DIAGRAM

Unified Modelling Language (UML) is a standardized modelling


language used to design a software-based system model. UML includes a set of
graphical diagrams. There are two broad categories of diagrams as:
1. Sequential diagram
2. Behavioral diagram

1. Sequential diagram:
A sequential diagram is a type of interaction diagram in UML
(Unified Modeling Language) that illustrates the interactions between objects or
components in a system over time. It is also known as a sequence diagram or
event diagram.

Sequential diagrams are used to visualize the flow of messages or


events between objects in a system, and to show the order in which these
interactions occur. The vertical axis represents time, and the horizontal axis
represents the objects or components involved in the interactions.

Each object is represented by a box, and the messages or events


exchanged between objects are represented by arrows that point from the sender
to the receiver. The arrows can also be labeled with messages or method calls to
indicate the specific interactions that are occurring.

A Sequence Diagram is an interaction diagram that emphasis the


time ordering of messages; a collaboration diagram is an interaction diagram that
emphasizes the structural organization of the objects that send and receive
messages. Sequence diagrams and collaboration diagrams are isomorphic,
meaning that you can take one and transform it into the other. Sequence diagram
and collaboration diagram are called INTERACTION DIAGRAMS.

Department of Computer Engineering, Sandip Polytechnic, Nashik 18


An interaction diagram shows an interaction, consisting of set of
objects and their relationship including the messages that may be dispatched
among them. A sequence diagram is an introduction that empathizes the time
ordering of messages. Graphically a sequence diagram is a table that shows
objects arranged along the X-axis and messages ordered in increasing time along
the Y- axis.

Department of Computer Engineering, Sandip Polytechnic, Nashik 19


2. Behavioral diagram:

These diagrams are used to represent dynamic aspects of the system.


UML has The following five types of behavioral diagrams :
i. Use case diagram
ii. Activity diagram

i. Use case diagram:


A use case diagram in the Unified Modeling Language (UML) is a
type of behavioral diagram defined by and created from a use-case analysis.
its purpose is to present a graphical overview of the functionality provided by
a system in terms of actors, their goals (represented as use cases), and any
dependencies between those use cases. Use case diagrams are formally
included in two modeling languages defined by the MG, the unified modeling
language (UML) and the systems modeling language.

A Use case is a description of set of sequence of actions


Graphically it is rendered as an ellipse with solid line including only its name.
Use case diagram is a behavioral diagram that shows a set of use cases and
actors and their relationship. It is an association between the use cases and
actors. An actor represents a real-world object. Use case diagrams model
behavior within a system and helps the developers understand of what the
user require. The stick man represents what’s called an actor.

Use case diagram can be useful for getting an overall view of the system
and clarifying who can do and more importantly what they can’t do. Use case
diagram consists of use cases and actors and shows the interaction between
the use case and actors
 The purpose is to show the interactions between the use case and actor.
 To represent the system requirements from user’s perspective.
 An actor could be the end-user of the system or an external system

Department of Computer Engineering, Sandip Polytechnic, Nashik 20


ii. Activity diagram

Activity diagram are the flowcharts, showing the flow of control from
activity to activity. Activity diagrams represent the business and operational work flows
of a system.

An activity diagram is a type of behavior diagram in UML (Unified


Modeling Language) that illustrates the flow of activities or actions within a system. It
provides a graphical representation of the steps involved in a process or workflow and the
order in which those steps occur.

Activity diagrams consist of nodes, edges, and swim lanes. Nodes


represent the activities or actions within the system, while edges represent the flow of
control between the activities. Swim lanes represent different actors or groups involved in
the process.

Department of Computer Engineering, Sandip Polytechnic, Nashik 21


Department of Computer Engineering, Sandip Polytechnic, Nashik 22
CHAPTER 5: IMPLEMENTATION DETAILS

5.1 IMPLEMENTATION

The challenging part was to decide which language should we use


as it is important element to code our program. So, as we are making a web
application and we need to validate all 3 different login form as well as other
user input fields. Thus, this led us to implement PHP and JavaScript. Other
than validation to make the website more intrusive and have a dynamic, for
this we have used CSS and Bootstrap. At last, or out backbone, we have used
html which is a markup language.

5.2 LANGUAGE USED

FRONT-END: -

HTML:
Hypertext Markup Language (HTML) is the standard markup language
for documents designed to be displayed in a Desktop browser. It can be assisted by
technologies such as Cascading Style Sheets (CSS) and scripting languages such as
JavaScript. Desktop browsers receive HTML documents from a Desktop server or from
local storage and render the documents into multimedia Desktop pages.

HTML describes the structure of a Desktop page semantically and


originally included cues for the appearance of the document.HTML elements are the
building blocks of HTML pages. With HTML constructs, images and other objects such
as interactive forms may be embedded into the rendered page.

HTML provides a means to create structured documents by denoting


structural semantics for text such as headings, paragraphs, lists, links, quotes and other
items. HTML elements are delineated by tags, written using angle brackets. Tags such
as
<img /> and <input /> directly introduce content into the page. Other tags such as <p>

Department of Computer Engineering, Sandip Polytechnic, Nashik 23


surround and provide information about document text and may include other tags as
sub- elements. Browsers do not display the HTML tags, but use them to interpret the
content of the page.
HTML can embed programs written in a scripting language such as
JavaScript, which affects the behavior and content of Desktop pages. Inclusion of CSS
defines the look and layout of content. The World Wide Desktop Consortium (W3C),
former maintainer of the HTML and current maintainer of the CSS standards, has
encouraged the use of CSS over explicit presentational HTML since 1997.HTML is used
to create and save Desktop document. E.g. Notepad/Notepad++

CSS:
Cascading Style Sheets (CSS) is a style sheet language used for describing
the presentation of a document written in a markup language like HTML.CSS is a
cornerstone technology of the World-Wide Desktop, alongside HTML and JavaScript.

CSS is designed to enable the separation of presentation and content,


including layout, colors, and fonts. This separation can improve content accessibility,
provide more flexibility and control in the specification of presentation characteristics,
enable multiple Desktop pages to share formatting by specifying the relevant CSS in a
separate .css file, and reduce complexity and repetition in the structural content.

CSS information can be provided from various sources. These sources


can be the Desktop browser, the user and the author. The information from the author
can be further classified into inline, media type, importance, selector specificity, rule
order, inheritance and property definition. CSS style information can be in a separate
document or it can be embedded into an HTML document. Multiple style sheets can be
imported.

Different styles can be applied depending on the output device being


used; for example, the screen version can be quite different from the printed version, so
that authors can tailor the presentation appropriately for each medium. The style sheet
with the highest priority controls the content display. Declarations not set in the

Department of Computer Engineering, Sandip Polytechnic, Nashik 24


highest priority

Department of Computer Engineering, Sandip Polytechnic, Nashik 25


source are passed on to a source of lower priority, such as the user agent style. The
process is called cascading. One of the goals of CSS is to allow users greater control
over presentation. Someone who finds red italic headings difficult to read may apply a
different style sheet.
Depending on the browser and the Desktop site, a user may choose from
various style sheets provided by the designers, or may remove all added styles and view
the site using the browser's default styling, or may override just the red italic heading
style without altering other attributes.CSS: (Cascading Style Sheets) Create attractive
Layout.

JavaScript:
JavaScript is a versatile and dynamic programming language that plays a
pivotal role in shaping the interactive elements of the modern web. Developed in the
mid- 1990s, JavaScript has evolved into a key player in web development, enabling
developers to create dynamic, engaging, and responsive user interfaces.

It is primarily executed on the client side, allowing browsers to interpret


and execute the code, enhancing the overall user experience. With its lightweight syntax
and flexibility, JavaScript is well-suited for a variety of applications, from simple scripts
to complex, feature-rich web applications. One of its standout features is its ability to
interact seamlessly with HTML and CSS, providing a comprehensive and integrated
approach to building interactive web pages.

As the backbone of numerous frameworks and libraries, such as React,


Angular, and Vue.js, JavaScript continues to be a driving force in the constantly
evolving landscape of web development, empowering developers to craft innovative and
dynamic digital experiences.

Department of Computer Engineering, Sandip Polytechnic, Nashik 26


BACK-END: -
Java Language:
Java is an object oriented, robust programming language. (Dot) java is the
extension given to the java file. When compiled it is converted automatically into (Dot)
class format. Compiler than compiles the source code and then converts it into (Dot)
class extension. This file now consists of byte code that is fed to the Java Virtual Machine
(JVM). As this JVM can run on any machines such as Linux, Windows, Unix with the
byte code format of our source code. Hence Java language is called as platform
independent i.e. it follows WORA (Write Once Run Anywhere) Architecture.

MySQL:
MySQL is an open-source relational database management system
(RDBMS) based on Structured Query Language (SQL). It is one part of the very popular
LAMP platform consisting of Linux, Apache, My SQL, and PHP. Currently My SQL is
owned by Oracle. My SQL database is available on most important OS platforms. It runs
on BSD Unix, Linux, Windows, or Mac OS. Wikipedia and YouTube use My SQL.
These sites manage millions of queries each day. My SQL comes in two versions: My
SQL server system and My SQL embedded system. MySQL is a database, widely used
for accessing querying, updating, and managing data in databases.

5.3 PLATFORM USED


Web Browser:
A web browser serves as the gateway for running HTML, CSS, and
JavaScript code, bringing static web pages to life and facilitating dynamic, interactive
user experiences. These three technologies form the foundation of modern web
development. HTML (Hypertext Markup Language) structures the content, CSS
(Cascading Style Sheets) styles and formats the presentation, while JavaScript adds
dynamic behavior to the static web pages. Browsers like Google Chrome, Mozilla
Firefox, Microsoft Edge, and Safari play a crucial role in interpreting and rendering this
code, ensuring compatibility and consistency across diverse platforms.

Department of Computer Engineering, Sandip Polytechnic, Nashik 27


Each browser employs a rendering engine to interpret and display web
content, and they continually evolve to support the latest web standards and
technologies. Browser developer tools provide insights into the structure and behavior of
web pages, aiding developers in debugging and optimizing their code. The competition
among browsers has fueled innovation, leading to faster rendering speeds, improved
security features, and enhanced support for emerging web standards.

As users interact with the internet on a daily basis, the choice of a web
browser can significantly impact their online experience. Developers, in turn, strive to
create web applications that not only function seamlessly across different browsers but
also take advantage of specific features to provide an optimal user experience. In the
ever- evolving landscape of web development, the browser remains a critical component,
acting as a conduit for the execution and presentation of HTML, CSS, and JavaScript
code.

Eclipse IDE Software:


Eclipse is a robust and widely-used integrated development environment
(IDE) that has become a cornerstone in the world of software development. Initially
released in 2001, Eclipse has grown into a versatile platform supporting multiple
programming languages, including Java, C++, and Python. What sets Eclipse apart is its
extensibility and adaptability, thanks to a modular architecture that allows developers to
customize and enhance their development environment with a wide range of plugins.
This flexibility makes Eclipse an ideal choice for diverse projects and industries, from
enterprise-level applications to mobile and web development.

The Eclipse IDE offers a comprehensive set of tools, including code


editors, debugging capabilities, and version control integration, streamlining the
development process and enhancing productivity. Its user-friendly interface caters to
both novice and experienced developers, fostering a collaborative and efficient coding
environment. Eclipse has also played a significant role in fostering open-source
collaboration, hosting numerous projects and initiatives that contribute to the global
development community.

Department of Computer Engineering, Sandip Polytechnic, Nashik 28


As a testament to its enduring popularity, Eclipse continues to be a go-to
choice for developers worldwide, empowering them to create high-quality software with
efficiency and ease. Whether working on large-scale enterprise projects or individual
coding tasks, Eclipse remains a cornerstone in the toolkit of many software developers,
embodying a commitment to innovation and collaboration in the realm of software
development.

XAMPP
XAMPP, an acronym for Cross-Platform (X), Apache (A), MySQL (M),
PHP (P), and Perl (P), is a widely-used open-source software package designed to
facilitate the development and testing of dynamic web applications. Created by Apache
Friends, XAMPP provides a convenient and comprehensive environment for developers
to set up a local web server on their computers. This package includes essential
components such as the Apache HTTP Server, MySQL database, PHP, and Perl, creating
a seamless integration that allows users to emulate a web hosting environment on their
own machines.

One of the key advantages of XAMPP is its cross-platform compatibility,


making it accessible for users on Windows, Linux, and macOS. This feature ensures a
consistent development environment across different operating systems, streamlining the
web development process. XAMPP is particularly favored by developers for its
simplicity in installation and configuration, offering a quick and efficient way to deploy
a local server environment without the need for complex manual setups.

Whether you are a novice developer looking to experiment with web


technologies or an experienced professional seeking a reliable local server solution,
XAMPP remains a go-to choose for its user-friendly interface, robust components, and
widespread community support. It serves as an invaluable tool for testing and refining
web applications before deploying them to a live server, contributing significantly to the
efficiency and success of web development projects.

5.4 TIME & COST


Department of Computer Engineering, Sandip Polytechnic, Nashik 29
Time Spend:

Phases Time
(Days)
Analysis 30
Design 40
Coding 70
Testing 40
Documentation 30
Maintenance 40
Total time 250
Days

The working days: 25 days *10 months=


250 days

The working hours per day: 2 hours


Total time span for development: 500 hours

Cost:
Web Server cost = 3200 Rs/-
Domain Name cost = 800 Rs/-
So the total cost development of project will be around = 4000 Rs./-
Note: Small additional costs are not included.

Department of Computer Engineering, Sandip Polytechnic, Nashik 30


CHAPTER 6: CODING

admin_login.java
package charity.com;

import
java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import
javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class AdminLogin
*/
@WebServlet("/AdminLogin")
public class AdminLogin extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public AdminLogin() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served
at:
").append(request.getContextPath());
}

/**
Department of Computer Engineering, Sandip Polytechnic, Nashik 31
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
response)

Department of Computer Engineering, Sandip Polytechnic, Nashik 32


*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
System.out.println("Hello");

String email=request.getParameter("Email");
String
pass=request.getParameter("Password");
PrintWriter pw=response.getWriter();
if (email.equals("admin@gmail.com")&&pass.equals("admin"))
{
response.setContentType("text/html");
pw.println("<script
type=\"text/javascript\">");
pw.println("alert('Login Successful');");
pw.println("</script>");
RequestDispatcher
rd=request.getRequestDispatcher("AdminDashboard.html");
rd.include(request, response);

}
els
e
{ response.setContentType("text/html");
pw.println("<script type=\"text/javascript\">");
pw.println("alert('Wrong email or
password');"); pw.println("</script>");
RequestDispatcher
rd=request.getRequestDispatcher("Adminlogin.html");
rd.include(request, response);

}
}

User_login.java

package charity.com;

import
java.io.IOException;
import java.io.PrintWriter;
import
java.sql.Connection;
Department of Computer Engineering, Sandip Polytechnic, Nashik 33
import
java.sql.PreparedStatement;
import java.sql.ResultSet;

Department of Computer Engineering, Sandip Polytechnic, Nashik 34


import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import
javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class UserL
*/
@WebServlet("/UserL")
public class UserL extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public UserL() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// TODO Auto-generated method stub
/* response.getWriter().append("Served
at: ").append(request.getContextPath());
*/ }

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
String email,pwd;

email=request.getParameter("Email");
Department of Computer Engineering, Sandip Polytechnic, Nashik 35
pwd=request.getParameter("Password");

Connection

Con=ConnectionDB.getCon(); try{

PreparedStatement ps=Con.prepareStatement("select*from user


where email=? and password=?");
PrintWriter
pw=response.getWriter();
ps.setString(1,email);
ps.setString(2,pwd);

ResultSet rs=ps.executeQuery();

if(rs.next())
{
String
Email=rs.getString("email");
UserInfo.setEmail(Email);
int
Id=rs.getInt("id");
UserInfo.setId(Id);
String
name=rs.getString("name");
UserInfo.setName(name);
String mobile=rs.getString("mobile");
UserInfo.setMobile(mobile);
response.setContentType("text/html");
pw.println("<script
type=\"text/javascript\">");
pw.println("alert('Login Successful');");
pw.println("</script>");
RequestDispatcher
rd=request.getRequestDispatcher("UserDashboard.html");
rd.include(request, response);

}
else
{
response.setContentType("text/html");
pw.println("<script
type=\"text/javascript\">");
pw.println("alert('Wrong User
Credentials');"); pw.println("</script>");
RequestDispatcher
Department of Computer Engineering, Sandip Polytechnic, Nashik 36
rd=request.getRequestDispatcher("UserLogin.html");
rd.include(request, response);

Department of Computer Engineering, Sandip Polytechnic, Nashik 37


}
catch(Exception e)
{
e.printStackTrace();
}

}
}

Ngo_login.java

package charity.com;

import
java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;

import javax.servlet.ServletException;
import
javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class UserR
*/
@WebServlet("/UserR")
public class UserR extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public UserR() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse
Department of Computer Engineering, Sandip Polytechnic, Nashik 38
response) throws ServletException, IOException {

Department of Computer Engineering, Sandip Polytechnic, Nashik 39


// TODO Auto-generated method stub
response.getWriter().append("Served
at:
").append(request.getContextPath());
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);

String name,mobno,email,pwd,address;

name=request.getParameter("Name");
mobno=request.getParameter("mono");
email=request.getParameter("Email");
pwd=request.getParameter("Password");
address=request.getParameter("Address");

try{

Connection Con= ConnectionDB.getCon();


PreparedStatement ps2= Con.prepareStatement("insert into user
values(?,?,?,?,?,?)");

ps2.setInt(1,0);
ps2.setString(2,name);
ps2.setString(3,mobno);
ps2.setString(4,email);
ps2.setString(5,pwd);
ps2.setString(6,address);
int
i=ps2.executeUpdate();
if(i>0)
{
System.out.println("welcome");
response.sendRedirect("UserDashboard.html");
}
else{
System.out.println("Hi");
response.sendRedirect("UserRegistration.html");
}

}
Department of Computer Engineering, Sandip Polytechnic, Nashik 40
catch(Exception e){

e.printStackTrace();

}
}

Request_money.java

package charity.com;

import
java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;

import javax.servlet.ServletException;
import
javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class Requestmoney
*/
@WebServlet("/Requestmoney")
public class Requestmoney extends HttpServlet
{ private static final long serialVersionUID =
1L;

/**
* @see HttpServlet#HttpServlet()
*/
public Requestmoney() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse
Department of Computer Engineering, Sandip Polytechnic, Nashik 41
response) throws ServletException, IOException {
// TODO Auto-generated method stub

Department of Computer Engineering, Sandip Polytechnic, Nashik 42


response.getWriter().append("Served
at: ").append(request.getContextPath());
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);

String money,accno,amount;

money=request.getParameter("moneyReq");
accno=request.getParameter("accno");
amount=request.getParameter("amount");

try{
Connection Con=ConnectionDB.getCon();
PreparedStatement ps2=Con.prepareStatement("insert into
moneyrequest values(?,?,?,?,?,?,?)");
ps2.setInt(1,0);
ps2.setString(2, UserInfo.getName());
ps2.setString(3,
UserInfo.getMobile());
ps2.setString(4, UserInfo.getEmail());
ps2.setString(5, money);
ps2.setString(6, accno);
ps2.setString(7,amount);

int
i=ps2.executeUpdate();
if(i>0)

{
System.out.println("Welcome");
response.sendRedirect("UserDashboard.html");
}

else{
System.out.println("Fail");
response.sendRedirect("RequestMoney.html");

Department of Computer Engineering, Sandip Polytechnic, Nashik 43


}

catch(Exception e){
e.printStackTrace();

}
}

Donate_money.java

package charity.com;

import
java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;

import javax.servlet.ServletException;
import
javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class MoneyDonate
*/
@WebServlet("/MoneyDonate"
)
public class MoneyDonate extends HttpServlet
{ private static final long serialVersionUID =
1L;

/**
* @see HttpServlet#HttpServlet()
*/
public MoneyDonate() {
super();
// TODO Auto-generated constructor stub
}

/**
Department of Computer Engineering, Sandip Polytechnic, Nashik 44
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
response)
*/

Department of Computer Engineering, Sandip Polytechnic, Nashik 45


protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served
at:
").append(request.getContextPath());
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
String
Name,email,accno; int
amount;
/*Name=request.getParameter("name");*/
email=request.getParameter("email");
accno=request.getParameter("accno");
amount=Integer.parseInt(request.getParameter("fundamt"));

Connection
Con=ConnectionDB.getCon();
try{
PreparedStatement ps2=Con.prepareStatement("insert into donatemoney
values(?,?,?,?,?,?)");
ps2.setInt(1,0);
/*ps2.setString(2,Name);*/
ps2.setString(2,email);
ps2.setString(3,accno);
ps2.setInt(4,amount);
ps2.setString(5,
UserInfo.getName()); ps2.setString(6,
UserInfo.getEmail());

int
i=ps2.executeUpdate
(); if(i>0)

{
System.out.println("Amount Transfer");
response.sendRedirect("Ngodashboard.html");
}

else{
Department of Computer Engineering, Sandip Polytechnic, Nashik 46
System.out.println("Fail to
Transfer");
response.sendRedirect("DonateM
oney.html");

Department of Computer Engineering, Sandip Polytechnic, Nashik 47


}

catch(Exception e){
e.printStackTrace();

Request_foodclothes.java

package charity.com;

import
java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;

import javax.servlet.ServletException;
import
javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class Userfoodclothesdonate
*/
@WebServlet("/Userfoodclothesdonate")
public class Userfoodclothesdonate extends HttpServlet
{ private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public Userfoodclothesdonate() {
super();
// TODO Auto-generated constructor stub
}

Department of Computer Engineering, Sandip Polytechnic, Nashik 48


/**

Department of Computer Engineering, Sandip Polytechnic, Nashik 49


* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served
at:
").append(request.getContextPath());
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);

String Name,email,Category,address,fundqty;

Name=request.getParameter("name");
email=request.getParameter("email");
address=request.getParameter("address");
Category=request.getParameter("category");
fundqty=request.getParameter("funqty");

Connection Con=ConnectionDB.getCon();
try{

PreparedStatement ps2=Con.prepareStatement("insert into donatefoodclothes


values(?,?,?,?,?,?,?,?)");
ps2.setInt(1,0);
ps2.setString(2,Name);
ps2.setString(3,email);
ps2.setString(4,address);
ps2.setString(5,Category);
ps2.setString(6,fundqty);
ps2.setString(7,
UserInfo.getName());
ps2.setString(8, UserInfo.getEmail());

int
i=ps2.executeUpdate
(); if(i>0)

{
Department of Computer Engineering, Sandip Polytechnic, Nashik 50
System.out.println("Dispatch");

Department of Computer Engineering, Sandip Polytechnic, Nashik 51


response.sendRedirect("UserDashboard.html");
}

else{
System.out.println("Fail to Dispatch");
response.sendRedirect("UserFoodClothesDonate.html");

catch(Exception e){
e.printStackTrace();

Donate_foodclothes.java

package charity.com;

import
java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;

import javax.servlet.ServletException;
import
javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class ClothesFoodDonate
*/
@WebServlet("/ClothesFoodDonate")
public class ClothesFoodDonate extends HttpServlet
{ private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
Department of Computer Engineering, Sandip Polytechnic, Nashik 52
public ClothesFoodDonate() {

Department of Computer Engineering, Sandip Polytechnic, Nashik 53


super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served
at:
").append(request.getContextPath());
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);

String Name,email,Category,address,fundqty;

/*Name=request.getParameter("name");
*/ email=request.getParameter("email");
address=request.getParameter("address");
Category=request.getParameter("category");
fundqty=request.getParameter("funqty");

Connection Con=ConnectionDB.getCon();
try{

PreparedStatement ps2=Con.prepareStatement("insert into donatefoodclothes


values(?,?,?,?,?,?,?)");
ps2.setInt(1,0);
/*ps2.setString(2,Name);*/
ps2.setString(2,email);
ps2.setString(3,address);
ps2.setString(4,Category);
ps2.setString(5,fundqty);
ps2.setString(6,
UserInfo.getName());
ps2.setString(7, UserInfo.getEmail());

Department of Computer Engineering, Sandip Polytechnic, Nashik 54


int
i=ps2.executeUpdate
(); if(i>0)

{
System.out.println("Dispatch");
response.sendRedirect("Ngodashboard.html");
}

else{
System.out.println("Fail to Dispatch");
response.sendRedirect("FoodClothesDonate.html");

catch(Exception e){
e.printStackTrace();

}}

Department of Computer Engineering, Sandip Polytechnic, Nashik 55


CHAPTER 7: TESTING

7.1 UNIT TESTING


Unit testing, also known as component testing refers to tests that verify
the functionality of a specific section of code, usually at the function level. In an object-
oriented environment, this is usually at the class level, and the minimal unit tests include
the constructors and destructors. These types of tests are usually written by developers as
they work on code (white-box style), to ensure that the specific function is working as
expected. One function might have multiple tests, to catch corner cases or other branches
in the code. Unit testing alone cannot verify the functionality of a piece of software, but
rather is used to assure that the building blocks the software uses work independently of
each other. In our project we will test following modules separately.
Module for unit testing will be
• Pre-process Image.
• Image Decomposition.
• Feature Extraction.
• Object Recognition.
• Web Information retrieval.

7.2 INTEGRATION TESTING


Integration testing is any type of software testing that seeks to verify the
interfaces between components against a software design. Software components may be
integrated in an iterative way or altogether. Normally the former is considered a better
practice since it allows interface issues to be localized more quickly and fixed.
Integration testing works to expose defects in the interfaces and interaction between
integrated components (modules).

Progressively larger groups of tested software components corresponding


to elements of the architectural design are integrated and tested until the software works
as a system.

Department of Computer Engineering, Sandip Polytechnic, Nashik 56


To combine the modules below and combine test full system.
• Image Decomposition.
• Feature Extraction.
• Object Recognition.
• Web Information retrieval

7.3 VALIDATION TESTING


The process of evaluating software during the development process or at
the end of the development process to determine whether it satisfies specified business
requirements. Validation Testing ensures that the product actually meets the client's
needs. It can also be denned as to demonstrate that the product fulfills its intended use
when deployed on appropriate environment.

7.4 GUI TESTING


GUI testing is a process to test application's user interface and to detect if
application is functionally correct. GUI testing involves carrying set of tasks and
comparing the result of same with the expected output and ability to repeat same set of
tasks multiple times with different data input and same level of accuracy. GUI Testing
includes how the application handles keyboard and mouse events, how different GUI
components like menu bars, toolbars, dialogs, buttons, edit _elds, list controls, images
etc. reacts to user input and whether or not it performs in the desired manner.
Implementing GUI testing for your application early in the software development cycle
speeds up development improves quality and reduces risks towards the end of the cycle.
GUI Testing can be performed both manually with a human tester or could be performed
automatically with use of a software program. To test whether .net and java GUI is
properly managed as per ow in use case diagram. To test all controls of In GUI testing
check weather .Net module GUI is been Working properly.

Department of Computer Engineering, Sandip Polytechnic, Nashik 57


7.5 TEST CASE
7.5.1 TEST CASE FOR ADMIN LOGIN (VALID ADMIN DETAILS)
Test Case ID TC_01
Test Case name Admin Login (Valid Input details)
To check whether given admin login
details is correct and redirect admin to
Test case description
admin dashboard.

1. Go to the admin login page


Test steps 2. Enter valid admin login details

Expected Result Should redirect to Admin dashboard


Actual Result Redirecting to Admin dashboard
Status Pass

7.5.2 TEST CASE FOR ADMIN LOGIN (INVALID


ADMIN DETAILS)
Test Case ID TC_02
Test Case name Admin Login (Invalid Input details)
To check whether given admin login
details is incorrect and display an
Test case description
message showcasing invalid input
message
1. Go to the admin login page
Test steps 2. Enter invalid admin login
details
Expected Result Should display error message
Actual Result Displaying error message regarding
invalid admin login details
Status Pass

Department of Computer Engineering, Sandip Polytechnic, Nashik 58


7.5.3 TEST CASE FOR NGO LOGIN (VALID NGO DETAILS)
Test Case ID TC_03
Test Case name NGO Login (Valid Input details)
To check whether given NGO login
details is correct and redirect admin to
Test case description
admin dashboard.

1. Go to the NGO login page


Test steps 2. Enter valid NGO login details

Expected Result Should redirect to NGO dashboard


Actual Result Redirecting to NGO dashboard
Status Pass

7.5.4 TEST CASE FOR NGO LOGIN (INVALID NGO DETAILS)


Test Case ID TC_04
Test Case name NGO Login (Invalid Input details)
To check whether given NGO login
details is incorrect and display an
Test case description
message showcasing invalid input
message
1. Go to the NGO login page
Test steps 2. Enter invalid NGO login
details
Expected Result Should display error message
Actual Result Displaying error message regarding
invalid NGO login details
Status Pass

Department of Computer Engineering, Sandip Polytechnic, Nashik 59


7.5.5 TEST CASE FOR USER LOGIN (VALID USER DETAILS)
Test Case ID TC_05
Test Case name User Login (Valid Input details)
To check whether given User login
details is correct and redirect admin to
Test case description
admin dashboard.

1. Go to the User login page


Test steps 2. Enter valid User login details

Expected Result Should redirect to User dashboard


Actual Result Redirecting to User dashboard
Status Pass

7.5.6 TEST CASE FOR USER LOGIN (INVALID USER DETAILS)


Test Case ID TC_06
Test Case name User Login (Invalid Input details)
To check whether given User login
details is incorrect and display an
Test case description
message showcasing invalid input
message
1. Go to the User login page
Test steps 2. Enter invalid User login
details
Expected Result Should display error message
Actual Result Displaying error message regarding
invalid User login details
Status Pass

Department of Computer Engineering, Sandip Polytechnic, Nashik 60


7.5.7 TEST CASE FOR NGO REGISTRATION
Test Case ID TC_07
Test Case name NGO Registration
Web application should accept NGO
registration details and send approval
Test case description
request to admin.

1. Go to the NGO registration page


Test steps 2. Enter NGO correct details
and click on ‘submit’
Expected Result Should display registration successful
message and wait for approval message
Actual Result Displaying registration successful
message and wait for approval message
Status Pass

7.5.8 TEST CASE FOR USER REGISTRATION


Test Case ID TC_08
Test Case name User Registration
Web application should accept user
registration details and redirect to user
Test case description
dashboard

1. Go to the User registration page


Test steps 2. Enter correct User details and
click on ‘submit’
Expected Result Should display registration successful
and redirect to user dashboard
Actual Result Displaying registration successful and
redirect to user dashboard
Status Pass

Department of Computer Engineering, Sandip Polytechnic, Nashik 61


7.5.9 TEST CASE FOR VIEW MONEY REQUESTS
Test Case ID TC_09
Test Case name View Money Requested by User’s
On clicking Money Request section in
NGO Dashboard or User Dashboard a
Test case description
list for money request made by User’s
should be listed
1. Login through any Ngo or User.
Test steps
2. Go to the Money Request section

Expected Result Should display list of Money request


made by User’s
Actual Result Displaying list of Money request made
by User’s
Status Pass

7.5.10 TEST CASE FOR DONATING MONEY


Test Case ID TC_09
Test Case name Donating Money to requested User’s
On clicking Donate Money section in
NGO Dashboard or User Dashboard a
Test case description
Donation form should display.

1. Login through any Ngo or User.


Test steps
2. Go to the Donate Money section

Expected Result Should display Donation form


Actual Result Displaying Donation Form
Status Pass

Department of Computer Engineering, Sandip Polytechnic, Nashik 62


7.5.11 TEST CASE FOR LOGOUT BUTTON FUNCTIONALITY
FOR NGO
Test Case ID TC_11
Test Case name Logout button functionality in NGO
Dashboard
On clicking Logout button NGO should
and redirect to Landing Page.
Test case description

1. Login through Ngo login details.


Test steps
2. Click on “Logout” Button

Expected Result Should Logout from NGO Dashboard


and redirect to Landing Page.
Actual Result Loging out from NGO Dashboard and
redirect to Landing Page.
Status Pass

7.5.12 TEST CASE FOR LOGOUT BUTTON FUNCTIONALITY


FOR USER
Test Case ID TC_12
Test Case name Logout button functionality in User
Dashboard
On clicking Logout button User should
and redirect to Landing Page.
Test case description

1. Login through User login details.


Test steps
2. Click on “Logout” Button

Expected Result Should Logout from User Dashboard and


redirect to Landing Page.
Actual Result Loging out from User Dashboard and
redirect to Landing Page.
Status Pass

Department of Computer Engineering, Sandip Polytechnic, Nashik 63


CHAPTER 8: CONCLUSION

In conclusion, the Charity Link-NGO Collaboration Welfare Portal has


the potential to significantly impact the social sector by facilitating collaboration
between NGOs and charities. To maximize its potential, the platform should continue to
expand its scope, enhance technical capabilities, improve data security, increase funding,
expand collaboration opportunities, enhance communication channels, improve
accessibility, and ensure sustainability. By implementing these strategies, the platform
can provide comprehensive services and features to NGOs and charities, increase the
potential impact of collaborations, and contribute to a more effective and efficient social
sector.

Department of Computer Engineering, Sandip Polytechnic, Nashik 64


ADVANTAGES

1. Increased visibility and reach: A charity link-ngo collaboration welfare portal


provides a centralized platform for NGOs to showcase their initiatives and
connect with potential donors and partners. This increases the visibility and
reach of the initiatives and allows them to attract more resources and support
from various stakeholders in the community and beyond.
2. Improved resource mobilization: A charity link-ngo collaboration welfare
portal facilitates resource mobilization efforts by providing a platform for
NGOs to share resources, collaborate on initiatives, and access funding
opportunities. This helps NGOs to maximize the impact of their resources
and achieve their goals more efficiently
3. Enhanced collaboration and partnership building: A charity link-ngo
collaboration welfare portal promotes collaboration and partnership building
by providing a platform for NGOs to connect with each other, share best
practices, and learn from each other's experiences. This helps NGOs to build
stronger networks and partnerships, which can lead to more effective and
sustainable initiatives.
4. Better data management and analysis: A charity link-ngo collaboration
welfare portal allows NGOs to manage and analyze data related to their
initiatives, such as donations, resources, and outcomes. This helps NGOs to
make more informed decisions and improve the effectiveness and impact of
their initiatives.
5. Increased transparency and accountability: A charity link-ngo collaboration
welfare portal promotes transparency and accountability by providing donors
and stakeholders with access to detailed information about NGOs and their
initiatives, such as financial reports, impact reports, and verification reports.
This helps NGOs to build trust and credibility with their stakeholders and
demonstrate the effectiveness and impact of their initiatives.

Department of Computer Engineering, Sandip Polytechnic, Nashik 65


CHAPTER 9: FUTURE SCOPE

To expand and improve the Charity Link-NGO Collaboration Welfare


Portal, several steps can be taken. The platform can increase its scope by partnering with
more NGOs and charities in different locations and areas of expertise, which will
increase the number of organizations that can benefit from collaboration and broaden the
platform's reach. The platform can enhance its technical capabilities by improving
loading times, device compatibility, and functionalities to improve user experience and
attract more NGOs and charities.

Advanced security measures such as multi-factor authentication,


encryption, and regular security audits can be implemented to build trust in the platform
and encourage more organizations to share sensitive information. The platform can seek
grants, corporate partnerships, and individual donations to increase funding for
maintenance, upgrades, and expansion. A revenue-generating model, such as a
subscription fee or fundraising campaigns, can be implemented to ensure the platform's
long-term viability and ability to provide comprehensive services and features to NGOs
and charities.

Department of Computer Engineering, Sandip Polytechnic, Nashik 66


CHAPTER 10: REFERENCES

Websites:
 GoFoundMe: https://ww.gofoundme.com/
 Kickstarter: https://www.kickstarter.com/
 Indiegogo: https://www.indiegogo.com/
 DonorsChoose: https://www.donorschoose.org/

Open-Source Donation Portal Projects:


 Charitable: WordPress donation plugin - https://www.wpcharitable.com/
 Handbid: Open-source auction platform - https://handbid.com/
 BenevoLent: Fundraising and donation website project
- https://benevolent.ws/

Research Papers and Case Studies:


 Bassett, R., & Ahern, L. (2011). Online Fundraising and the Quest
for Donor Loyalty.
 Shang, J., & Muir, R. (2010). Effective Online Fundraising: Insights
from Research and Practice

Department of Computer Engineering, Sandip Polytechnic, Nashik 67


CHAPTER 11: APPENDIX A

11.1 SRCEEN SHOTS: -

Department of Computer Engineering, Sandip Polytechnic, Nashik 68


Department of Computer Engineering, Sandip Polytechnic, Nashik 69
Department of Computer Engineering, Sandip Polytechnic, Nashik 70
Department of Computer Engineering, Sandip Polytechnic, Nashik 71
Department of Computer Engineering, Sandip Polytechnic, Nashik 72
Department of Computer Engineering, Sandip Polytechnic, Nashik 73
Department of Computer Engineering, Sandip Polytechnic, Nashik 74
Department of Computer Engineering, Sandip Polytechnic, Nashik 75
Department of Computer Engineering, Sandip Polytechnic, Nashik 76

You might also like