Ahmed FYP
Ahmed FYP
(A WEB-BASED APPLICATION)
BS (Computer Science)
By:
Mr. Ahmad Mehboob
Supervised By:
Mr. Ghani-ur-Rehman
This is to certify that we have read and checked the project report. This project is hereby
approved and recommended as partial fulfillment of the degree of Bachelor in Computer
Science from Khushal Khan Khattak University, Karak.
Supervisor:
Mr. Ghani-ur-Rehman Signature:
Lecturer (Computer Science)
Department of Computer Science & Bioinformatics
KKKUK
Internal Examiner
Dr. Muhammad Inam-ul-Haq Signature:
Assistant Professor
Department of Computer Science & Bioinformatics
KKKUK
Head of Department
Dr. Muhammad Inam-ul-Haq Signature:
Assistant Professor
Department of Computer Science & Bioinformatics
KKKUK
Karak, Pakistan
ii
DEDICATION
We lovingly dedicate this project report to our parents, who always guided us in our whole
life and pray for our success at every stage of life and for our good and bright future. Without
their support, we were not able to complete this project report in such a beautiful manner.
iii
DECLARATION
We hereby declare and confirm that the work done in preparation of this project report is our
own doing and a reflection of our own understanding for the final year project. On
understanding the idea we successfully developed and executed this web-based application.
iv
PREFACE
The innovation and discoveries of human has enabled them to accelerate the production and
make the resources available for their best use. Amongst all these inventions, Computer is the
most modern tool that has the capability to reduce not only physical work of a human, but
also to facilitate the mental abilities. Computer is the powerful problem solving tool in terms
of speed, accuracy, security and reliability. We cannot overlook the importance of computer
in any field of life. Therefore, this was the reason that we have been assigned a project related
to Computer based automation of different Charity Organizations-Donors communication for
the partial fulfillment of Bachelor Degree in Computer Science.
This report is pure developmental project regarding “DonateIt -a web-based application”. The
aim of this project was to develop a web-based application, that is feasible and to facilitate
the donors and charity organizations under any conditions.
v
ACKNOWLEDGEMENT
We bow our heads to Almighty ALLAH for His blessings to complete our documentation,
project and moreover Bachelor of Computer Science. We offer special thanks to ALLAH for
enabling us to achieve such difficult tasks.
This documentation would not be completed unless certain people were mentioned without
whose assistance this work would have been less than what it is.
First of all we would like to thanks from the core of our hearts to honorable and respectful
personality, Mr.Ghani-ur-Rehman, our project supervisor for his kind guidance and valuable
suggestions, as well as critical review of this project and also for his constant supervision and
profitable advices that helped us in completion of this project.
We are also thankful to Dr. Muhammad Inam-ul-Haq and the entire teaching staff of the
Department of Computer Science and Bioinformatics for their cooperation and guidance
during the four years session, due to which we are able to work on such project.
We also like to thanks all those people who are directly or indirectly related to this project.
vi
ABSTRACT
vii
PROJECT IN BRIEF
and
Muddasir Mehmood
CSS3,
Bootstrap4,
JavaScript,
PHP,
MYSQL
Year: 2019
Session: 2015-201
viii
TABLE OF CONTENTS
ix
3.1.4 Use Case Diagram Of The Admin………………………………………………. 19
3.2 Entity Relationship Diagram Of Proposed Application DonateIt……………… 20
Chapter 4 …………………………………………………………………………………… 21
4 Coding & Implementation………………………………………………………. 22
4.1 Tools Used For Coding………………………………………………………….. 22
4.1.1 HTML 5…………………………………………………………………………. 22
4.1.2 CSS 3…………………………………………………………………………….. 22
4.1.3 Bootstrap 4………………………………………………………………………. 23
4.1.4 JavaScript………………………………………………………………………... 23
4.1.5 PHP……………………………………………………………………………… 23
4.1.6 MySQL…………………………………………………………………………... 23
4.2 Users……………………………………………………………………………... 23
4.2.1 Admin……………………………………………………………………………. 24
4.2.2 Donor…………………………………………………………………………….. 31
4.2.3 Charity Organization…………………………………………………………….. 37
Chapter 5 …………………………………………………………………………………… 43
5.1 Testing…………………………………………………………………………… 44
5.2 Usability Test……………………………………………………………………. 46
Chapter 6 …………………………………………………………………………………… 47
6.1 Conclusion……………………………………………………………………….. 48
6.2 Future Recommendations………………………………………………………... 49
Reference …………………………………………………………………………………… 50
x
LIST OF FIGURE
xi
4.3(b) Organization’s Login Form………………………………………………… 39
4.3(c) Organization’s User Panel………………………………………………….. 39
4.3(d) Organization’s User Profile………………………………………………… 40
4.3(e) Organization’s Help Posts Option………………………………………….. 40
4.3(f) Organization’s Chat Option………………………………………………… 41
4.3(g) Organization’s Received Donations View………………………………….. 41
4.3(h) Organization’s Events Post Option…………………………………………. 42
4.3(i) Organization’s Events Submit……………………………………………… 42
xii
LIST OF TABLES
xiii
Donatelt (Web Base Application) Introduction
CHAPTER
INTRODUCTION
1. Introduction
DonateIt is a Charity Web-based Application. It is a project which is developed by Ahmad
Mehboob and Muddasir Mehmood at Khushal Khan Khattak University, Karak (2019) under
the supervision of Mr. Ghani-ur-Rehman.
With the increasing level of poverty, helping poor people is becoming more and more
essential, there are many different charity organizations that are working for this purpose.
These organizations also arrange different events in different cities related to this issue. We
are interested in providing the platform where charity organizations can make their work
online as well as inform people about their upcoming event’s location and time. So that
people will get informed in time.
DonateIt is a place where charity organizations will first create an account that will be
approved by an admin then this notification that “This account is registered” will be shown
on News Page, so that it can start work. After that it can post for required help; that this
charity organization needs donation and also post about the upcoming events in different
cities. It will also receive donation from donors, while donors can see news about all the
upcoming events arranged by the charity organization.
Donor will also be able to respond to donation request by charity organization then he will
start chatting with the charity organization. Finally, the donor will donate any item. Admin
will approve it and will be added to donor’s donation history.
Any user who is not registered can also be able to know about the upcoming events arranged
by any charity organization and also view that the charity organization needs donation, but
for donating items user must have to be registered as donor with this platform.
1 .1 DonateIt
This application is divided into three modules, these modules are explained bellow.
DonateIt provides a platform where charity organizations can post about their upcoming
events, news, etc. As well as, take donation from donors who are interested in donation.
1.1.2 Donor
The donor is enabled to get informed about the charity organization’s upcoming events and
the status that it needs help, so the donor will chat with charity organization, donate
something to charity organization and view all of his donation history.
1.1.3 Admin
Admin will be able to approve all the functions that are happening. Like charity
organization’s account registration, its posts, interested donor request and donation.
DonateIt is an Open Source Software i.e. DonateIt can utilize the resources available on
system without any cost. Therefore, it is going to be freely available. It is platform-
independent and easy to operate and maintain.
CHAPTER
SYSTEM ANALYSIS
This part of the documentation is to give an insight of Android applications which are
available at the market and are somehow related to the category of charity.
Anyone can use Charity Miles, anywhere - walking the dog, on your morning jog, or just
moving through your day. Even if he is already using a Fitbit or other activity tracker, he can
still use Charity Miles to do more with his steps and earn money for charity organization.
This application works like a pedometer, run-tracker, walking timer, cycling meter or running
stopwatch. One will have just to start and stop to track the workout done.
“So far our members have earned over $2.5 million for charity” (Charity Miles Walk&Run
Tracker (2017)).
Therefore, this is a great application for those who can’t afford to donate and is a great
motivation too for those who want to lose weight and get healthier. But on the other hand, it
does not fulfill the requirements of the organization as the donation would come from the
advertisements of the application and it won't be enough to cover the expenses of the
organization. So it is a good step but still improvement is needed.
According to the developers of this application, “it costs only $0.50 to feed a child for one
day”, “Share The Meal is part of the United Nations World Food Program” and “16 million
meals have been shared” (Share The Meal –by the United Nations WFP (2017)).
Minimum donation is for one-day food which cost $0.50 and there are other packages
available in which money can be donated to feed a child for a day and up to a year and food
can be provided to many children for a year (Share Th eMeal –by the United Nations WFP
(2017)).
Figure 2.1.2(a): Share the meal Figure 2.1.2(b): Share the meal 2
This application can also be used to send gifts to your loved ones by donating on their behalf
and they will receive personalized e-cards from Share The Meal. Donors are also enabled to
share their donations on social media like Facebook to motivate others too and users can also
see the progress of the campaign.
This is a great application as it asks for the very low amount of money to give food to a single
child for a whole day. This application seems to be a pretty good application as a very
important issue has been addressed, but on the other hand, as mentioned in the earlier part
that still there is a lot of improvement needed because hunger is not the only problem. So we
also need to give opportunities to organizations which are working in other fields.
2.1.3 Smile2Charity
Smile2Charity is an android application which works on peer-to-peer donation instead of
donating to an organization. There are different grades and one must donate a certain amount
of money in order to get to the next grade at each level one can receive up to 5X of donation
that has been done to get to this grade from previous grade (Smile2Charity (2017)).
So this application is a great step to involve people in the cycle of donation while keeping
organizations out of the scene. Additionally, it has been made sure that no one is just a
receiver as everyone has to donate first to get donated, but one cannot find and difference
between others those who really needs donation. Secondly, one cannot ask for a donation if
he has not donated himself yet. So it will limit those who cannot donate in the first place.
Next step which comes after inspiration is donation. So it facilitates the users to donate and
support any of the projects with 1$ or more.
If it feels good, you can pass it on to others by sharing your work with others to inspire them.
Users can donate on behalf of their friends and family and give them a gift of kindness.
It is a non-profit application and there is not any transaction fee. All donations go for non-
profit. Tax is deductible and the user gets a year-end tax receipt for all his donations done.
This is a superb application which has many campaigns going on in parallel and these
campaigns covers wide range of different domains, but still this application has limitations as
every organization cannot sign-up for this application.
As stated earlier that this web-based application does not let donors donate directly through
the application, but the purpose is to connect donors and organizations. After the connection
has been established between donors and organizations, the donation will be done off
application. For example, an organization needs 100 blankets. The organization will post
donation request and ask for 100 blankets along with other details of donation campaign.
Donors will send different offers. Then the organization can discuss other details with the
donors through the chat option. After details have been finalized, donor will donate item they
want to do it. After the donation process has been completed, the admin will accept the offer
so that progress details can be updated by the application.
As there are many applications developed around the idea of charity and donations. Some of
them have already been discussed in the previous chapter of the documentation just to give an
idea about the already developed applications. We have seen that every application had its
own limitations and none of them completely fulfilled the needs and requirement of donors
and charity organizations. So that this research was carried out in order to know that what are
the requirements of organizations and donors. In light of that research, limitations of the
previously developed applications have been decided, so that these points can be focused
individually and provide a good alternative to the organizations as well as donors. ‘DonateIt’
is designed in such a way that the limitation found out are completely eradicated and some
other features are added which targeted users wanted to have in the application.
Functional requirements are the functions of a system or its components, where a function is
described as a specification of behavior between inputs and outputs. Functional requirement
specify particular result of a system. Following are the functional requirements of this
application.
Non Functional requirements are the requirements that specifies the criteria that can be used
to judge the operation of the system, rather than specific behavior. They are contrasted with
functional requirements that define the specific behavior or function. Following are the non
functional requirements of this application.
2.3.1 Performance
The system must be interactive and the delays involved must be less. So in every action-
response of the system, there are no immediate delays. In case of opening windows forms,
popping error messages and saving the settings or sessions there is delay much below 2
seconds. In case of opening databases, sorting upcoming events and donation needing posts
and news related to charity organization accounts approvals there are no delays and the
operation is performed in less than 2 seconds for opening, sorting, computing, posting > 95%
of the files. Also when connecting to the server the delay is based editing on the distance of
the 2 systems and the configuration between them so there is high probability that there will
be a successful connection in less than 20 seconds for sake of good communication.
2.3.2 Safety
2.3.3 Reliability
As the system provide the right tools for posting for upcoming events, needing donations,
chatting of donor with charity organization and donation send by donor to charity
organization. It must be made sure that the system is reliable in its operations and for
securing the sensitive details.
2.3.4 Availability
If the internet service gets disrupted while sending information to the server, the information
can be sent again for verification.
2.3.5 Security
The main security concern is for donor and charity organization accounts hence proper login
mechanism is used to avoid hacking.
2.3.6 Usability
As the system is easy to handle and navigates in the most expected way with no delays. In
that case the system program reacts accordingly.
CHAPTER
SYSTEM DESIGN
Figure 3.1: Use case diagram of the Login and Registration System
CHAPTER
Tools are basically programs that are used for software development or system maintenance.
Virtually they helps programmer or users to develop application or maintain their computers.
4.1.1 HTML5
HTML5 is a core technology mark-up language of the Internet used for structuring and
presenting content for the World Wide Web. It is the fifth revision of the HTML standard. 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.
4.1.2 CSS3
Cascading Style Sheets (CSS) is a style sheet language used for describing the look and
formatting of a document written in a mark-up language. CSS3 is a latest standard of css
earlier versions (CSS2).
4.1.3 Bootstrap4:
Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-
end web development. It contains CSS and (optionally) JavaScript-based design templates
for typography, forms, buttons, navigation and other interface components.
4.1.4 JavaScript:
4.1.5 PHP:
4.1.6 MySQL:
The PHP code consists of a core, with optional extensions to the core functionality. PHP's
MySQL-related extensions, such as the MySQL extension, and the MySQL extension, are
implemented using the PHP extension framework. An extension typically exposes an API to
the PHP developer, to allow its facilities to be used programmatically. However, some
extensions which use the PHP extension framework do not expose an API to the PHP
developer.
As there are three different types of users of this application, so this chapter is started with an
explanation of each user role, their privileges and design of each of the user may face during
the use of the application.
4.2 Users
There are three types of users of this application.
Admin
Donor
Charity Organization
As there are three different types of users, clarification and explanation are needed in order to
differentiate between their available features and constraints.
4.2.1 Admin
Admin has a very short but most important role. As organization can register themselves on
the application. So authentication them is the key problem. So in order to do that, the admin
comes in.
When an organization creates an account, account details will be sent to the admin.
As it can be seen in the picture below, on the homepage of the admin account, the admin will
see a list of organization names which are waiting for the authentication.
Upon clicking on the any “Approve” button , this organization’s account will be accepted.
Now a message will be displayed on the News page that their CEO’s are informed that their
accounts are accepted like in the given below image.
Here admin can accept or reject the account after the accepting process by clicking on the
block button.
When Charity Organizations post for needing donation. It will be displayed first to admin.
When admin will accept it, then Donor will be able to see this and will respond on it. Admin
will approve by clicking on the “Approve” Button.
After approving, admin can also disable this post by clicking on the “Remove” button.
After accepting it will be shown to donors and also to guests like below
For Guests
Whenever Donors are interested in donation, their communication with charity organization
will be approved by the admin. Admin will allow them by clicking on the “Allow” button.
When Donors are donating something, their donation request will be send to admin. When
admin approve, then it will be received by charity organization. Admin will approve by
clicking on the “Accept” button like in the below screenshot.
When charity organizations have upcoming events, they will post for it. First it will be
approved by admin. Admin will approve it by clicking on the “Approve” button as shown in
the below screenshot.
After accepting by admin the Upcoming event will be showed on the news page like in the
given below screenshot.
For guests
For Donors
4.2.2 Donor
The donor is the most important user of the application because donation and charity work
cannot be carried out without the donor. Below are the details of the features for donors
Donor Sign-Up
The Donor must have its own account. First of all they need to create their account. Their
account creation form is shown in the given below screenshot.
Based on the information provided in this sign up form they will be able to login into the
system.
After providing the correct user name and correct password , they will be redirected to
dashboard. Donor dashboard will be as shown in the screenshot
They will be able to edit his profile by clicking on the User Profile as shown in the screen
shot.
When user clicks on the “Upcoming events” as shown in the screenshot , it will show all the
organization posts which requires donation.
If the Donor are intested in donation. They can also start chat with charity organization first.
For which they will need to click on “INTERESTED IN DONATION” as shown in the
screenshot. Which will causes to put one communication request for admin to approve.
Which will causes to allow him for chatting with charity organization.
Start Donation:
They will click on the “ADD NEW ITEM” for adding new item which is available with
donor for donation.
Chat:
When Donor will click on the “Chat”, there will those messages which are waiting for reply.
These are those messages which is received from those Charity organizations to whom the
user shown his interest in donation.
Donation History
The donor can see the donation history in this part of the application. Whenever an offer is
accepted by the admin, the offered quantity along with the item is added to donor donation
history.
Events
The donor will see the list of all the events posted by this charity organization. For each
event, the title, Description, date and charity organization name will be shown to the donor.
By Clicking on “News” they will see all the arranged events as shown in the screen shot.
Organization Sign-Up
The organization must own an account before starting using this platform. The sign-up form
can be seen in the picture below. The organization must fill this form and click on the
Register button in order to create the account. After filling the form, the admin must verify it
through the information sent to the admin given while filling the form.
Organization Sign-In
After the account is approved by the admin, the organization can log in to the account using
the login screen shown in the below picture. The organization will put the username and
password. If the username and password are correct, the charity organization will
automatically be forwarded to the charity organization’s dashboard.
AskforHelp
If any charity organization need any help. Means when they donation, they will click on
“ASKFORHelp” and will fill form which will accept admin. Then Donor can show his
interest in donation to this organization for this post.
Chat:
When Charity organization will click on the “Chat”, there will those messages which are
waiting for reply. These are those messages which is received from those Donor who shown
his interest in donation.
Received Donation
The charity organization can see the recived donation history in this part of the application.
Whenever donated item is accepted by the admin, the offered quantity along with the item is
added to charity organization received donation.
Events
The organization will see the list of all the events posted by this organization. For each event,
the title, description, data and organization name.
The organization can delete any event by clicking on the “DELETE” on the bottom.
The organization can post another event by clicking on the “Add Event” on the bottom. The
organization will need to fill the form and click on the ‘Submit button in order to post the
event.
CHAPTER
TESTING
5.1 Testing
Testing is an important part of the development of any system because of the reason that no
one will be willing to take a risk of using a system which is not thoroughly tested. So testing
plays an important role in gaining the trust of the users and convincing them in using your
product.
charity user
organization
replied
7 Click on User should be View All the Pass
“News” Button logged in upcoming
events by the
arranged by
organization
8 Click on User should be Log outs user Pass
“Logout” logged in from the
button system
9 Click on “Ask Charity The Post is Pass
for Help” organization send to admin
should be log for approval.
in and verified After
approving by
admin it is
displaying to
Donor for
taking
donation from
them
10 Click on Admin should When admin Pass
“Block” be log in and clicked on
the charity “Block”
organization button , then
account should the charity
be accepted organization
once by admin which was
approved is
blocked and
cannot log in
Usability testing is related to check the usability of the application by the targeted users. For
this purpose, the application was used by the users and they were asked to test the functional
features and check the overall usability of the application.
The feedback was encouraging because users were satisfied with features as well as the
layout and flow if the application. They did not face any difficulty in understanding the flow
and working of the application.
CHAPTER
6.1 Conclusion
The conclusion of project documentation is a great point to reflect back at the start of the
project and give an overview of the events as well as problems faced along with lessons
learned.
At the start of the project, detailed research was conducted in order to figure out the
commonly faced problems. Many donors as well as organizations were approached in order
to determine actual problems and requirements. After problems were identified,
brainstorming and further research was conducted to find optimum solutions to those
problems in the context of our project scope. As many problems were unraveled, many of
them trivial and developing a system which would solve all those problems requires a longer
time duration and resource i.e. designers, software developers, interface engineers ect. So it
was another challenge to plan a product to be brief enough to be completed within a given
timeframe while being an appropriate adaptable solution to the users. As a result for planning,
features were divided into distinct categories depending upon their importance. After
categorizing the features, product plan was made in which basic workflow of the application
was decided.
Responsive Web application was selected as the development platform to give mobility to the
product on every smartphone dominates the majority of portable mobile market. Prototyping
was started so that initial look of the application can be decided and any issues with the
interface may be solved.What followed was database design in accordance with the flow of
the application. The last step was the start of development phase.
As the goal of the project was to connect donors and charity organizations, so requirements
and limitations of already developed applications were thoroughly researched and analyzed.
This made life easier, momentarily as a clear vision was already built up in the mind in order
to remain on track. In the end, the product was successfully developed and with all the
features set at the start of the project. The responsive web application facilitates people who
want to make the world a better place by enhancing productivity of welfare organizations and
their management.
As far as results are concerned, ‘DonateIt’ has very satisfactory results while looking into the
aims and objectives of the application which were set during the planning phase of the
application. The application has been tested many times in order to ensure everything works
fine and according the way it was planned.
One of the main problems the organization may potentially face is the difficulty to use a
website for a long period of time on computers. As we know that organizations will be
managing many things at a time. So a responsive web is developed to make their life easy
because of the reason that it is easy to work on the computers for constantly long hours as
well as on smart phones.
Additionally, another problem is that nothing is done in order to see where donations are
being utilized. So there is not any way to see the performance of an organization. Therefore,
some sort of rating process needs to be added where organizations will show the utilization of
the received donation and let donors rate them on the basis of multiple parameters to enhance
transparency.
Moreover, social media sharing option and commenting on the donation request can be a
good addition to the application. It can play important role in attracting more people to the
requests and events. It will be done with time.
References
ShareTheMeal –by the United Nations WFP (2017). play.google.com. [ONLINE] Available
at: https://play.google.com/store/apps/details?id=org.sharethemeal.app&hl=en. [Accessed 29
December 2017].