Sie sind auf Seite 1von 48

Donate Portal

A Minor Project Report


Submitted in partial fulfillment for the requirement of the award of the
degree of
Bachelor of Technology
In
Computer Science and Engineering
By
AKSHAY ROHATGI

03414802711

Maharaja Agrasen Institute Of Technology


Guru Gobind Singh Indraprastha University
Sector-16, Dwarka,Delhi

Acknowledgement

I hereby take this opportunity to thank all those people whose knowledge and
experience helped me bring this report in its present form. It would have been a
tough task for me to complete report without their help.
I express my sincere thanks and gratitude to my tutor Ms. Shilpy, Technology
Specialist, NIIT for providing me the opportunity to pursue my training at the
institute.
I would like to express my gratitude to my group members, Varidhi Garg,
Vedanshu Jain for helping and contributing in every aspect during the training
phase as well as in carrying out the whole project.
Finally I would like to express my deep appreciation to my family and friends who
have been a constant source of inspiration. I am internally grateful to them for
always encouraging me wherever and whenever I needed them.

Akshay Rohatgi
03414802711

Declaration

I hereby certify that the work which is being presented in the Summer Training
Project entitled Donate Portal in partial fulfillment for the award of the Degree
of Bachelor of Technology in Computer Science and Engineering affiliated to Guru
Gobind Singh Indraprastha University, New Delhi and submitted to the
Department of Computer Science and Engineering of Maharaja Agrasen Institute
of Technology, Rohini, is an authentic record of my own work carried out during a
period from June 2013 to August 2013. The matter represented in this report has
not been submitted by me for award of any other degree of this or any other
institute/university.

Date: -

Name:
Akshay Rohatgi (03414802711)
Varidhi Garg (00214802711)
Vedanshu Jain (04814802711)

Preface
This Project entitled Donate Portal was came into being after seeing the constant
need to develop a portal where NGOs can directly interact with Samaritans without
intervention of any other party. It aims to bring a person who wish to help, to the
community who needs the help of such person.
This Project is basically an online portal which facilitates the communication of
donor directly with the NGO. It is developed in primarily ASP.NET supported by
various other technologies like DBMS, Javascript etc.
The project is based on code behind page approach and hence divided into two
components Backend and interface. While Backend component deals with
donation, lock and accept mechanism, the interface component provides users of
this portal an extremely friendly environment to interact with each other.
Interface component of this project is developed using Active Server Pages in
HTML5, JavaScript and CSS while backend has been developed in C# , XML,
Google Maps API and MSSQL Database Server.

Organization Introduction

NIIT is a leading Global Talent Development Corporation, building skilled


manpower pool for global industry requirements. The company which was set up
in 1981, to help the nascent IT industry overcome its human resource challenges,
has today grown to be amongst worlds leading talent development companies
offering learning solutions to Individuals, Enterprises and Institutions across 40
countries. Leading IT journal Dataquest has conferred upon NIIT the Top IT
Training Company award successively for the past 20 years, since the inception of
this category.
NIITs training solutions in IT, Banking, Finance and Insurance, Knowledge
Process Outsourcing (KPO), Business Process Management (BPM), Executive
Management Education, Vocational Skills, School Learning Solutions and
Communication and Professional Life Skills has impacted over 35 million learners
since inception. NIITs expertise in learning content development, training delivery
and education process management make it the most preferred training partner,
worldwide.
NIIT has been ranked 4th in Best companies to work for in India, 2013-14, by
Great Place to Work Institute and Top 10 Best Employers in India- 2011 by Aon
Hewitt. The company has also been voted the second most trusted education brand
in India by Brand Equity- Nielsen Survey 2011.

List of Figures

1. Data Flow Diagrams


A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information
system, modeling its process aspects. Often they are a preliminary step used to create an overview of
the system which can later be elaborated. DFDs can also be used for the visualization of data
processing (structured design).
A DFD shows what kinds of information will be input to and output from the system, where the data
will come from and go to, and where the data will be stored. It does not show information about the
timing of processes, or information about whether processes will operate in sequence or in parallel
(which is shown on a flowchart).

1.1 DFD Level 0


It is common practice to draw the context-level data flow diagram first, which shows the
interaction between the system and external agents which act as data sources and data sinks.
On the context diagram the system's interactions with the outside world are modelled purely in
terms of data flows across the system boundary. The context diagram shows the entire system as

a single process, and gives no clues as to its internal organization.

1.2 DFD Level 1


This context-level DFD is next "exploded", to produce a Level 1 DFD that shows some of the
detail of the system being modeled. The Level 1 DFD shows how the system is divided into subsystems (processes), each of which deals with one or more of the data flows to or from an
external agent, and which together provide all of the functionality of the system as a whole. It also
identifies internal data stores that must be present in order for the system to do its job, and shows
the flow of data between the various parts of the system.
DFD level 1 of User Panel

DFD Level 1 of NGO Panel

2. Use Case Diagrams


A use case diagram at its simplest is a representation of a user's interaction with the system and
depicting the specifications of a use case. A use case diagram can portray the different types of users
of a system and the various ways that they interact with the system. This type of diagram is typically
used in conjunction with the textual use case and will often be accompanied by other types of
diagrams as well.

Table of contents

1. Introduction----------------------------------------------------------------------------------1
1.1 Concept and Inspiration-----------------------------------------------01
1.2 Terminology------------------------------------------------------------01
1.3 Technology Used------------------------------------------------------02
1.4 Web Application-------------------------------------------------------02
1.5 Key features of Donate Portal-------------------------------------03
2. Technologies Used in the project--------------------------------------------------------04
2.1 List of Technologies---------------------------------------------------04
2.2 ASP.NET----------------------------------------------------------------04
2.3 JavaScript---------------------------------------------------------------05
2.4 IIS Server---------------------------------------------------------------06
2.5 SQL----------------------------------------------------------------------07
2.6 Web API----------------------------------------------------------------09
2.7 XML--------------------------------------------------------------------10
2.8 HTML5-----------------------------------------------------------------12
2.9 CSS3--------------------------------------------------------------------13
2.10

AJAX---------------------------------------------------------------13

3. User Login and Access Permissions----------------------------------------------------15


3.1 User Registration and login Module-----------------------------------------15
3.1.1

User Registration---------------------------------------------15

3.1.2

User Login.----------------------------------------------------16

3.2 Access Permissions-------------------------------------------------------------18


3.2.1

NGO------------------------------------------------------------18

3.2.2

Donator---------------------------------------------------------19

3.2.3

Guest------------------------------------------------------------19

4. Donate Request Mechanism--------------------------------------------------------------21


4.1 Introduction--------------------------------------------------------------21
4.2 Step 1: Item Details-----------------------------------------------------21
4.3 Step 2: Pickup Date-----------------------------------------------------21
4.4 Step 3: Pickup Location------------------------------------------------22
5. Donation Request and Acceptance Management--------------------------------------24
5.1 Introduction--------------------------------------------------------------24
5.2 Donator Request Management ----------------------------------------25
5.3 Request Lock Mechanism----------------------------------------------25
6. Requirements ------------------------------------------------------------------------------26
6.1 Hardware Requirements------------------------------------------------26
6.2 Software Requirements-------------------------------------------------26
7. Future Work and Expansion--------------------------------------------------------------27

8. Software Requirement Analysis---------------------------------------------------------28


8.1 Problem Recognition--------------------------------------------------------28
8.2 Problem Evaluation and Solution Synthesis-----------------------------28
8.3 Modelling---------------------------------------------------------------------28
8.4 Creation of specification----------------------------------------------------28
8.5 Review of Requirements----------------------------------------------------29
9. Software Attributes------------------------------------------------------------------------30
10. Conclusion----------------------------------------------------------------------------------31
11. References----------------------------------------------------------------------------------32

1. Introduction
1.1 Concept and Inspiration

The concept of this project comes from the fact that there are people in the society
who are good enough to donate the products which they dont require anymore to
others in need. But these people do not have an effective mechanism to do so. Thus
this portal is created to provide a convenient way to help these people reach out to
those people who are in need.
This project provides a convenient way to introducing donators directly with the
NGOs without any intervention of a third party. Thus reducing the possibility of
any dishonesty that may be introduced by a third party. Here NGO is directly given
the address of a donator and hence it can go and picks up whatever item that

donator wishes to donate. This also reduces any kind of overhead to portal
administrators as the process of pickup and delivery are handled by NGOs and
donators themselves.
The project is deployed over World Wide Web as a web application and hence is
available to vast majority of people who have access to World Wide Web. The
motive to deploy it over to internet is also motivated by the fact that it is one of the
effective and economic medium to increase the reach of this portal to masses.
ASP.NET is used as framework for design and program of this web application.
This architecture not only facilitates the development of web applications very
quickly but also complicated applications can be developed in this framework.

1.2 Terminology

In the following discussion of this project the following terms will be encountered
repeatedly. These are:

1. User: This term represent any visitor who visits the web application, whether guest, NGO
representative or a donator and whether logged in or not.

2. Donator: This term represent the entity which is registered on the web application with donator
role. In other words it is that registered user who wishes to donate products through this portal.

3. NGOs: As the name suggest, this term represent an entity of an organization who is registered on
the website through NGO role and works in the field of social development. These are entities
that will be having option of accepting requests which are made by donators.

4. Donation requests: Or simply requests, this term denote an offer made by the donator on the
portal about a product that he wishes to donate

5. Request Record: It means the record of donations done by a specific user, i.e. A Request Record
of a donator means the list of donation done by him.

6. NGO panel: This refers to the default webpage which is opened when an NGO representative
logs in to web application.

1.3 Technology Used:


The application is developed in .NET framework developed by Microsoft and various other web
application development technologies.
Database of this application is stored in MSSQL database and is managed by MSSQL server 2012.
Visual Studio is used for coding and basic functionality designing.
The Application is designed using CSS 3 and JavaScript. These both are also done in Visual Studio
2012.

1.4 Web Applications:


Web Application has been chosen for deployment of this project due to the ubiquity of web browsers,
and the convenience of using a web browser as a client, sometimes called a thin client. The ability to
update and maintain web applications without distributing and installing software on potentially
thousands of client computers is a key reason, as is the inherent support for cross-platform
compatibility.
In earlier computing models, e.g. in client-server, the load for the application was shared between
code on the server and code installed on each client locally. In other words, an application had its own
client program which served as its user interface and had to be separately installed on each user's
personal computer.
An upgrade to the server-side code of the application would typically also require an upgrade to the
client-side code installed on each user workstation, adding to the support cost and decreasing
productivity.
In contrast, web applications use web documents written in a standard format such as HTML and
JavaScript, which are supported by a variety of web browsers. Web applications can be considered as
a specific variant of client-server software where the client software is downloaded to the client
machine when visiting the relevant web page, using standard procedures such as HTTP. Client web
software updates may happen each time the web page is visited. During the session, the web browser
interprets and displays the pages, and acts as the universal client for any web application.
ASP.NET is selected as the technology to program this web application because of the benefit it
offers.

1.5 Key features of Donate Portal


Following are the main features that are implemented in this project:
1. Easy Interface: The simplistic and easy interface of the project allows non technology friendly
users to easily put up donation request and acceptance.

2. Management of users: Users are classified in two three categories (donator, NGO, guest) and for
all the login and signup is managed. The database in which login and signup data is being stored
is secure to a very high level and cryptic.

3. Donation Mechanism: The process of donating and accepting that donation is also facilitated by
extensive programming.

4. Google Maps Integration: The application also offers integration with Google map API which
allows high accuracy and convenient mode of selection of address.

5. Abstraction: This high level framework provides this portal with a good level of abstraction.
Various technologies from JavaScript to CSS to C# have integrated skill fully to provide this level
of abstraction.

6. Flexibility: Flexibility at both native and abstract level allows this application to
.

2. Technologies used in the project


2.1 List of technologies
This project consists of various technologies which are used in development of
interactive web application now days.
List of technologies, development tools, framework, programming languages and
scripting languages are:
1. ASP.NET
2. JavaScript
3. IIS Server
4. SQL
5. Web API
6. XML
7. HTML5
8. CSS3
9. AJAX

2.2 ASP.NET

ASP.NET stands for Active Server Pages .NET and is developed by Microsoft.
ASP.NET is used to create web pages and web technologies and is an integral part
of Microsofts .NET framework vision. As a member of the .NET framework,
ASP.NET is a very valuable tool for programmers and developers as it allows them
to build dynamic, rich web sites and web applications using compiled languages
like VB and C#.
ASP.NET is not limited to script languages, it allows you to make use of .NET
languages like C#, J#, VB, etc. It allows developers to build very compelling
applications by making use of Visual Studio, the development tool provided by
Microsoft. ASP.NET is purely server-side technology. It is built on a common

language runtime that can be used on any Windows server to host powerful
ASP.NET web sites and technologies.

ASP.NET also has following benefits:

1. ASP.NET drastically reduces the amount of code required to build large applications.
2. With built-in Windows authentication and per-application configuration, your applications are
safe and secured.
3. It provides better performance by taking advantage of early binding, just-in-time compilation,
native optimization, and caching services right out of the box.
4. The ASP.NET framework is complemented by a rich toolbox and designer in the Visual Studio
integrated development environment. WYSIWYG editing, drag-and-drop server controls, and
automatic deployment are just a few of the features this powerful tool provides.
5. Provides simplicity as ASP.NET makes it easy to perform common tasks, from simple form
submission and client authentication to deployment and site configuration.
6. The source code and HTML are together therefore ASP.NET pages are easy to maintain and
write. Also the source code is executed on the server. This provides a lot of power and flexibility
to the web pages

Although like any other technology ASP.NET has some disadvantages including
lack of view state, costly development tools and hosting etc. it is still one the main
technology on which the current web applications are being built in.

2.3 JavaScript
JavaScript (JS) is an interpreted computer programming language. As part of web browsers,
implementations allow client-side scripts to interact with the user, control the browser,
communicate asynchronously, and alter the document content that is displayed. It has also become
common in server-side programming, game development and the creation of desktop applications.
JavaScript is a prototype-based scripting language with dynamic typing and has first-class functions.
Its syntax was influenced by C. JavaScript copies many names and naming conventions from Java, but

the two languages are otherwise unrelated and have very different semantics. The key design principles
within JavaScript are taken from the Self and Scheme programming languages. It is a multiparadigm language, supporting object-oriented, imperative, and functional programming styles.

JavaScript was formalized in the ECMAScript language standard and is primarily used as part of a web
browser (client-side JavaScript). This enables programmatic access to computational objects within a host
environment.

The application of JavaScript to uses outside of web pagesfor example, in PDF documents, site-specific
browsers, and desktop widgetsis also significant. Newer and faster JavaScript VMs and frameworks
built upon them (notably Node.js) have also increased the popularity of JavaScript for server-side web
applications.

2.4 IIS Server


Internet Information Services (IIS) for Windows Server is a flexible, secure and
manageable Web server for hosting anything on the Web. From media streaming to

web applications, IIS's scalable and open architecture is ready to handle the most
demanding tasks.

It is a group of Internet servers (including a Web or Hypertext Transfer Protocol


server and a File Transfer Protocol server) with additional capabilities for
Microsoft's Windows NT and Windows 2000 Server operating systems. IIS is
Microsoft's entry to compete in the Internet server market that is also addressed
by Apache, Sun Microsystems, O'Reilly, and others. With IIS, Microsoft includes a
set of programs for building and administering Web sites, a search engine, and
support for writing Web-based applications that access databases. Microsoft points
out that IIS is tightly integrated with the Windows NT and 2000 Servers in a
number of ways, resulting in faster Web page serving.
Web developers can use Microsoft's Active Server Page (ASP) technology, which means that applications
- including ActiveX controls - can be imbedded in Web pages that modify the content sent back to users.
Developers can also write programs that filter requests and get the correct Web pages for different users
by using Microsoft's Internet Server Application Program Interface (ISAPI) interface. ASPs and ISAPI
programs run more efficiently than common gateway interface (CGI) and server-side include (SSI)
programs, two current technologies. (However, there are comparable interfaces on other platforms.)
Microsoft includes special capabilities for server administrators designed to appeal to Internet service
providers (ISPs). It includes a single window (or "console") from which all services and users can be
administered. It's designed to be easy to add components as snap-ins that you didn't initially install. The
administrative windows can be customized for access by individual customers.

2.5 SQL
SQL is a special-purpose programming language designed for managing data held in a relational database
management system (RDBMS).
Originally based upon relational algebra and tuple relational calculus, SQL consists of a data definition
language and a data manipulation language. The scope of SQL includes data insert, query, update and
delete, schema creation and modification, and data access control. Although SQL is often described as,
and to a great extent is, a declarative language (4GL), it also includes procedural elements.
SQL was one of the first commercial languages for Edgar F. Codd's relational model, as described in his
influential 1970 paper "A Relational Model of Data for Large Shared Data Banks". Despite not entirely
adhering to the relational model as described by Codd, it became the most widely used database language.
SQL became a standard of the American National Standards Institute (ANSI) in 1986, and of
the International Organization for Standards (ISO) in 1987. Since then, the standard has been enhanced

several times with added features. Despite these standards, code is not completely portable among
different database systems, which can lead to vendor lock-in. The different makers do not perfectly adhere
to the standard, for instance by adding extensions, and the standard itself is sometimes ambiguous.

2.6 Web API

The general concept of a web API (application programming interface) has two
main interpretations. It is used to refer to both a server-side API upon a web

server as well as client-side API within a web browser. We use server side API i.e.
google APIs for our project.

Server Side
A server-side web API is a programmatic interface to a defined request-response message system,
typically expressed in JSON or XML, which is exposed via the webmost commonly by means of
an HTTP-based web server. Mashups are web applications which combine the use of multiple such web
APIs.
While "web API" in this context is sometimes considered a synonym for web service, Web 2.0 web
applications have moved away from a service-oriented architecture (SOA) with SOAP-based web
services towards more cohesive collections of Restful web resources. These Restful web APIs are
accessible via standard HTTP methods by a variety of HTTP clients including browsers and mobile
devices..

Client Side
There are a number of client-sides web APIs that have been developed (mostly targeting
standardized JavaScript bindings to functionality within a web browser).
The Mozilla Foundation created their WebAPI specification which is designed to help replace native
mobile applications with HTML5applications.

2.7 XML

It is a markup language that defines a set of rules for encoding documents in a format that is both humanreadable and machine-readable. It is defined in the XML 1.0 Specification produced by the W3C, and
several other related specifications, all free open standards.
The design goals of XML emphasize simplicity, generality, and usability over the Internet. It is a textual
data format with strong support via Unicode for the languages of the world. Although the design of XML
focuses on documents, it is widely used for the representation of arbitrary data structures, for example
in web services.

Many application programming interfaces (APIs) have been developed to aid


software developers with processing XML data, and several schema systems exist
to aid in the definition of XML-based languages.

Key Terminology

(Unicode) character

By definition, an XML document is a string of characters. Almost every


legal Unicode character may appear in an XML document.
Processor and application
The processor analyzes the markup and passes structured information to
an application. The specification places requirements on what an XML
processor must do and not do, but the application is outside its scope. The
processor is often referred to colloquially as an XML parser.

Markup and content


The characters making up an XML document are divided
into markup and content, which may be distinguished by the application of
simple syntactic rules. Generally, strings that constitute markup either begin
with the character < and end with a >, or they begin with the character & and
end with a ;. Strings of characters that are not markup are content. However,
in a CDATA section, the delimiters <![CDATA[ and ]]> are classified as
markup, while the text between them is classified as content. In addition,
whitespace before and after the outermost element is classified as markup.
Tag
A markup construct that begins with < and ends with >. Tags come in three
flavors:

start-tags; for example: <section>

end-tags; for example: </section>

empty-element tags; for example: <line-break

/>

Element
A logical document component which either begins with a start-tag and ends
with a matching end-tag or consists only of an empty-element tag. The
characters between the start- and end-tags, if any, are the element's content,
and may contain markup, including other elements, which are called child
elements.
An
example
of
an
element
is <Greeting>Hello, world.</Greeting> (see hello world). Another
is <line-break />.
Attribute

A markup construct consisting of a name/value pair that exists within a starttag or empty-element tag. In the example (below) the element img has two
attributes, src and alt:
<img src="madonna.jpg" alt='Foligno Madonna, by Raphael'/>

Another example would be


<step number="3">Connect A to B.</step>

where the name of the attribute is "number" and the value is "3".
XML declaration

XML documents may begin by declaring some information about


themselves, as in the following example:
<?xml version="1.0" encoding="UTF-8" ?>

2.8 HTML5
HTML5 is a markup language used for structuring and presenting content for the World Wide
Web and a core technology of the Internet. It is the fifth revision of the HTML standard (created in
1990 and standardized as HTML 4 as of 1997 and, as of December 2012, is a candidate
recommendation of the World Wide Web Consortium (W3C). Its core aims have been to improve the
language with support for the latest multimedia while keeping it easily readable by humans and
consistently understood by computers and devices (web browsers, parsers, etc.). HTML5 is intended
to subsume not only HTML 4, but also XHTML 1 and DOM Level 2 HTML Following its immediate
predecessors HTML 4.01 and XHTML 1.1, HTML5 is a response to the fact that the HTML and
XHTML in common use on the World Wide Web are a mixture of features introduced by various
specifications, along with those introduced by software products such as web browsers, those
established by common practice, and the many syntax errors in existing web documents.
It is also an attempt to define a single markup language that can be written in either HTML or
XHTML syntax. It includes detailed processing models to encourage more interoperable
implementations; it extends, improves and rationalizes the markup available for documents, and
introduces markup and application programming interfaces (APIs) for complex web applications.

In
particular,
HTML5
adds
many
new syntactic features.
These
include
the
new <video>, <audio> and <canvas> elements, as well as the integration of scalable vector graphics
(SVG) content (that replaces the uses of generic <object> tags) and MathML for mathematical
formulas. These features are designed to make it easy to include and
handle multimedia and graphical content on the web without having to resort to
proprietary plugins and APIs.

2.9 CSS3
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation
semantics (the look and formatting) of a document written in a markup language. Its most common
application is to style web pages written in HTML and XHTML, but the language can also be applied
to any kind of XML document, including plain XML, SVG and XUL.
CSS is designed primarily to enable the separation of document content (written in HTML or a
similar markup language) from document presentation, including elements such as the layout, colors,
and fonts. This separation can improve content accessibility, provide more flexibility and control in
the specification of presentation characteristics, enable multiple pages to share formatting, and reduce
complexity and repetition in the structural content (such as by allowing for table less web design).
CSS can also allow the same markup page to be presented in different styles for different rendering
methods, such as on-screen, in print, by voice (when read out by a speech-based browser or screen
reader) and on Braille-based, tactile devices. It can also be used to allow the web page to display
differently depending on the screen size or device on which it is being viewed. While the author of a
document typically links that document to a CSS file, readers can use a different style sheet, perhaps
one on their own computer, to override the one the author has specified.
CSS specifies a priority scheme to determine which style rules apply if more than one rule matches
against a particular element. In this so-called cascade, priorities or weights are calculated and
assigned to rules, so that the results are predictable.

The CSS specifications are maintained by the World Wide Web Consortium (W3C). Internet media
type (MIME type) text/css is registered for use with CSS by RFC 2318 (March 1998), and they
also operate a free CSS validation service.

2.10 AJAX
It is a group of interrelated web development techniques used on the client-side to
create asynchronous web applications. With Ajax, web applications can send data to, and retrieve data
from, a server asynchronously (in the background) without interfering with the display and behavior of
the existing page. Data can be retrieved using the ScriptManager object. Despite the name, the use of
XML is not required (JSON is often used instead), and the requests do not need to be asynchronous.
Ajax is not a single technology, but a group of technologies. HTML and CSS can be used in combination
to mark up and style information. The DOM is accessed with JavaScript to dynamically display, and
allow the user to interact with, the information presented. JavaScript and the ScriptManager object
provide a method for exchanging data asynchronously between browser and server to avoid full page
reloads.

The term Ajax has come to represent a broad group of web technologies that can be used to implement a
web application that communicates with a server in the background, without interfering with the current
state of the page. In the article that coined the term Ajax, Jesse James Garrett explained that the following
technologies are incorporated:

HTML (or XHTML) and CSS for presentation.


The Document Object Model (DOM) for dynamic display of and interaction
with data.

XML for the interchange of data.

The ScriptManager object for asynchronous communication.

JavaScript to bring these technologies together.

3. User Login and Access Permission

3.1 User Registration and login module

This project is divided into replace parts. The first module which was designed
was the user and NGO registration module. For this purpose asp.net functionality
of Login and Registration was used (i.e. Create User and Login Panel).
3.1.1 User Registration:

Registration module provides user with a web form which has various option to
facilitate registration. These options include text box for user name, password,
email id, security question and answer and a radio box for selecting whether the
registration entity is a user or an NGO.

After taking the details from the user the fields are validates against proper well
defined constraints (i.e. unique email id and user name, password strength etc.). A
form with and empty field is not accepted.
After taking in inputs the details are stored in MSSQL database connected to the
web application. Password is stored as 128 bit cryptic key generate using md5

encryption algorithm in aspnet_Membership table. At the time of login or


password recovery the User details are verified using these tables itself.

3.1.2 User Login

For the login process User Name and password in taken as input through a
webform which contains two textboxes to take user name and password as input.
ASP.NET inbuilt functionality to verify user name with the password is used
through membership class to validate the credentials. If this is successful then the
role of user is determined (i.e. donator or NGO) and accordingly user or NGO
panel is opened.

Screen Shot of Login Panel:

SCREENSHOT OF USER PANEL:

SCREENSHOT OF NGO PANEL:

3.2 Access Permissions:


3.2.1 NGO

A user logged in as an NGO will see the NGO panel by default through which he
can keep track of the donation available in his vicinity. The other webpage
available to NGO access user includes a detail entry page, into which he can enter
and update his personal details which include his location, preferred categories etc.
Further he can also access all the pages available to a guest except the login page.
Screen shot of detail entry page

3.2.2 Donator

A user who is logged in with donator role will view the donate_request page by
default. Donator can view record and keep track of donations which he has made
through this portal. He can also access all the pages available to a guest except the
login page.
Screen Shot of donation tracking (optional)

3.2.3 Guest

Here we refer to guest as a user who is not logged in as a donator or an NGO.


Since he is not logged he will have a limited access level. He can view pages
including about us, contact etc. along with signup and login form.

When the User/Guest click on NGO names then complete detail of NGO are
shown a below

4. Donation Request Mechanism


4.1 Introduction

We define Donation Request Mechanism as a process through which a donator puts


up a request to donate something. In this project it comprises of three steps which
are represented in form of a multiview system comprises of three views
representing each step in the Process. These steps can be broadly classified as:

4.2 Step 1

This step allows user to input the detail of item he wishes to donate. These details
include a description of item and its category. Category is further divided into
various subsections which include various things like toys, furniture, electronics
etc.

Image of Step 1:

4.3 Step 2

In this step user selects a pickup date. This date is according to the convenience of
user. Whatever date is selected by the user, NGO is required to pick the item in that
date only. This is done to make the process of donation easy for the user. Validity
of donation request is on this date only.
Image of step 2:

4.4 Step 3

This step requires the user to provide the address of pickup. The address includes
basic street address along with optional feature to input the coordinates of the
location of pickup. The function of entering the latitude and longitude are featured
by Google Maps API. Thus making it easy for the NGO to find the pickup location
very conveniently.
Image of step 3

5. Donation Requests and acceptance Management


5.1 Introduction

This chapter describes how the requests are being managed by application. This
module of managing donation request is further divided into two parts:
1. Donator Request Management
2. Request Lock Mechanism.

The donator request management deals with efficient handling of various donation
requests given by multiple users. It also determines which requests are available to
which NGO based on the location and category of NGO.
Request Lock Mechanism kicks in when an NGO accepts a request. It checks who
all NGO have accepted a request and decides the NGO which will be finally
getting that request.

5.2 Donator Request Management

When a donator registers a donation request, it gets recorded in a donation table.


Then according to the category of donation and location of pickup address, the
donation request is made available to various NGOs. NGO can then accept a
request based on their requirements.

5.3 Request Lock Mechanism:

This mechanism kicks in when an NGO select a request. The entry corresponding
to the request made by NGO is marked locked in the database so that it cannot be
accessed by another NGO.

6. REQUIREMENTS

6.1 Hardware Requirements

Pentium 4 @ 1 Ghz

512 MB RAM or higher

10 MB free hard disk space

1366 x 768 minimum resolution required

DirectX 8.0 or higher

Constant Internet Connection @ 512 kbps or higher

6.2 Software Requirements

IE 9+ , Chrome, Firefox, Safari or any other browser with JS support

Stable OS like Windows, Linux, etc

7. Future Works and Expansions


7.1 Future Expansion

7.1.1 Current Situation and scope

The project Donate Portal is currently in development phase and hence is not
currently deployed. Future of the project lies in the fact, that more the people and
NGO will become aware of the portal, more will its reach and hence more the
successful the project is. We do not aim to earn profit through this project but the
aim of the project is to let the general public and NGO interact without
intervention of third party and create an environment blessed with goodwill and
cooperation.
7.1.2

Expansion

We do not want to limit the scope of this to only product donations only instead we
want to expand the scope of this project to services also. Services here means that
people would able to volunteer for services they are good in. As for example,
teacher can volunteer for teaching unprivileged students on their weekends etc.
7.2 Functionalities

Although the application in fully functional and complete in terms of necessary as


it is, but in future we wish to add further functionalities to the project.
The functionality we wish to further add are:

1. Donation of services: This will be for those who are willing to teach their expertise to
unprivileged people during their free time.

2. Good Interface: We wish to use jQuery for to make the web application more simple to use.

3. We also wish to made this application less heavy on the browser.

4. Right now the map functionality is too heavy for the mobile. We, in the future wish to correct this
using Bing or Google mobile API or maybe mobile OS native map application.

8. Software Requirement Analysis


For analysis of requirement for the software to be developed first of all we set
some guidelines and following those only we start analyzing in a specific
manner. The whole analysis work was divided into following activities:
8.1 Problem Recognition

We deeply assessed the use and technical feasibility of the software to be developed.

Then we defined the technical environment in which the product or system is to be


placed.

Then we identified the Domain Constraints i.e. the specific environment needed for
effective application. This helps us to limit the functionality and performance of the
software.

8.2 Problem Evaluation and Solution Synthesis

We observed all the data objects to be used by us.

Then according to the objects and functions we have analyzed, we now decided the
flow of the information as per the requirements

Then we define the software functions which we must make to obtain the flow of
data and achieve the projects objective.

Now we analyze the behavior of the software after defining all above tasks so as to
fix the performance.

Now we decide the requirements keeping in mind the system specifications.

8.3 Modelling
The modelling is performed by designing the DFDs for all the possible states of the software.

8.4 Creation of Specification


The specifications were made as per the design analysis. It was confirmed that:

Is each requirement consistent with the product design?

Is the requirement really necessary or just the add-on feature?

Does any requirement conflicts with the other requirements?

Is the requirement achievable in the specific technical environment?

8.5 Review of Requirements


In this stage we just review all the requirements listed by us and see arent we missing any
one during our calculation and logic planning. Here we follow some basic guidelines:

Here we study the function and performance of computer based system and the
constraints.

The final statement of requirement is examined by the original sources.

The requirements which were testable were marked with tests to exercise the
requirements later.

It was made clear that the requirement is traceable to overall system objectives.

The requirements associated with the system performance, behavior, and operational
characteristics were clearly stated.

9 SOFTWARE ATTRIBUTES

9.1 Reliability
The software is quite reliable in allowing users to view latest wholesale prices for available
commodities and its variety in the markets and carry out necessary operation to fetch data
from database. Web service also provides the proper structured XML document for the query.

9.2 Availability

The website is available for use for any type of user (wholesaler / retailer / others) without
any restrictions and rights to modify lie only with the authorized administrator. Also, the
software is not meant for sale purpose.

9.3 Security
The access to database and admin panel of the website is allowed only to authorize
administrator. All the transactions are done over the secured connection.

9.4 Maintainability
The software is designed in easily maintainable and upgradable environment where the
administrators can easily update the contents and descriptions. The maintenance of the
database will be solely handed by the administrators manually.

9.5 Portability
The software is easily portable to another platform that has been defined in the definitions
section and along with this full fills the software and hardware requirements. It satisfy the
minimum memory requirements as stated in the hardware requirements.

Conclusion

According to me there are many people in India who want to help by donating
different things but are unable due to limited access to NGOs. According to my
theory gap between these people and NGOs can be narrowed by this DONATE
PORTAL. It has been a great pleasure for me to work on this exciting and
challenging project. This project proved good for me as it provided practical
knowledge of not only programming in ASP.net, SQL and other technologies,
but also about all handling procedure related with websites. This will provide
better

opportunities and guidance in future in developing projects

independently.
Benefits:
The websites provides users with a simple interface which can be easily used by any type of
user.
This provides people to connect with the NGOs with an easy to use interface and provides a
platform for people who want to help others but are unable due to incomplete access to
NGOs.
Users get home pickup system so they can donate form home also.
Site can be used by people with minimal knowledge of computers also.
We introduced a new concept in which people can donate services also.

Limitations:
The process of data updating in the SQL tables is quite a tedious work and requires some
maintenance also.

The site cannot be used by people with absolute zero knowledge of computers o these people
still are not able to get access to these NGOs.
Training for simple computer operations is necessary for the users working on the system.

References
During the development of this project we get large amount of help from our
teachers, friends and lots of source code websites. List of them includes:

Books Referred:

C Sharp Yellow Book2009 By Rob Miles


ASP.NET 4.5 Black Book 2010
Google Maps API
ASP.NET Web Application NIIT

Websites Referred

www.html5rocks.com
www.aspdotnet-suresh.com
www.w3schools.com
www.Codeproject.com
www.Google.com
en.Wikipedia.org
www.thenewboston.com
www.stackoverflow.com

Das könnte Ihnen auch gefallen