0% found this document useful (0 votes)
119 views

Web Based Charity Systemff

This document summarizes a web-based charity system project. It includes an introduction describing the existing manual system and proposed automated system, objectives of creating an online platform, and methodology used including data collection and system design tools. The system requirements, analysis models, design, and database are then documented. Use case diagrams, activity diagrams, sequence diagrams, state diagrams, and class diagrams are included to model the system behavior and structure.

Uploaded by

codeavengers0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
119 views

Web Based Charity Systemff

This document summarizes a web-based charity system project. It includes an introduction describing the existing manual system and proposed automated system, objectives of creating an online platform, and methodology used including data collection and system design tools. The system requirements, analysis models, design, and database are then documented. Use case diagrams, activity diagrams, sequence diagrams, state diagrams, and class diagrams are included to model the system behavior and structure.

Uploaded by

codeavengers0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 59

[ Web-based charity system June 29, 2021

Acknowledgment
First of all, we would like to thank our almighty God who gives us love, patience, healthy,
wisdom, and the ability to finish this semester's project.
Our heartfelt appreciation goes to our adviser Felix Edesa for his guidance, valuable
suggestions, moral support, and constant encouragement in the documentation part and also for
constructive opinion and willingness to participate in each part of our documentation and his
effective direction.
We would like to thank many people for their kindness and assistance during our project work.
We truly appreciate the support of the people at the Mekedonia and Muday for their willingness
to interview, patience in answering our numerous questions.

I|Page
[ Web-based charity system June 29, 2021

Table of Contents
List of tables...............................................................................................................................................IV
List of figures...............................................................................................................................................V
Abbreviations.............................................................................................................................................VI
Abstract.....................................................................................................................................................VII
CHAPTER ONE: INTRODUCTION.......................................................................................................1
1.1 Background of the organization...........................................................................................................1
1.2 Statement of the problem.....................................................................................................................1
1.2.1 Existing System................................................................................................................................1
1.2.2 Major problem of the existing system..........................................................................................2
1.2.3 Proposed system............................................................................................................................2
1.2.4 Advantage of the proposed system........................................................................................3
1.3 Motivation............................................................................................................................................4
1.4 Scope and limitation of the project......................................................................................................4
1.4.1 Scope of the project..........................................................................................................................4
1.4.2 Limitation of the project...............................................................................................................4
1.5 Objectives......................................................................................................................................4
1.5.1 General objective..............................................................................................................................4
1.5.2 Specific objectives........................................................................................................................4
1.6 Methodology..................................................................................................................................5
1.6.1 Data collection method.................................................................................................................5
1.6.2 System design and analysis tools...........................................................................................6
CHAPTER TWO: SYSTEM REQUIREMENT SPECIFICATION......................................................7
2.1 Background Overview.........................................................................................................................7
2.2 Functional Requirement.......................................................................................................................7
2.3 Non-functional Requirement...............................................................................................................8
2.4 Feasibility Study..........................................................................................................................10
CHAPTER THREE: SYSTEM ANALYSIS AND MODELING..........................................................13
3.1 Overview............................................................................................................................................13
3.2 Scenario-Based Modeling............................................................................................................13
3.2.1 Use-case identification................................................................................................................13
3.2.2 Actor identification and description...........................................................................................14
3.2.3 Use-case Diagram................................................................................................................15
3.2.4 Activity diagram..................................................................................................................26

II | P a g e
[ Web-based charity system June 29, 2021

3.3 Behavioral Modeling.........................................................................................................................30


3.3.1 Sequence diagram.......................................................................................................................30
3.3.2 State diagram..............................................................................................................................34
3.4 Class Modeling..............................................................................................................................37
3.4.1 Class diagram..............................................................................................................................37
Chapter Four: System Design...................................................................................................................38
4.1 Overview............................................................................................................................................38
4.2.2 Component Identification and Description.................................................................................40
4.2.3 Component Diagram...................................................................................................................41
4.3 Architecture of the System.................................................................................................................42
4.4 Database Design.................................................................................................................................44
4.5 User Interface Design........................................................................................................................46
References....................................................................................................................................................50
Appendix......................................................................................................................................................51

III | P a g e
[ Web-based charity system June 29, 2021

List of tables
Table 1: System design and analysis tools.....................................................................................................6
Table 2: System development tools...............................................................................................................6
Table 3: Use-case description for login.......................................................................................................16
Table 4: Use-case description for Send profile for approval.......................................................................17
Table 5: Use-case description for post needs...............................................................................................17
Table 6: Use-case description for register...................................................................................................18
Table 7: Use-case description for Make promise donation.........................................................................19
Table 8: Use-case description for Make appointment.................................................................................20
Table 9: Use-case description for Update profile........................................................................................21
Table 10: Use-case description for Reject profile........................................................................................21
Table 11: Use-case description for delete....................................................................................................22
Table 12: Use-case description for Approve profile....................................................................................22
Table 13: Use-case description for Send profile for approval.....................................................................23
Table 14: Use-case description for Approve profile....................................................................................23
Table 15: Use-case description for Add agent.............................................................................................24
Table 16: Use-case description for Search...................................................................................................24
Table 17: Use-case description for Make online donation..........................................................................25

IV | P a g e
[ Web-based charity system June 29, 2021

List of figures
Figure 1: Use-case diagram for the proposed system..................................................................................15
Figure 2:The Activity diagram for System admin.......................................................................................27
Figure 3:Activity diagram for organization officer.....................................................................................28
Figure 4:Activity diagram for the donor......................................................................................................29
Figure 5:The sequence diagram for the organization officer.......................................................................31
Figure 6:The sequence diagram for a donor................................................................................................33
Figure 7:The State diagram for organization officer...................................................................................35
Figure 8:The state diagram for a donor........................................................................................................36
Figure 9:class diagram.................................................................................................................................37
Figure 10:Component diagram....................................................................................................................41
Figure 11:Deployment diagram for the proposed system............................................................................41
Figure 12:user interaction............................................................................................................................42
Figure 13: Architecture of the proposed system..........................................................................................43
Figure 14: Database diagram.......................................................................................................................45
Figure 15: Home Page.................................................................................................................................47
Figure 16:Register Page...............................................................................................................................48
Figure 17: Login page..................................................................................................................................49

V|Page
[ Web-based charity system June 29, 2021

Abbreviations

GB Gigabyte
GIT Global Information Tracker
JWT JSON Web Token
HTTP HyperText Markup Language
PAYPAL Electronic Payment Website
EBAY Electronic Bay
ORG Organization
DOS Denial-of-service
SSL Secure Socket Layer
HMAC Hash-based Message Authentication Code
BLL Business Logic Layer
DAL Data Access Layer
Adobe XD Adobe Experience Design

VI | P a g e
[ Web-based charity system June 29, 2021

Abstract
Many people want to donate and help charity organizations but they don't know, how to go about
it, where to find such organizations on their choice of action, what the available ways are, and so
on. Charity organizations also face many hardships in their advertising and fundraising activities.
Hence, this web-based charity system addresses this issue by developing a web-based charity
system as a hub of different charity organizations categorized based on their course of charity. It
provides donors full information about each organization and ways to donate at any time from
anywhere.

VII | P a g e
[ Web-based charity system June 29, 2021

CHAPTER ONE: INTRODUCTION

1.1 Background of the organization

Charity is a fundamental norm of Ethiopians which is deeply waved into the culture. This act
of philanthropy is advocated in every culture, religion, and value that exists in Ethiopia.
Simply, we can state that it is part of what is being an Ethiopian. This adorable social value is
also witnessed by foreigners as a manner of Ethiopians.

For centuries, charitable giving has been practiced in a traditional way where philanthropists
directly provide money to those in need have support who usually seat on streets or public
places. This mode of charity still constitutes the major share of charitable giving. However,
nowadays, several local charity organizations are emerging in Ethiopia. This organization
created a better platform where supporters can give their charity and those in need can get
support. The existing number of charity organizations is also increasing since the belief in the
concept of an organized form of charity is now being accepted widely.

Despite getting popularity, these charity organizations have several limitations especially in
the way of getting donations. They have an inefficient mechanism of advertisement and
collecting money and materials from donors. Consequently, the majority of them are
financially unstable. More specifically, these organizations are not easily accessible for
supporters and fundraisers in terms of physical distance and time. Moreover, most of these
organizations lack a well-established department that promotes their services and announces
the materials needed.

1.2 Statement of the problem


1.2.1 Existing System

1|Page
[ Web-based charity system June 29, 2021

We found some well-designed and established websites which are operating abroad took to
match good practices. Just to name a few charhub.org, nonprofithub.org, charitynavigator.org,
etc.

Since 2001, charity navigator has been empowering millions of donors by providing them with
free access to data, tools, and resources to guide philanthropic decision-making. Through our
ratings, nonprofits are equipped with the nonprofit sector's premier trust indicator and a powerful
platform to raise awareness and funds [1].

To our knowledge, no hub serves as a place for all charitable organizations that can be found in
Ethiopia. Some charity organizations have a basic promotional website which is not nearly
enough for getting any charities directly through their website. So by combining the experience
of those aboard charity hub with our countries demand a centralized hub we think it would be a
perfect project and help those charity organizations in the way.

1.2.2 Major problem of the existing system


 No way enables donors to choose between charity organizations for their donation.
 The donation process is space and time-bounded.
 It focuses only on monetary donations.
 It does not encourage materials and labor donation.
 It does not provide enough and trustworthy information about a charity organization.
 It is a tedious and fatiguing job to perform.
 The way of collecting money is not participatory for all persons.
 The fraud person can collect money for their interest.

1.2.3 Proposed system


 The system will be able to supply solutions to the fundraising problem of charity
organization’s main issues by first enabling individuals to donate online instead of
calling, which is seen to be beneficial for both donors and charity organizations.
 Donors can also read about the charity organization’s history, and the variety of services
offered and the Helps they gave out all on the web.

2|Page
[ Web-based charity system June 29, 2021

 The system will provide enough information about charity organizations' financial and
kind or material needs for their service.
 The system will advertise any project which is started by those charity organizations to
upgrade or expand their service.
 The system enables the donors can make a promise donation.

 The system will give full information about contacts, branches, email, location of those
organizations.

 The system enables supporters to deliver their materials support from where they are
through agents of these charity organizations.

 The system lets to book their appointment for those who want to support personally their
support could be labor work like washing clothes or professional support like
psychological consultancy.

 Moreover, the methodologies that are followed to gather support and address sufficient
information are bashful and retarded.

1.2.4 Advantage of the proposed system


 It encourages the charity donation to rely mainly on technology to publicize their
firm and communicate with donors/individuals.
 It will provide the latest information about the status of these charity organizations.
 It is multi optional donation type like money, material, and kind.
 It increases trustworthiness in support gatherings activities.
 It saved the time of the donors on the donation process.
 It is more accessible for all people who have a mobile phone or a computer with an
internet connection.
 It is participatory for all types of donors such as money donators, material donators.
 It facilitates material or kind support.
 It is a legal and recognized system.

3|Page
[ Web-based charity system June 29, 2021

 The donors can easily get all local charity organizations in one system and donate
easily.

1.3 Motivation
The motivation why we started this project is because of the lack of a web-based charity system
in Ethiopia, and it is known that charity is blessed work that deserves everyone's support. The
measures that are taken to do so are under what is needed. Even there is no such software
product to help this great activity.

1.4 Scope and limitation of the project


1.4.1 Scope of the project
This project is intended to create a web-based charity system for local charity organizations in
Ethiopia and the donors can have multiple options to help these organizations by money,
material, and kind. In addition to this donors can make a promise donation and make an
appointment to these organizations before they go to these charity organizations and include all
local charity organizations in a hub website.

1.4.2 Limitation of the project


 The proposed system will not work without an internet connection.
 Security may be an issue.

1.5 Objectives
1.5.1 General objective
The general objective of this project is to develop a web-based charity system.

1.5.2 Specific objectives


 To develop a system that acts as a hub for all local charity organizations.
 To develop a system that enables a donor can donate money online through the
internet.

4|Page
[ Web-based charity system June 29, 2021

 To develop a system that enables a donor can donate materials.


 To develop a system that enables a donor can support charity organizations by
their profession.
 To develop a system that provides full information of charity organizations.
 To design a system that provides a set of charity organizations in different
categories.
 To develop a system that enables donors to donate to more than one charity
organization without changing the website.
 To develop a system that enables automated report generation.
 To develop a system that enables a promise donation for charity organizations.
 To develop a system that enables online appointment setting for events.

1.6 Methodology
1.6.1 Data collection method
The requirement elicitation process was conducted by interviews and observations. We
interviewed major charity organizations. We observe a lot of disabled and needy peoples in
charity organizations and those peoples are in a critical situation .those people need food,
shelter, clothes, and medicine, and mentor. The main methodologies used in our data
collection progress were conducting interviews and searching on the internet to get some
additional information.

we have interviewed two local charity organizations. namely: Mekedonia and muday charity
association. Mekedonia helps more than 5000 elders and people with a mental disorder
whereas muday supports 450 mothers and 600 children. answering two core questions was the
main objective of the interview. Those questions are:-
i. How do you raise money?
ii. How do you promote charity activities?

Asking these questions, and we get the following answers:-


 On Fundraising:- mekedonia uses SMS and a direct donation from visitors and muday

5|Page
[ Web-based charity system June 29, 2021

uses some income-generating activities like selling enjera and cultural handcrafts work as
well as a direct donation from visitors to elevate its finance.

 On Promotion:- mekedonia uses flyers, banners, brochures, tv and radio advertisements.


they tried to use social media that is Facebook and youtube, but as they told us, it has
been hacked and also around 15 fake accounts were launched in their name so they
stalled it. Muday also uses the same ways as mekedonia does.

Therefore our main findings on the above discussion are:


Those organizations have no reliable and secured electronic (web-based) system for
fundraising and advertising their charity activities.

There is no local platform for a donor that provides them with a set of charity organizations
with different categories and options.

1.6.2 System design and analysis tools


Table 1: System design and analysis tools
Documentation Ms word
System Design and Modeling Enterprise Architect
Database Design MongoDB
Interface Design Adobe XD

1.6.3 System development tools

Table 2: System development tools.


Graphical Interface Framework Reactjs
Database MongoDB
Application Framework NodeJs
Version Control Environment Git
Web Server Node.js
API Testing Postman

6|Page
[ Web-based charity system June 29, 2021

CHAPTER TWO: SYSTEM REQUIREMENT SPECIFICATION


2.1 Background Overview
Requirement analysis is a process of determining users' expectations from a system, it
identifies and analyses the requirements for the new system using different models. To
develop an achievable system that meets its users' needs, we have gathered requirements from
various charity organizations and we have looked at different existing systems’ documentation
which is relating to our project. So based on our gatherings we have identified the following
functional and non-functional requirements.

2.2 Functional Requirement


Functional requirements define what is expected of a system or its components; they describe
the behavior of a system by describing what it is required to do. The proposed system deals
with online fundraising for the charity organization by collecting money, material, and
professional help from volunteer companies and individuals.
 The system shall record all changes made as history for each charity organization.
 The system shall enable the registration of new donors.
 The system shall display the contact information of the charity organization.
 The system shall display a simple note on the current status of each charity organization.
 The system shall enable donors to donate money, materials.
 The system shall create a new profile for the new charity organization.
 The system shall enable to deletion of an existing charity organization profile.
 The system shall enable to update of charity organization information.
 The system shall give information on how to support charity using this platform.
 The system lets search for charity organizations.
 The system shall enable you to make an appointment with the desired charity

7|Page
[ Web-based charity system June 29, 2021

organization
 The system shall send confirmation notifications for donors.
 The system shall promote ongoing projects of charity organizations.

2.3 Non-functional Requirement


o Scalability

As our service gets some traction and many people are drawn to it. It is expected to serve
thousands of customers at once. We will build these things in mind. Node.js comes to be the best
choice out in the market

Node.js popularity grew in the past years since 2017 this is because of its easy ways to scale.
Developing a server-side application can be tricky, particularly when it has to be scalable.
Node.js uses a single thread to handle non-blocking I/O calls, which means that it’ll take fewer
resources for the application to accept concurrent connections compared to traditional
approaches[2].

o Reliability

Considering our project's sensitive issue reliability is the number one thing we cannot
compromise on. To deliver a high degree of confidentiality to our customers we considered
aspects of the backend technology we used and the host.

Regarding our customer's sensitive data and privacy, we have every reason to be concerned
about data breaches and other forms of cyber-crimes as the internet is not a safe place. This is
why a secure and reliable web host is important. We make sure the host is as reliable and secure
as possible by taking some measures.

 The web host runs on high-quality SSL protocols and certificates

 The host provides round the clock technical support

 The host offers a manual reboot service

 The web host associates with high-quality domain names

8|Page
[ Web-based charity system June 29, 2021

 A security expert vouches for the web host service

o Usability

Considering our user age( 20-60) and cultural demographic, we have to make the system as easy
and simple as possible. That is why we choose the best front-end development technology.

In modern JavaScript creation, React.js is one of the most developmentally important frontend
libraries you can use. It helps you to create highly reactive user interfaces that have a user
experience that is fast and mobile-app-like.

o Maintainability

There is no perfect world. Things can go wrong and will go wrong, errors will happen. The best
thing we can do is to minimize the risk and find a way to react fast it happen. To do that we will
write a simple and maintainable code by:-

Recognize accidental complexity: Techniques that help me reduce complexity are declarative
and functional programming, and choosing composition over inheritance.

Start simple, build an evolvable architecture: Build the simplest thing that will work KISS(‘keep
it simple, stupid,’), and keep the YAGNI("You aren't gonna need it") principle in mind. Only
start creating abstractions once the code starts hurting to maintain or extend further. As soon as
you see yourself repeating a piece of code more than two times, it’s time to see if you can create
an abstraction to reuse the code.

o Security

Our system uses the best authentication and authorization ways to develop a system.
Although there are many authentication methods there the one we are going to use is JSON Web
Token(JWT). It is a state-less solution for authentication so there is no need to store any session
data on the server which is perfect for restful APIs like the one we are building. because stateful
API should always be stateless[3].

9|Page
[ Web-based charity system June 29, 2021

Node.js provides a built-in module called crypto that you can use to encrypt and decrypt strings,
numbers, buffers, streams, and more. This module offers cryptographic functionality that
includes a set of wrappers for OpenSSL's hash, HMAC, cipher, decipher, sign, and verify
functions[4].

To prevent a compromised database(an attacker gained access to our database)

 We Strongly encrypt passwords with salt and hash (bcypt)

 We Strongly encrypt password reset token (SHA 256).

Even if the attacker gained access to our database he/she couldn't steal the user's password or
reset them. To prevent Brute Force attacks (the attacker try to guess a password by trying
random passwords until he finds the right one).

 We use bcrypt(to make login requests slow).

 We Implement rate-limiting(express-rate-limit).

 We Implement maximum login attempts.

To prevent cross-site scripting(xss) attacks(when the attacker try to inject scripts to run his/her
malicious code)

 We Store JWT in HTTPonly cookies(never store jwt in local storage).

 The browser can only receive and send the cookie can not access or modify it.

 We sanitize user input data.

 We set special HTTP headers(helmet package).

To Prevent Denial-of-service (Dos) attacks (the attacker sends so many requests that the server
breaks down and the application becomes available).

 We Implement rate-limiting(express-rate-limit).

 We Limit body payload(in body-parser).

2.4 Feasibility Study


10 | P a g e
[ Web-based charity system June 29, 2021

A feasibility study considers a project's relevant factors to determine the likelihood of


completing a project successfully. It tries to find out whether a project is viable or not, under
certain circumstances. We have conducted the feasibility studies that are most relevant to our
project.

 Technical Feasibility
This assessment focuses on the availability of technical issue which is capable of converting
the proposed idea into a working system. Since for front end and back end, development,
node.js and react.js frameworks are proposed and MongoDB is selected for database design.
These things make development easy and possible. The system is applicable and easy to use
for any ordinary person who has basic computer skills. and it needs only an OS and 2GB ram
computer with 250GB hard disk which is the least specifications of available computers.

 Operational feasibility
The proposed system solves the bottlenecks stated in the statement of the problem section of this
document. We have a willingness of charity organizations to support the system solution. The
current mode of operation is suitable for the application of the proposed system.

 It increases the income of charity organizations by increasing promotion.


 The social acceptability of the system is also high.
 There is no direct or indirect resistance from charity organizations we have interviewed
so far.
 It saves the time, and effort of donors because they can easily get information about
charity organizations.
From the above parameters, we can deduce that it satisfies the requirements identified and
have pros listed under the advantages section of this document. So it is likely that the system
will be used if it is developed.

 Economic Feasibility
This could also be referred to as cost/benefit analysis. In the context of our proposed system:-
 The system does not require extra finance or material facilities beyond the simple

11 | P a g e
[ Web-based charity system June 29, 2021

computer, smartphone, and data connection that are available throughout every
organization.
 The development phase of the system also does not require any finance since the skill and
equipment which are needed for the development are on hand already.
 It reduces the existing manual effort and expense for promotion and fundraising
activities.
 The only money the system need is for maintenance cost, connection cost, operational
cost, and server rent cost.

 Schedule feasibility
Schedule feasibility is a study of whether the project will be completed within a given time
box. Everything needed including team dedication is one hand. So it is confirmed as time-
bound feasible.

12 | P a g e
[ Web-based charity system June 29, 2021

CHAPTER THREE: SYSTEM ANALYSIS AND MODELING


3.1 Overview
In this section, we represented the requirement analysis using different modeling approaches;
Scenario-based modeling (Use cases, Use case Diagrams, Activity Diagrams), Behavioral
modeling (State Diagram, Sequence Diagram), and Class-based modeling (Class Diagrams).
We will analyze the requirement analysis and specifications of the system to identify the
necessary elements and components for modeling a system that results in a system having high
efficiency and effectiveness.

3.2 Scenario-Based Modeling

3.2.1 Use-case identification

 Approve

 Reject charity org registration

 Login

 Create

 Update

 Delete

 post needs

 send profile for approval

 Register

 make promise donation

 View Charities

13 | P a g e
[ Web-based charity system June 29, 2021

 make online donation


 search
 make appointment
 add agent

3.2.2 Actor identification and description


System Admin: System Admin is an individual who controls the system .he checks the validity
of the organization that wants to be registered. He or she is expected to have some sort of legal
knowledge about charity-related things like legal aspects.

Charity Organization officer: Charity Organization officer is an individual who represents the
organization which has legal documents and approved by the concerned body of government

Donor: A donor is a person who is interested in making any kind of donation or service that a
charity organization may need. The donor can be representative of different organizations like
NGOs.

14 | P a g e
[ Web-based charity system June 29, 2021

3.2.3 Use-case Diagram

15 | P a g e
[ Web-based charity system June 29, 2021

Figure 1: Use-case diagram for the proposed system

16 | P a g e
[ Web-based charity system June 29, 2021

Use Case Log in

Primary Actor System Admin/charity organization officer/donor

Goal In Context Enable the actors to access the system

Preconditions The agent has a valid username and password and is not already
logged in

Trigger The agent requires access to the system to perform their job

Scenario 1) Enter the email address and password

2) Click login

3) Check for credential validity

 If it is invalid

1) Show error and enable to edit it

2) Enable the user to try again a couple of times

 If the user forgot their password

1) Click reset password

2) Enter email address

3) Press reset

Table 3: Use-case description for login.

17 | P a g e
[ Web-based charity system June 29, 2021

Table 4: Use-case description for Send profile for approval.

Use Case Send profile for approval

Primary Actor Organization officer

Goal In Context Get the organization profile approved

Preconditions If some organization creates an account on the system and send for
approval

The organization is not registered before

Trigger Get approved and rejected

1) fill all the forms and upload all legal papers

2) Submit

3) Check for validity


Scenario
 If forms are invalid

1) User edit error files and enter again

2) Resubmit

Table 5: Use-case description for post needs.

Use Case Post needs

Primary Actor Organization officer

Goal In Context To get donations for what the organization is lacking at the moment

18 | P a g e
[ Web-based charity system June 29, 2021

Preconditions 1) The organization’s profile must be approved

2) The organization is logged in

Trigger New projects come or there is some work to do

1) user list all its needs in items

2) post all needs

3) Check for validity


Scenario
 If forms are invalid

1) User edit error files and enter again

2) Resubmit

Table 6: Use-case description for register.


Use Case Register

Primary Actor Donor

Goal In Context Create a new account

Preconditions The donor is not registered before

Trigger Donor get access to the service

Scenario 1) select sign up

2) Fill the form

3) Check for credential validity

 If it is invalid

19 | P a g e
[ Web-based charity system June 29, 2021

1) Show error and enable to edit it

2) Enable the user to try again a couple of times

Table 7: Use-case description for Make promise donation.


Use Case Make promise donation

Primary Actor Donor

Goal In Context Donate

Preconditions The donor is registered

The donor must be logged in the system

Trigger Donor gives donation

Scenario 1) Select a charity organization to help

2) Select his/her way of helping

 If he/she select item donation

1) Get agent information

2) Send an email to the regional agent

 If it is a financial donation

If the donator domestic

1) Give charity bank information and redirect the page to its bank
page

If abroad donator

1) Fill online payment form

20 | P a g e
[ Web-based charity system June 29, 2021

2) Let the payment API deal with entered credential

If the donor is out of Ethiopia

Use API to donate

Table 8: Use-case description for Make appointment.

Use Case Make appointment

Primary Actor Donor

Goal In Context To set a schedule to help or attend in the event

Preconditions The donor is registered

The donor is logged in

Trigger The donor will be remembered at the time when the appointment is set.

Scenario 1) select the organization to help and attend the event

2) Enter the appropriate time

3) The organization will receive a message about an appointment

Table 9: Use-case description for Update profile.

Use Case Update profile

Primary Actor Donor/charity organization official

21 | P a g e
[ Web-based charity system June 29, 2021

Goal In Context Edit the pre-entered posts and status

Preconditions The donor is registered

The donor is logged in

Trigger The Agents profile is changed or updated

Scenario 1) select posts and profile contents to update

2) Edit the profile in its content manner

3) Check for the validity of the edited file

 If the entered file is invalid

1) Show error and enable to edit it

2) Enable the user to try again a couple of times

Table 10: Use-case description for Reject profile.

Use Case Reject profile

Primary Actor System Admin

Goal In Context To reject the invalid profile of the organization.

Preconditions Admin is already logged in.

Trigger The organization officer is denied to access the system.

Scenario 1.system admin must be logged in to the system.


2.review profile sent from the organization officer.
3.select reject to reject the profile.

Table 11: Use-case description for delete.

22 | P a g e
[ Web-based charity system June 29, 2021

Use Case Delete

Primary Actor System Admin

Goal In Context To delete organizations and donor accounts and posts.

Preconditions The admin must be logged in to the system

Trigger Organizations or doners can not access the system.

1.system admin reviews the organization's status.


Scenario  If it is accumulated complaints on organization,

 If the organization is closed or suspended its service.

 And if the donor is invalid like terrorism etc


2.system admin select delete option

Table 12: Use-case description for Approve profile.

Use Case Approve profile

Primary Actor System admin

Goal In Context Check the legality of a profile of the organization.

Preconditions The system admin must be in the system /logged in.

Trigger The organization can post, add agent, etc

Scenario 1) the admin first logged in


2)the system admin review the profile sent from the organization
officer
3)approved the profile

Table 13: Use-case description for Send profile for approval.

23 | P a g e
[ Web-based charity system June 29, 2021

Use Case Send profile for approval

Primary Actor Charity organization

Goal In Context Make a legit profile and get it approved

Preconditions All forms and required documents must be summited

Trigger New projects come or there is some work to do

Scenario 1) add on the necessary files

Table 14: Use-case description for Approve profile.


Use Case Approve profile

Primary Actor System admin

Goal In Context Check the legality of a profile of the organization.

Preconditions The system admin must be in the system /logged in.

Trigger The organization can post, add agent, etc

Scenario 1) the admin first logged in


2)the system admin review the profile sent from the organization
officer
3)approved the profile

Table 15: Use-case description for Add agent.

Use Case Add agent

Primary Actor Organization officer

Goal In Context The organization officer add their agent information

Preconditions The organization is registered

24 | P a g e
[ Web-based charity system June 29, 2021

The organization must be logged in

Trigger The organization agent information will be added to the system

1) the organization officer select add agent on its dashboard

2) the organization officer fill in all necessary information about


the agent

Scenario 3)Check for the validity

 If the entered data is invalid show an error and try again

4)If it is valid the information will add and agent are added to the
system

Table 16: Use-case description for Search.


Use Case Search

Primary Actor Donor

Goal In Context The donor can search organization in different parameter

Preconditions The donor is registered.

The donor is logged in.

Trigger The donor will get data that is related to its search result

Scenario 1)type right over the search

2)click the search button

3) if the search match the result will display on the display area

Else the search is not matching msg will pop up

25 | P a g e
[ Web-based charity system June 29, 2021

Table 17: Use-case description for Make online donation.

Use Case Make online donation

Primary Actor Donor

Goal In Context A donor can donate online to the organization

Preconditions The donor is registered.

The donor is logged in.

Trigger A donor can donate whatever the donor want

Scenario 1) select organization.


2) select contribute to the selected organization.
3) fill the donation form.
3)Check for the validity

• If the entered data is invalid show an error and try again.

• If the entered data are valid.

4) And if the donor help in material and kind.


5) The donor will get agent information.
6) An email will send to the agent
 If the donor wants to help in financial support
• If the doner is a domestic donor the system will
redirect to an online banking page.
• If the donor out of country residents online
payment form must be filed.
8)the confirmation will send to the donor.

26 | P a g e
[ Web-based charity system June 29, 2021

3.2.4 Activity diagram

An activity diagram is a flowchart to represent the flow from one activity to another activity.
The activity can be described as an operation of the system.

The control flow is drawn from one operation to another. This flow can be sequential, branched,
or concurrent. it deals with all types of flow control by using different elements such as fork,
join. here in our system use an activity diagram to show the activities of doners, organization
officers. activity diagram to show the activities of doners, organization officers.

27 | P a g e
[ Web-based charity system June 29, 2021

Figure 2:The Activity diagram for System admin.

28 | P a g e
[ Web-based charity system June 29, 2021

Figure 3:Activity diagram for organization officer

29 | P a g e
[ Web-based charity system June 29, 2021

Figure 4:Activity diagram for the donor.

30 | P a g e
[ Web-based charity system June 29, 2021

3.3 Behavioral Modeling


3.3.1 Sequence diagram
A sequence diagram is used for a particular scenario of a use case, the events that external
actors generate, their order, and possible inter-system events.

31 | P a g e
[ Web-based charity system June 29, 2021

Figure 5:The sequence diagram for the organization officer.

Process: for an organization


1. register or login 13. Check validity 25. Send add form
2.display form 14. Error data 26. Display form
3.enter data 15. Send error msg 27. Enter data
4.check validity 16. Display error msg 28. Send person data
5.invalid entry 17. Upload to visible 29. Save data
6.send err msg 18. Save data 30. Send confirmation
7enter data again 19. Delete post 31. Display confirmation
8. save data 20. Request for deleting 32. Delete agent
9. Valid user data 21. Clear from uploaded 33. Ask for deleting
10. Send invoice 22. Erase data 34. Eraseagentdata
11. Post what needed 23. Add agent
12. Send post data 24. Request for add
35.

32 | P a g e
[ Web-based charity system June 29, 2021

33 | P a g e
[ Web-based charity system June 29, 2021

Figure 6:The sequence diagram for a donor.

34 | P a g e
[ Web-based charity system June 29, 2021

Process for the donor


1. creat account 15. Send a message to the 25. Send data
2. display form organization 26. Use external payment
3. Enter user data 16. Featchfor agent API
4. Check validity information 27. Send confirmation
5. Invalid entry 17. Sendorgnizationagent 28. Display
6. Send error message information 29. View organization
7. Enter agent correct 18. Display agent info profile
data 19. Save donation 30. Ask for an
8. Save registration data information organization profile
9. Valid user data 20. Send confirmation 31. Find profile
10. Send invoice 21. Display confirmation 32. Send profile
11. Donate 22. Redirect online 33. Display profile
12. Display form banking page 34. Delete account
13. Enter form 23. Display payment form 35. Send delete account
14. Send data donation 24. Enter form 36. Erase data

3.3.2 State diagram


A state diagram is used to describe the behavior of systems. State diagrams require that the
system described is composed of a finite number of states. Here in our system online charity
system for local charity organizations we use a state diagram to show how donors can donate and
how the organization officer can register and do different activities.

35 | P a g e
[ Web-based charity system June 29, 2021

Figure 7:The State diagram for organization officer.

36 | P a g e
[ Web-based charity system June 29, 2021

Figure 8:The state diagram for a donor.


37 | P a g e
[ Web-based charity system June 29, 2021

3.4 Class Modeling

3.4.1 Class diagram

Here, a class diagram is required to describe the static view of the proposed online charity
for local charity organizations. It is also helpful in visualizing objects within a system and
the kinds of static relationships that exist among them.

Figure 9:class diagram.

38 | P a g e
[ Web-based charity system June 29, 2021

Chapter Four: System Design


4.1 Overview

This phase introduces an object modeling technique were objects including data and process. It
uses the asset of symbols to represent various components and relationships within the system
graphically.

Object modeling requires many types of diagrams to represent the proposed system. Hence, these
diagrams will form the foundation for the system design and very important to make
implementation easy. Systems design is the process of defining the architecture, modules,
interfaces, and data for a system to satisfy specified requirements. However, during systems
design, the focus is on the processes, data structures, and software and hardware components
necessary to implement it.

4.2 System Design


. 4.2.1 Design Goals

Design goals provide a consistent set of criteria that should be taken into consideration when
making design decisions. They represent the expected qualities of the system and define the
values against which design options are evaluated. Design goals should be used as a guide when
choosing a system design and they should be realized in the design chosen. The non-functional
requirements of a system provide the basis for inferring most design goals and we use the eight
golden rules of interface design principles for better user interface design(by Shneiderman). The
design goals we choose are performance, strive for consistency, seek universal usability, offer
informative feedback, prevent errors, permit easy reversal of actions, reduce short-term memory
load, reliability and maintainability.

 Performance
The performance of a system is measured by its latency and throughput. The latency should be
minimized while the throughput should be maximized working with the available bandwidth. For
our system to accomplish this we will use a lightweight graphic interface so it will load fast, and
we will choose a fast and dependable server.

39 | P a g e
[ Web-based charity system June 29, 2021

 Strive for consistency


Consistent sequences of actions should be required in similar situations; identical terminology
should be used in prompts, menus, and help screens; and consistent color, layout, capitalization,
fonts, and so on, should be employed throughout. Exceptions, such as required confirmation of
the delete command or no echoing of passwords, should be comprehensible and limited in
number.

 Seek universal usability


Recognize the needs of diverse users and design for plasticity, facilitating the transformation of
content. Novice to expert differences, age ranges, disabilities, international variations, and
technological diversity each enrich the spectrum of requirements that guides design. Adding
features for novices, such as explanations, and features for experts, such as shortcuts and faster
pacing, enriches the interface design and improves perceived quality.

 Offer informative feedback


For every user action, there should be interface feedback. For frequent and minor actions, the
response can be modest, whereas, for infrequent and major actions, the response should be more
substantial. Visual presentation of the objects of interest provides a convenient environment for
showing changes explicitly.

 Prevent errors
As much as possible, design the interface so that users cannot make serious errors; for example,
gray out menu items that are not appropriate and do not allow alphabetic characters in numeric
entry fields. If users make an error, the interface should offer simple, constructive, and specific
instructions for recovery. For example, users should not have to retype an entire name-address
form if they enter an invalid zip code but rather should be guided to repair only the faulty part.
Erroneous actions should leave the interface state unchanged, or the interface should give
instructions about restoring the state.

 Permit easy reversal of actions


As much as possible, actions should be reversible. This feature relieves anxiety since users know

40 | P a g e
[ Web-based charity system June 29, 2021

that errors can be undone, and encourages exploration of unfamiliar options. The units of
reversibility may be a single action, a data-entry task, or a complete group of actions, such as
entry of a name-address block.

 Reduce short-term memory load


Humans’ limited capacity for information processing in short-term memory (the rule of thumb is
that people can remember “seven plus or minus two chunks” of information) requires that
designers avoid interfaces in which users must remember information from one display and then
use that information on another display. It means that cellphones should not require reentry of
phone numbers, website locations should remain visible, and lengthy forms should be compacted
to fit a single display.

 Reliability
The reliability of a system is usually defined as the probability that the system will operate
without failure for a specified number of uses or a specified period. We will achieve this goal by
using redundant hardware that will take on the services of the failed ones.

 Maintainability
The system should be easily extensible to meet the constantly changing needs of its users and to
add new functionalities to the system.

4.2.2 Component Identification and Description

Registration – this registration component handles the donor and charity organization
registration process. It provides an interface used for approval and donation.

Donation - this donation component is responsible for all processes regarding donations.

Approval- this approval component is about approving the charity organization profile whether
is legal or illegal. If it is legal then approved. If it is illegal then rejected and it uses an interface
provided by the registration component.

41 | P a g e
[ Web-based charity system June 29, 2021

Database – access to the databases of the system is provided by this component. All
transactions to and from the database will be handled by it.
Accounts – this accounts component is responsible for all account management issues. It uses
the database component.

4.2.3 Component Diagram

Figure 10:Component diagram

4.2.4 Deployment diagram

Figure 11:Deployment diagram for the proposed system

42 | P a g e
[ Web-based charity system June 29, 2021

4.3 Architecture of the System


The first phase of the software design is defining the software architecture. Software architecture
is defined as a high-level view of the system, the relationships among the subcomponents, and
their properties [5]. We chose the 3-tier architecture design model which divides presentation,
business logic, and data access into three separate tiers or layers. The system will comprise of
user interfaces (or web pages) as Presentation Layer, a Business Logic Layer (BLL) that defines
the functional part of the system and acts as a link between the presentation layer and the Data
Access Layer (DAL) which is in charge of retrieving and storing the data. Figure 12 shows the 3-
tier architecture while Figure 13 shows a high-level view of the system and the user-system
interaction.

Figure 12:user interaction

43 | P a g e
[ Web-based charity system June 29, 2021

Figure 13: Architecture of the proposed system

44 | P a g e
[ Web-based charity system June 29, 2021

4.4 Database Design

Database Entities:

 Beneficiary: is a person who gets support from a charity organization.


 A charity organization: is a non-profit organization whose aim is to help the charity
person.
 Donor: is a person who gives charity.
 Charity: is any things that are given to the charity organization .it may be money,
materials, or kind.
 Charity agent: is a person who is assigned by the organization officer to collect any
materials donation for the organization.
 Admin: is a person who controls the system.
 Location: is a place where each charity organization, donors, and charity agents are
found.

45 | P a g e
[ Web-based charity system June 29, 2021

Figure 14: Database diagram

46 | P a g e
[ Web-based charity system June 29, 2021

4.5 User Interface Design

47 | P a g e
[ Web-based charity system June 29, 2021

Figure 15: Home Page

48 | P a g e
[ Web-based charity system June 29, 2021

Figure 16:Register Page

49 | P a g e
[ Web-based charity system June 29, 2021

Figure 17: Login page

50 | P a g e
[ Web-based charity system June 29, 2021

References
[1]. ” Your Guide To Intelligent Giving,”(2020,Aug. 15). [online]. Accessed on: june. 08, 2021.
Available at : https://www.charitynavigator.org/index.cfm?bay=content.view&cpid=8658.
[2].”Node.js v16.4.0 Documentation”(2020,sep 15).[online]. Accessed on: june. 08, 2021.
Availabl at: https://nodejs.org/api/documentation.html.
[3]. “Web Application Security Best Practices: A Developer’s Guide,”(2020,May. 15). [online].
Accessed on: june. 08, 2021. Available at: https://securityintelligence.com/posts/web-
application-security-best-practices-developers-guide/
[4]. “Web Application Security Best Practices: A Developer’s Guide,”(2020,May. 15). [online].
Accessed on: june. 08, 2021. Available at: https://securityintelligence.com/posts/web-
application-security-best-practices-developers-guide/
[5]. Bellinaso, “Marco, ASP.NET 2.0 website programming, Problem - Design - Solution”,
2006. p 48.

51 | P a g e
[ Web-based charity system June 29, 2021

Appendix
Donation - something that is given to a charity.
Charity organization - is an organization whose primary objectives are philanthropy and social
well-being
Charity - the voluntary of giving help, typically in the form of money, to those in need.

52 | P a g e

You might also like