Академический Документы
Профессиональный Документы
Культура Документы
i
Table of Contents
LIST OF TABLE 1
CHAPTER 1 INTRODUCTION 2
1.3 Aim 3
1.4 Objective 3
CHAPTER 2 6
LITERATURE REVIEW 6
2.2 DoSomethingGood 6
2.1.2 VolunteerMatch 7
2.1.3 Do-it.org 10
2.3 Summary 14
CHAPTER 3 1
ii
METHODOLOGY 1
3.1 Introduction 1
3.3.1 Software 3
3.3.2 Hardware 4
3.5 Organisation 5
3.6 Volunteer 6
3.7 Admin 6
3.8.5 Storyboard 11
iii
12
12
12
12
12
3.9.1 Organisation 12
3.9.2 Volunteer 13
3.9.3 Event 13
3.9.4 Participant 14
3.10.8 Login 22
3.10.9 Register 22
CHAPTER 4 26
iv
IMPLEMENTATION AND TESTING 26
4.1 Introduction 26
4.2 Implementation 26
4.4 Organisation 35
4.5 Volunteer 42
v
4.5.3 Join Event 45
4.6 Admin 48
CHAPTER 5 49
CONCLUSION 49
5.1 Conclusion 49
5.2 Recommendation 50
REFERENCES 51
vi
LIST OF TABLE
1
CHAPTER 1
INTRODUCTION
These days, more and more problems arise in this world. In turn, there are also
more people willing to help those in trouble, either by physically helping or by
donating. Volunteering is gaining popularity in today’s age and more people are
engaging in these activities. Volunteering is a great way for a community to
bond and at the same time, provide help to those on need. It is also said that
volunteering can have a positive impact on the health of an individual, both
mentally and physically (Fritz, 2018).
This project’s main goal is to help both the public and organisation. Using this
website, the public can search for voluntary activities that are available, based on
certain attributes and aspect. People can easily search for organisation that is
safe and trusted. Organisations can also use this platform to promote the events
or activity that will be organised. In addition, this website also allows people to
sign up for upcoming events, thus saving them time from having to go to the
organisation itself.
2
To register as an organisation, they must have certification as proof of their
legitimacy from their local bodies. Unregistered NGOs are not allowed to
participate to avoid scamming amongst the user. To search for upcoming events,
user can key-in location, causes or by date. Besides, users also can search events
by distance. Another feature of the system is user can donate to the organisation
via online payment.
Although more organisations are emerging, most of them are still hidden from
the public. Even for veteran organisation, putting themselves out there is a
challenge and the medium currently being used is not efficient enough. Other
than that, a potential volunteer finds it hard to look an eye out for upcoming
voluntary events. By having a dedicated platform, it can help both the potential
volunteer and organisation to ease out their problem.
1.3 Aim
The purpose of this project is to develop a website that can centralise both
volunteers and events, as well as to help organisations promote their event in this
platform.
1.4 Objective
i. To study and compare the existing systems similar with this project
ii. To design and develop a database system and interface for the system
3
1.5 Scope of Project
iiii. This project uses HTML, CSS, PHP and Javascript to build the system
i. This project will help centralise both volunteers and volunteering events
by NGOs in Malaysia.
4
1.7 Report Organisation
5
CHAPTER 2
LITERATURE REVIEW
In this section, three existing systems that are similar in function are
compared. Each system is reviewed individually by their interface and
functionality. A comparison table is included in chapter 2.5 comparing between
System Type, Usability Heuristic, Availability, Golden Rule, Advantage, and
Disadvantage.
2.2 DoSomethingGood
6
As shown in figure 2.1, users can search any event based on three attributes
which are the location, type of organisation and date. Users need to sign-up as a
member to be able to post events or join events. On the downside, users can
create an event but cannot edit or delete the event. Past events are also shown on
the search results.
2.1.2 VolunteerMatch
7
Figure 2. 3 Extended home page of VolunteerMatch
8
In the search result, as shown in Figure 2.4, users can narrow down their
result. User can search specific such as location, causes or choose either Local
(physical location) or Virtual events. The search function also recalls previous
search entry to help user remember.
9
2.1.3 Do-it.org
10
Figure 2. 9 Advanced searching of the website
11
Figure 2. 11 Sign up/ Login using email or facebook
12
Figure 2. 13 Interface for user to find guides
In this section, all three system were compared in term of the system type, usability
heuristic, golden rules, advantages and disadvantage of the system. Table 2.1 depicted
the comparison of the systems.
13
2.3 Summary
From the system comparison, we can identify the advantage and disadvantage of
the systems. For DoSomethingGood, the interface is simple and easy to understand.
However, the database is outdated, and old events are still in the system.
Lastly, Do-it.org can help users narrow down their search result with different
attributes. On the other hand, its web design is outdated and not attractive enough.
For this project, the website will implement designs that are more commonly
used in today’s time as a way attract more users. The system will also update its
database frequently to avoid showing past event in the website. This system will be
developed as a web-based system.
14
Table 2. 1 Table of comparison between the three systems
System Type Web based Web based Web based Web based
1
Availability Malaysia Global United States Malaysia
Advantage ● Can browse ● Can search events ● Can specify ● Can directly join
through all events globally range of location event through
● Contains useful ● Provide many website
information criteria to narrow
down search
2
CHAPTER 3
METHODOLOGY
3.1 Introduction
This chapter will discuss on the approach taken to ensure the project runs
smoothly and the objective of the project is achieved. It covers the SDLC,
System Requirement, User Requirement, Database Design, Interface Design,
Proposed Design and Gantt Chart.
This chapter will also include various tables and diagrams such as Entity
Relationship Diagram, Design of interface, Use Case Diagram and Flowchart of
the system. Each diagram will help in explaining the flow of the project in more
detail.
For the SDLC, the project uses incremental model. In incremental model, each
iteration passes through analysis, design, develop and testing (Guru99, n.d.). The
first iteration is focused on main functions. In the next iterations, more functions
are added to improve the system until the project is finished. Table 3.1 shows the
phases of the SDLC and its activities.
1
Table 3. 1 Phase of SDLC and its activity
Phase Activity
• Research existing systems
• Obtain user requirement
Analysis
• Allocate time for project
• Draw the Use-Case Diagram
2
3.3 System Requirement
3.3.1 Software
Software applications play a vital role in this project. Because this project is a
web-based application, software applications are involved in most of the
development process. Table 3.2 shows the list of software applications used to
develop this project.
Software Function
Microsoft Word • Documentation of project
• Find resources
3
3.3.2 Hardware
Hardware requirements are the tools used to complete the project. They are used
before, during and after the project is finished. Table 3.3 shows the hardware
used in this project.
Hardware Function
Laptop • To run the software
applications
4
3.4 User Requirement
3.5 Organisation
The home page is the first page of the system. User uses this page to navigate
through the whole website. This page will also provide news and upcoming
events.
Organisations can manage events and have them posted on the website. The
events can be created, edited and deleted by the organisation. When creating,
details of the event such as location, date and duration of the event is needed.
The event will be shown on their homepage.
Organisation have the ability to manage their participants for their events. The
can cancel the view the number of participants and cancel their participation
upon request.
5
3.6 Volunteer
Volunteers may join an event directly on the website. Information such as name,
email, address and phone number will be taken directly from their profile.
Volunteers can also cancel their participation from the website. This is done
through their profile page.
3.7 Admin
As an admin, they can control the contents of the website. An admin will have to
approve organisation registration to allow both user; organisation and volunteer.
6
3.8 Proposed Design
This section is divided into 5 sub-section; 3.5.1, 3.5.2, 3.5.3, 3.5.4 and 3.5.5. In
each sub-section, the design of the system will be discussed including Use Case
Diagram, Context Diagram, Entity Relationship Diagram, Data Flow Diagram
and the storyboard of the website. Each sub-section is accompanied with an
explanation and a diagram.
A use case diagram is a method used to identify, clarify and organise system
requirements (Rouse, 2015). For this project, there are 3 actors which are
Volunteer, Organisation and Admin. Each actor is limited to their own activity.
Figure 3.1 shows the use case diagram used in this project.
7
3.8.2 Context Diagram
Context diagram or also known as level-0 diagram are tools used to visualise the
boundary of a system. It a simplified version of a data flow diagram. For this
project, the context diagram has 3 entities; Volunteer, Admin and Organisation.
All the data will go into the main process, Volunteering system. Every entity
carries different data. Figure 3.2 shows the data flow from each entity.
8
3.8.3 Entity Relationship Diagram
9
3.8.4 Data Flow Diagram
10
3.8.5 Storyboard
HOME
Event Info
11
3.9 Database Dictionary
3.9.1 Organisation
12
3.9.2 Volunteer
The Volunteer contains the data of the volunteers. The table will store
information of the volunteers such as full name, email, password, address,
gender, phone number, and image. The table also contains an ID for each
volunteer. Table 3.5 shows the data of the table.
3.9.3 Event
Event table contains the events held by organisations. An organisation can have
1 or many events. The event should contain the event name, date, venue and
time. Event id is the primary key and organisation id as the foreign key. Table
3.6 shows the data in the Event table.
3.9.4 Participant
Participant table contains volunteers who is joining an event. This table contains
Volunteer ID and Event ID. Table 3.7 shows the data in the Participant table.
14
3.10 User Interface
User interface is the way through which a user interacts with an application or a
website (Rouse, 2016). Having a good user interface is vital to attract user and
make sure the program or system is not too complex for an average user.
The home page is where the user will be greeted. From here, user can access
other most of the website. User can search events/organisation, browse
organisations, browse events, login or register account and view profile.
15
3.10.2 Events page/ search result
User will be directed to this page when they search for events or when they click
on the ‘Event’ tab. In this page, user can browse through the events made
available by the organisations. On the left side of the page, user can filter the
result to narrow down the choices. A picture and a short description of the event
is shown to help user find events.
16
3.10.3 Event Info
When user clicks on an event, they will be directed to this page. This page will
provide more detail of the event such as date, time and venue. A detailed
explanation of the event is also provided. If user is interested, they can click on
“Join Event” button.
17
3.10.4 Join Event
This page is a confirmation page when user click on “Join Event” button. If user
agrees on joining, they can click on “Confirm Participation”, and their name and
other info will be added to participation list.
18
3.10.5 Organisation page
19
User will be directed to this page if they want to search for an organisation. They
can narrow down their choices by choosing the category of the organisation such
as environment, human rights or welfare.
20
This page will appear when user clicks on an organisation. This page tells you
about the organisation. Upcoming events from the organisation is also shown to
the user. They can browse more if they intend to. On the bottom, contact
information of the organisation is posted.
21
3.10.8 Login
Before joining any events or make events, user have to login first. For first time
users, they would have to register first, either as a volunteer or as an
organisation.
3.10.9 Register
22
Figure 3.14 Registration form
To make sure the project meets the user requirement, a User Evaluation Test
(UAT) will be carried. By having this test, user can evaluate the system and
decide whether the system fills the requirement. The diagram below shows an
example of the UAT form according to the system.
24
3.12 Gantt Chart
To ensure smoothness of this project, a gantt chart is planned. This gantt chart spans
until the date of submission. Two Gantt chart is made. Figure 3.15 shows the gantt chart
for project planning and figure 3.16 Shows the gantt chart for project development.
26-Sep 6-Oct 16-Oct 26-Oct 5-Nov 15-Nov 25-Nov
Interface development
Javascript
Database implementation
PHP development
Testing system
Fix error
Design poster
Update report
25
CHAPTER 4
4.1 Introduction
In this chapter, the project enters coding and implementation phase. This chapter
contains 2 sub-sections which are Implementation and User Manual. In
Implementation, the process of making the system in discussed from designing
implementing and testing. The user manual provides a guide, for all users, on
how to navigate throughout the website. It will also show how to use the features
on the website.
4.2 Implementation
To develop this system, the process is separated into 3 phases, Design, Develop
and Testing. In Designing, the interface for the system is created using a
combination of HTML, CSS and Bootstrap. 23 interfaces are created for the
organisation, volunteers and the admin.
After designing, the project enters coding phase. This is where the functionality
of the website is implemented using PHP. Functions such as Account
registration, Create Event, Edit Event, Delete Event, and Edit Profile are created
for the Organisation. As a volunteer, the user can Register, Search events, Join
events and Cancel participation. Lastly, an admin can monitor all users and
activate or deactivate their account. They can also delete an account if needed.
26
4.2.1 Login Interface
The login function allows the user to log in into their account. Depending on
their registered account, they can login as organisation or a volunteer. Figure 4.1
shows the interface and Figure 4.2 shows the coding to login.
27
4.2.2 Register Interface
28
4.2.3 Create Event
29
4.2.4 Update Event
30
4.2.6 Search Events
31
4.2.7 Cancel Participation
32
4.2.8 Join Event
33
4.2.9 Activate/Deactivate and Delete account
This is the user manual of the system. In this manual, user is guided on
how to use the system as an organisation, volunteer or an admin.
34
4.4 Organisation
Before organisations can register an event, they must first create an account as
an organisation. Information of organisation including organisation name,
description, email, password, address, phone number and category is needed.
Additionally, they can upload an image of their organisation to help volunteers
recognise their page. These information will be stored in a database, and will be
used for account login validation, display organisation information in their
account.
In the login page, user
will have the option to
sign up as
organisation. They
will be redirected to
the Organisation
Registration form.
35
Figure 4.18 Organisation registration form
To access the features of the system, the user must login using the email and
password given during registration. After logging in, user will be redirected to
their account page where information regarding the organisation will be
displayed. Events uploaded by the organisation is also displayed. During login,
if user enter the wrong password or email, an error message will be shown. If the
text field is empty, an error message will be displayed. Lastly if account is not
activated, an error message will be displayed.
36
Login as organisation
using the ‘Login as
Organisation’ button.
Error message
37
4.4.4 Create Event
38
4.4.5 Update Event
Organisations have the freedom to edit and update their posted events. In the
view all section, an ‘Update Event’ option is shown on each event. Click the
button and user will be redirected to the update form.
39
4.4.6 Delete Event
Click on ‘Delete’ to
delete event
40
4.4.7 Update Account
Change the
information
needed in
the form
41
4.5 Volunteer
42
Fill in the form
completely and
click on submit
to register
43
4.5.2 Search Event
If the user wants to revisit an event page, users can simply type in the keyword
of the event; Date, location and category. The page will display the lists of
events containing the keyword. To search for events, logging in is optional.
44
4.5.3 Join Event
One of the main features of the website is joining an event. To join an event,
users must be logged in into their account. In the events list page, user can click
on their favoured events and they will be redirected to the event information
page. In the information page, User can click on join event and they will be
automatically registered for the event.
Click on the
favoured events
45
4.5.4 Cancel Attendance
User can change their personal information. To do so, click on ‘Edit Profile’
under the account button. User will see an ‘Update Profile’ form and change
their information from there.
46
Change the field to be updated
using the form
Click update
profile when
finished
47
4.6 Admin
Enter designated
username and
password
48
CHAPTER 5
CONCLUSION
5.1 Conclusion
Volunteering activities have been around for quiet some time. However, not
many people see the benefits in participating in one. Organisations are trying
hard to gain attention of the masses and make volunteering activities more
popular, especially amongst the youth. However, advertising can cost a lot and
for some organisations, especially self-funded, such amount may be hard to
come by.
With Hands Up, these problems can be overcome by having their organisations
along with their events displayed to the public on this website. On the other
hand, this site also serves the purpose as an event search engine. Volunteers can
search and join an event that they find interesting.
Throughout the developing process, a few minor errors appeared and have been
fixed such as display error, SQL query error, and login error. Other problems
include error handling, donation method.
49
5.2 Recommendation
Based on the user acceptance test, the system works well and does its job
greatly. However, the system lacks in user-validation, allowing some users to
create two same accounts. Some interface still has minor display errors. For
future improvements, more security features will be added in the system.
Additional features such as maps for directions, event and organisation review
and better filtering for events
50
References
[1] J. Fritz, "Small Business," The Balance , 3 July 2018. [Online]. Available:
https://www.thebalancesmb.com/unexpected-benefits-of-volunteering-4132453.
[Accessed 10 October 2018].
[2] Guru99, "Incremental Model in SDLC: Use, Advantage and Disadvantage," [Online].
Available: https://www.guru99.com/what-is-incremental-model-in-sdlc-advantages-
disadvantages.html.
[3] M. Rouse, "use case diagram (UML use case diagram)," TechTarget, January 2015.
[Online]. Available: https://whatis.techtarget.com/definition/use-case-diagram.
[Accessed 28 November 2018].
[5] Wikipedia, "Data Flow Diagram," Wikipedia, 2018 November 2018. [Online]. Available:
https://en.wikipedia.org/wiki/Data_flow_diagram. [Accessed 28 November 2018].
51
[7] A. Ghahrai, "Incremental Model," 2 July 2017. [Online]. Available:
https://www.testingexcellence.com/incremental-model/.
Guru99, n.d. Incremental Model in SDLC: Use, Advantage and Disadvantage. [Online]
Available at: https://www.guru99.com/what-is-incremental-model-in-sdlc-advantages-
disadvantages.html
Rouse, M., 2015. use case diagram (UML use case diagram). [Online]
Available at: https://whatis.techtarget.com/definition/use-case-diagram
[Accessed 28 November 2018].
52