4a_

Document Sample
4a_ Powered By Docstoc
					                      SIM UNIVERSITY
    SCHOOL OF SCIENCE AND TECHNOLOGY




ONLINE VOLUNTEER RECRUITMENT SYSTEM


            STUDENT: LAM QIU LIN (J0704136)
              SUPERVISOR: MR. KUMBAR S F
            PROJECT CODE: JAN2010/ICT/0067




           A project report submitted to SIM University
     in partial fulfilment of the requirements for the degree of
    Bachelor (honours) in Information Technology and Business


                         November 2010
 ICT499 Capstone Project Final Report                                           Lam Qiu Lin (P0704136)


                                          ABSTRACT

The main idea of this project is to develop a Web based Volunteer Recruitment System which
acts as a one stop centre for both Charity Organization and Volunteer. This aims to provide
significant cost saving to Organization in the recruitment of volunteers and an efficient method
for Volunteer in searching of Charity Organization for volunteering opportunities.


There will be a login feature and user will be granted with their access right to this system. The
main feature this project is to allow registered user to perform a search for different volunteering
opportunities which are available to them in their network. The details are discussed in this Final
Report.


In total, there are 7 chapters in this report. Chapter 1 is an introduction to the overall objective and
the approach adopted. Chapter 2 is a research on the background information on volunteerism, the
recruitment method for different Charity Organization and the different development tools that
can be used.


The main software design is discussed in Chapter 3. Looking at the different roles, functionality
and database design of this system. Chapter 4 is with screen shot showing the testing process and
results for each of the different functionality. Chapter 5 is an overview of the planning and
management of this project with detailed Task List and Grant Chart.


In Chapter 6 is the final conclusion with some of the recommendation for improvement. Lastly in
Chapter 7, we discussed about the problems faced when developing the project and the reflection
on lessons that was learnt.




                                                  1
ICT499 Capstone Project Final Report                                        Lam Qiu Lin (P0704136)


                                 ACKNOWLEDGEMENT

There are many people who have helped to make this project a success. Would like to take this
opportunity to express my gratuities toward UniSim for this opportunity in developing this
project, putting my knowledge and skill set to use.


Many thanks to the people whom I had seek advice from regarding the programming syntax and
errors encountered: Kelly, Keng Boon, Dennis, Chiam Hong and Linfu. Also, to my friends and
family for their moral support, encouraging and motivating me to complete this project.


Great thanks to my manager Tricia for her understanding and time off from work that I can work
on this project. Lastly, to Mr Kumbar for all the guidance and advice given, especially for the
time and effort spent on the follow up session every month.


It would not have been possible for me to complete this project without their help.




                                                2
ICT499 Capstone Project Final Report                                                                             Lam Qiu Lin (P0704136)


                                             TABLE OF CONTENTS


ABSTRACT ....................................................................................................................................1
ACKNOWLEDGEMENT.............................................................................................................2
CHAPTER 1: INDRODUCTION ................................................................................................8
    1.1 Introduction ...........................................................................................................................8
    1.2 Objective ...............................................................................................................................9
    1.3 Overall Objective...................................................................................................................9
    1.4 Proposed Approach .............................................................................................................11
Chapter 2: LITERATURE REVIEW ........................................................................................12
    2.1 Background Study ...............................................................................................................12
    2.2 Motivation ...........................................................................................................................14
    2.3 Current Charity Systems .....................................................................................................14
    2.4 Software Tools ....................................................................................................................20
CHAPTER 3: SOFTWARE DEVELOPMENT .......................................................................23
    3.1 Software Overview ..............................................................................................................23
    3.2 Use Cases Diagram .............................................................................................................25
    3.3 Database Diagram ...............................................................................................................27
    3.4 Database Design ..................................................................................................................30
    3.5 Overview of Software Components Developed ..................................................................33
CHAPTER 4: TESTING AND RESULTS ................................................................................34
    4.1 Create New Account Testing ..............................................................................................34
    4.2 Login Testing ......................................................................................................................37
    4.3 Change and Forgot password Testing .................................................................................38
    4.4 Administrator Testing..........................................................................................................41
    4.5 Volunteer Testing ................................................................................................................44
    4.6 Organization Testing ...........................................................................................................48
CHAPTER 5: PROJECT MANAGEMENT .............................................................................52
    5.1 Project Planning ..................................................................................................................52
    5.2 Project Initiation ..................................................................................................................55
    5.3 Requirement ........................................................................................................................55
    5.4 Design ..................................................................................................................................55
    5.5 Implementation ....................................................................................................................55
    5.6 Verification and Validation .................................................................................................55


                                                                      3
ICT499 Capstone Project Final Report                                                                           Lam Qiu Lin (P0704136)

    5.7 Project Completion ..............................................................................................................55
    5.8 Resources required ..............................................................................................................55
CHAPTER 6: CONCLUSION AND RECOMMENDATION ................................................56
    6.1 Conclusion ...........................................................................................................................56
    6.2 Recommendation .................................................................................................................57
CHAPTER 7: CRITICAL REVIEW AND REFLECTIONS ..................................................58
    7.1 Problem 1: SQL query did not return the right results ........................................................58
    7.2 Problem 2: CSS style is not working in VWD ....................................................................58
    7.3 Problem 3: Sending of email is not working .......................................................................58
    7.4 Problem 4: Password reset function is not working ............................................................59
    7.5 Reflections ...........................................................................................................................59
REFERENCES.............................................................................................................................60
APPENDIX A (PARTIAL SOURCE CODE) ...........................................................................61
APPENDIX B (MEETING LOG) ..............................................................................................69
GLOSSARY .................................................................................................................................75




                                                                     4
ICT499 Capstone Project Final Report                                 Lam Qiu Lin (P0704136)


                                       LIST OF FIGURES


Figure 1.1: Overview of System Architecture……………………………………………….......10
Figure 1.2: Storyboard of Project Approach…………………………………………………......11
Figure 2.1: NVPC Statics (Source from NVPC Research papers)……………………………….12
Figure 2.2: Statistic from 15 Organizations of their Volunteer Recruitment System……………18
Figure 2.3: Overview of ASP (Source from the website of w3schools)…………………………22
Figure 3.1: Overview of Software Components………………………………………………… 23
Figure 3.2: Overview of Frontend Interface flow………………………………………………..24
Figure 3.3: User Case Diagram…………………………………………………………………..25
Figure 3.4: Database Diagram……………………………………………………………………26
Figure 4.1: Create a new account…………………………………………………………………34
                                                              35
Figure 4.2: Select the Registration Type………………………………………………………….
                                                              35
Figure 4.3: Account Registration Details………………………………………………………….
                                                          36
Figure 4.4: Personal Particulars…………………………………………………………………..
                                                    37
Figure 4.5: Login Screen………………………………………………………………………….
Figure 4.6: Login Page……………………………………………………………………………37
Figure 4.7: Change Password…………………………………………………………………….38
Figure 4.8: Change Password Complete…………………………………………………………38
Figure 4.9: Forget Password…………………………………………………………………….. 39
                                                        39
Figure 4.10: Security Question…………………………………………………………………….
Figure 4.11: Password Sent by Email……………………………………………………………40
                                                           40
Figure 4.12: Email Format of Password………………………………………………………….
                                                            41
Figure 4.13: Administrator Login Page…………………………………………………………..
Figure 4.14: Updating of Age……………………………………………………………………42
Figure 4.15: Approval for Organization………………………………………………………….42
Figure 4.16: Select Organization…………………………………………………………………43
Figure 4.17: Edit Organization data…………………………………………………………….. 43
Figure 4.18: Edit Personal Particulars……………………………………………………………44
                                                             45
Figure 4.19: Register with Organization………………………………………………………….
Figure 4.20: View Network for Volunteer……………………………………………………….45
Figure 4.21: Invite from Organization……………………………………………………………46
Figure 4.22: View Events (Volunteer)……………………………………………………………46


                                             5
ICT499 Capstone Project Final Report              Lam Qiu Lin (P0704136)


Figure 4.23: Post Comment………………………………………………………………………47
Figure 4.24: Comments published on webpage………………………………………………….48
Figure 4.25: Organization Login Page……………………………………………………………49
                                                        49
Figure 4.26: Create a new Event………………………………………………………………….
Figure 4.27: Success in adding Event……………………………………………………………50
Figure 4.28: View Events (Organization)………………………………………………………..50
Figure 4.29: Edit Event Details…………………………………………………………………..50
Figure 4.30: Select Event…………………………………………………………………………51
Figure 4.31: Invite Volunteer for Event………………………………………………………….51
Figure 5.1: Grant Chart…………………………………………………………………………..53




                                       6
ICT499 Capstone Project Final Report                    Lam Qiu Lin (P0704136)


                                       LIST OF TABLES


Table 2.1: Organization Recruitment Methods…………………………………………………..17
Table 2.2: Comparison of different software program……………………………………………20
Table 3.1: Software Components Developed…………………………………………………… 33
Table 5.1: Project Task List………………………………………………………………………53




                                             7
ICT499 Capstone Project Final Report                                         Lam Qiu Lin (P0704136)


                           CHAPTER 1: INDRODUCTION

1.1 Introduction
   In recent years, there is a rising trend and importance placed on volunteers services. In
   Singapore, the Ministry of Education (MOE) implemented the Community Involvement
   Program (CIP) in schools to nurture the future generation in social responsibility. CIP make it
   a compulsory for all students to fulfill a minimum hours of community service per year.
   Beside the students in School, from the Charity shows broadcasted on television, we can see
   the earnestness of many Singaporean in their participation of fund raising activities.


   Charity Organizations are non-profitable organizations, all with a common goal of reaching
   out to the less fortunate, animals or environment in making this place a better world.
   However, due to budget constraint, there are some limitations in the recruitment of volunteers.
   For smaller organization, it is impossible for them to neither advertise in newspaper nor hold a
   Charity Show on television. The only possible way to reach out to the masses would be
   through their own website or the spreading of message from one person to another.


   Not only for the Charity Organization, it is quite tedious process for interested volunteer in
   locating a suitable Charity organization, as they might have to browse through a lot of website
   before they finally landed on one that is of the same belief and value. However, due to the
   fast pace society that we live in, interested volunteers might not have so much time to locate a
   suitable organization. As time goes by, their enthusiasm might cease and eventually drop the
   idea of volunteering.


   With the implementation of this project, a centralized online system, organization can reach
   out to the masses and interested volunteer can locate a suitable organization easily without
   must hassle. This project provides value added services to both the volunteer organization and
   interested individuals.




                                                8
ICT499 Capstone Project Final Report                                       Lam Qiu Lin (P0704136)


1.2 Objective
   The objective of this project is to develop a Web based Volunteer Recruitment System. This
   system acts as a one stop centre for both Charity Organization and Volunteers.


   Once the organizations and volunteers register online, they can navigate through the system
   with a search function to match the right organization to the volunteers from the information
   keyed in by the user. This system aims to offer significant cost savings for community
   development centers, charities and other organization.


1.3 Overall Objective
   All charity organizations being a non profitable organization are faced with limited budget in
   their volunteer recruitment process. Despite that all Charity Organization worked towards a
   common goal in providing social assistance to those in needs, animals or caring for the
   environment, they solely operate as a standalone organization. Interested individual who wish
   to provide their services might have to spend a lot of time and effort in locating a suitable
   organization.


   This project aim to provide a one stop solution for both organization and volunteer by
   implementing an online system with the following the following features:


   Registered Organization can:
       1. Maintain their organization portfolio
       2. Search for registered volunteers
       3. Gain access to personal particulars of volunteers who join their network
       4. Manage their volunteer events


   Registered Volunteers can:
       1. Maintain their portfolio
       2. Search for registered organizations
       3. Join the network of registered organizations
       4. Register for volunteer events




                                                9
ICT499 Capstone Project Final Report                                        Lam Qiu Lin (P0704136)


   Administrator:
       1. Granting access to registered organization
       2. Full administrative functions to update, delete, edit both organizations and volunteers
           data


   Backend System will:
       1. Perform search algorithm to return to the matched organization or volunteers based on
           the search criteria specified by either party.


   As shown in Figure 1.1 below, both Charity Organizations and Registered Volunteers can
   login to the web server via the internet to perform the activities that are within their access
   rights. The web server interacts with the database server for any data manipulation.

                              Client
                                                                           Client




               Web Server



                                                 Internet




                                                                                    Client


                                                      Client
                     Database
                     Server
                            Figure 1.1: Overview of System Architecture

   A web based system which will be hosted on a server. Once Organization and interested
   individual are connected to the internet, they can gain access to this webpage. When they
   logged in to the system, they are granted with the access rights based on the different roles,
   hence, they are able to perform an edit or update of data. The web server will interact with the
   backend database server to reflect these changes.



                                                 10
ICT499 Capstone Project Final Report                                       Lam Qiu Lin (P0704136)


1.4 Proposed Approach
   The project can be divided into three parts: Programming language, the design of user
   interface and the design of backend database. As follow in Figure 1.2 is the Storyboard of the
   project approach:


             Study and familiarize with the existing
          volunteer systems through literature research



             Analyze on the pros and cons of existing
                       volunteer systems



              Try to improve on the idea of existing
           volunteer systems and decide on the features
                that can be included in the project



            Learn and get myself familiarize with the
               programming tools and platforms



            Test the Application on local host and
           backend database with some sample data



             Troubleshoot of the program that I had                 Refinement of the system to
                          developed                                      further improve it



                     Final delivery of project



                             Figure 1.2: Storyboard of Project Approach


   ASP is chosen as the main technology tool for the development of this project. Web
   development is built via the front end GUI programming interface using Visual Web
   Developer 2008. Through this, it is linked to the backend databases stored in MS SQL Server.




                                                 11
ICT499 Capstone Project Final Report                                       Lam Qiu Lin (P0704136)


                     CHAPTER 2: LITERATURE REVIEW

2.1 Background Study
   As our society and national standard improves, our basic physiological needs such as food,
   shelter and water are fulfilled. Riding on our strong economic, we have a stable job and the
   ability to take care of our family. In recent years, more and more Singaporean are looking into
   volunteerism. From the statistic by National Volunteer & Philanthropy Centre (NVPC) in
   figure 2.1, the retention rate of volunteers from 2002 to 2008 grows significantly every year.
   There are more former volunteers returning to contribute their services and the rate of non
   volunteers decline throughout the years.




                 Figure 2.1: NVPC Statics (Source from NVPC Research papers)




                                              12
ICT499 Capstone Project Final Report                                           Lam Qiu Lin (P0704136)


   We live in a country that is very positive towards volunteerism. In school, beside the
   knowledge that is taught in books, CIP is set up to enhance on the values and importance of
   giving back to the society, allowing a chance for the younger generation to experience the joy
                      [1]
   of volunteering.         In 2002, the President’s Challenge was initiated by President S R Nathan
   with an annual series of community-based activities in creating awareness for a cohesive
   society towards a care and share spirit among Singaporean in helping the needy and less
   fortunate. [2]


   In recent years, there is more emphasis placed on volunteerism in Singapore and globally.
   Next year, in January 2011, Singapore will be hosting our very first International Volunteer
   Conference. Non-profit leaders and decision makers in the government and corporate sectors
   from around the world will gather to look into what had been achieved and the future
   milestone, in area such as poverty eradication, literacy, health, environmental sustainability,
   research into volunteer capital, humanitarian relief, and corporate volunteering etc. [3]


   Research had proved that continued work employment and volunteerism improved the mental
   well-beings of older adults. After retirement, as a person aged, they might felt life
   meaningless if they are not kept occupied and this will affect their health. It is found that
   volunteering retirees or working seniors tended to be younger and more educated them non-
                               [4]
   volunteering retirees.            Volunteerism encouraged interaction, keeping their ageing brain
   active. Despite that they are growing older each year, they are capable of continued learning
   and could aged healthily.


   Volunteerism is a selfless act which not only promote individual well-being that bring about
   continued learning, it also encourage harmony in the society that we live in.




                                                    13
ICT499 Capstone Project Final Report                                       Lam Qiu Lin (P0704136)


2.2 Motivation
   Madam Teresa Xu (Hsu Chih) devoted her life and used her own saving to help those in need,
   the sick, the poor and the elderly. Despite that she is already 112 years old this year, she is
   still actively involved in Charity work. I had the chance to meet her in real person previously
   during a seminar and she mentioned, “I had forgotten what had happened in the past, it’s not
   important. I only know that we should live happily and to have a laugh every day. To help
   those that is in needs”.


   These words deeply motivated me towards volunteerism. With this Capstone project, I have
   the opportunity, leveraging on my IT skills to build an interface related to volunteerism that
   encourage and promote collaboration between Charity organization and volunteers. A
   centralization volunteer system that provide value added services to Charity Organization and
   blend in nicely to fit the fast moving society that we live in.


2.3 Current Charity Systems
   Charity Organization being a non-profitable organization have limited budget to invest in
   neither an Information Technology system nor the advertisement fee in recruiting of
   volunteers. Most of them maintained a simple online website, as it is with the lowest
   maintenance cost. They will publicize their latest updates, news, forthcoming events or the
   recruitment of volunteer through their corporate website. Different organization adopted
   different recruitment methods through their online website.


   As follow on the next few pages is a research that I did on some of the more well-known
   charity organization in Singapore. Looking at how different Charity Organization make used
   of their website for the recruitment of volunteers. The recruitment is initiated through their
   online website, but the approach that the organization had adopted is different. As followed is
   the classification of four different approaches:




                                                14
ICT499 Capstone Project Final Report                                       Lam Qiu Lin (P0704136)




   1. Online Registration System (One stop system): One-stop online registration system for
       both organization and volunteers. Once registered, volunteers can search through the
       database for registered organization and to register themselves as a volunteer with the
       different organization.


   2. Online Registration System (Standalone): Online registration system that belongs solely to
       the organization. Volunteers create an account and make their registration with the
       organization.


   3. Filling up of Application form: Volunteers to fill up an application form, hence to email
       the completed form back to the organization


   4. Emailing of enquires to contact person: Volunteers to send in any enquires and expressing
       their decision of wanting to be a volunteer with the organization to the contact person via
       email.




                                              15
ICT499 Capstone Project Final Report                                                                                                Lam Qiu Lin (J0704136)

                                                                                            Methods for the Recruitment of Volunteers
                                                                                      Online         Online
     Organization                 Brief description about the organization                                          Filling up of        Emailing of
                                                                                      Registration   Registration
                                                                                                                    Application          enquires to
                                                                                      System (One-   System
                                                                                                                    Form                 contact person
                                                                                      stop system)   (Standalone)

   Children’s            Providing resources and psycho-social services to children
   Cancer                and families impacted by childhood cancer.                                                                            √
   Foundation            http://www.ccf.org.sg/
   KK Children           Healthcare leader for Women and Children.
                                                                                                                           √                   √
   Hospital              http://www.kkh.com.sg
   Make a Wish           Reaching out to every medically eligible child in
                         Singapore with life-threatening medical conditions.                                                                   √
                         http://www.makeawish.org.sg
   National Kidney       Providing assistance to kidney patients.
   Foundation            http://www.nkfs.org/                                                                              √                   √

   National Library      Singapore Library, collection of books.
   Board                 http://vms.nlb.gov.sg/MainServlet                                                                 √

   National Parks        Providing and enhancing the greenery of our City.
                                                                                                                                               √
                         http://www.nparks.gov.sg/
   National              Promoting volunteerism and philanthropy in Singapore,
   Volunteer &           working in partnership with the public, people and private
                                                                                            √
   Philanthropy          sectors.
   Centre (NVPC)         http://www.nvpc.org.sg
   Ren Ci Hospital       Providing quality medical, nursing and rehabilitative care
   & Medicare            to the sick and needy.
                                                                                                                           √                   √
   Centre - Home         http://www.renci.org.sg/Home.aspx




                                                                         16
ICT499 Capstone Project Final Report                                                                                                   Lam Qiu Lin (J0704136)


                                                                                               Methods for the Recruitment of Volunteers

                                                                                         Online         Online
     Organization                 Brief description about the organization               Registration   Registration
                                                                                                                       Filling up of        Emailing of
                                                                                                                       Application          enquires to
                                                                                         System (One-   System
                                                                                                                       Form                 contact person
                                                                                         stop system)   (Standalone)


   Singapore             Providing assistance to children and youth, esp. those who
   Children Society      are abused, neglected or from dysfunctional families.                                √
                         http://www.childrensociety.org.sg
   Singapore Red         Providing assistance to disaster, auxiliary health, the sick,
   Cross Society         the handicapped, the aged and the poor.                                              √               √
                         http://www.redcross.org.sg
   Society for the       Providing assistance to the e with physical disabilities.
   Physically            http://www.spd.org.sg/volunteers/opportunities.html                                                  √                   √
   Disabled
   Society for the       Registered animal welfare charity with IPC status in
   Prevention of         protecting animals.
                                                                                                                              √
   Cruelty to            http://www.spca.org.sg/
   Animals (SAD)
   Wild Singapore        Conserving the natural and wild areas in Singapore.
                                                                                                                                                  √
                         http://www.wildsingapore.com/vol/act.htm
   Yellow Ribbon         A group of major community and government
   Project               organizations http://www.yellowribbon.org.sg/about-                                                                      √
                         us/contacts.html
   Youth SG              An organization for Singaporean youths.
                         http://www.youth.sg/content/view/2249/111                                                                                √

                                                    Table 2.1: Organization Recruitment Methods




                                                                           17
ICT499 Capstone Project Final Report                                         Lam Qiu Lin (P0704136)


   From the statistic drawn from the research for the 15 organization in Figure 2.2 below, we can
   see that some organization adopted 2 different approaches. The most common method for
   volunteer recruitment is by “Emailing of enquires to the contact person”, which contributed to
   40% of the statistic, followed by “Filling up of Application Form + Emailing of enquires to
   contact person”, which contributed to 27% of the statistic. These two methods are more
   manual without any online system in place to store the details of volunteers.




     Legend: Category Name; #; %

       Figure 2.2: Statistic from 15 Organizations of their Volunteer Recruitment System


   Organizations like “Make a Wish” and “Children’s Cancer Foundation” adopted the most
   commonly used method of “Emailing of enquires to the contact person”. The email contact is
   provided on the website under the page for volunteers. Interested individuals who wish to
   make their registration will have to drop the organization an email. Once they are shortlist, the
   contact person will contact them directly for more details. Alternatively, interested individual
   can contact the organization by phone. A great deal of manual work is required for this
   process.




                                               18
ICT499 Capstone Project Final Report                                       Lam Qiu Lin (P0704136)


   Other organizations like “KK Children Hospital” and “Society for the Physically Disabled”
   adopted the second most common method of “Filling up of Application Form + Emailing of
   enquires to contact person”. There is an application form for download. Once interested
   individuals completed all the required information, they can send this via email to register
   themselves as a volunteer with the organization. This approach is slightly more structured,
   which assisted the organization to place volunteer on the right volunteer assignment.


   Singapore Red Cross Society has an online registration system. Interested individual can make
   registration online by keying in of all the required information on their webpage. This
   approach is efficient and structured which allows organization the ease of performing backend
   queries in identifying suitable candidates for placement on a volunteer assignment. Singapore
   Red Cross Society is a big Charity Organization with the resources to build an online
   registration system.     For other smaller organizations, they might not have the manpower to
   maintain such a system.


   There is only one Charity Organization (NVPC) providing a centralized online registration
   system. Registered volunteers can search through their database for the list of Charity
   organizations that registered with NVPC. Volunteers can register themselves with different
   organization and the system will generate an email notification to the organization. This
   system provided a platform for registered Charity Organizations to manage the database of
   their registered volunteers. This is an efficient system which helps to save a lot of time and
   effort spent on manual work.


   This project is very similar to the system of NPVC that allows both registered Charity
   Organization and Volunteer to search through the database for a suitable volunteer
   opportunity. Beside the recruitment of volunteer by Charity Organizations, one additional
   feature of my system is to allow Charity Organization to publish their forthcoming volunteer
   events. Hence, interested volunteer can make the registration online for these events. This
   provides a convenient platform for volunteers to search through a list of volunteering events
   that can blend in to their busy lifestyle.




                                                19
ICT499 Capstone Project Final Report                                                 Lam Qiu Lin (P0704136)


2.4 Software Tools
   For this project, a web programming software for building the front end webpage and a
   backend database for storing of data is needed. There are a lot of web programming and
   database software available in the market. However, quite a lot of well known programs like
   Adobe Dreamweaver, Oracle Database and Web Studio are not freeware. A purchase of
   license for these software is required. Hence, an open source/free programming platform and
   database will be used for building of this project.


   After doing a research for the freeware platform that can be used, it is scaled down to three
   software programs, Aptana Studio, Microsoft Visual Web Developer and WampServer. All of
   these three software are free and provide a backend connection to the database. To decide on
   the best software that leverage on my programming knowledge, an assessment based on the
   different feature of the software is conducted. A score of 3 points is given for the most
   preferred and 1 point for the least preferred as shown in Table 2.2 below.


     Programming
           Software                                    Microsoft Visual Web
                          Aptana Studio 2.0                                           WampServer 2
  Features                                               Developer 2008

  License              Open Source and          3 Free development            3   Open Source            3
                       Cross Platform             tools                           project, free to use
                                                                                  (GPL licence).
  Design               Coding                   1 Window GUI design           3   Coding                 1
  Interface            programming                development                     programming
                       (HTML, CSS,
                       and JavaScript)
  Scripting           HTML                    
                                               2    Visual Basic              
                                                                              3   Apache                 1
  Language            JavaScript                  C#, C++                      PHP 5.3.0
                      PHP                         JScript
                      CSS                         Visual FoxPro
  Backend              MySQL                   3    Microsoft SQL             3   MySQL 5.1.36           3
  Database                                          Server
  Total Rating                                  9                             1                          8
                                                                              2

    Rating of preference: Most Preferred: 3, Least Preferred: 1


                         Table 2.2: Comparison of different software program




                                                      20
ICT499 Capstone Project Final Report                                         Lam Qiu Lin (P0704136)


   Of all the three software, Microsoft Visual Web developer with a score of 12 is the most
   preferred software. It is a free development software tool that is using a Graphical User
   Interface (GUI) for building of website. GUI allows user to design webpage interface by the
   drag and drop feature with the click on the mouse. As compared to text commands, GUI is
   easier to use and is free from complex command languages. Overall, GUI programming
   software is efficient and speeds up the designing of front end interface with their look and feel
   feature.


   Microsoft Visual Web Developer provides different scripting languages, Visual Basic, C#,
   C++, Jscript and Visual FoxPro. Accessing on my programming language skills, Visual Basic
   is my strongest skill set. For the other two software program, scripting is available in HTML,
   JavaScript, PHP, CSS and Apache. PHP is another commonly used in website programming,
   but it will take me time to learn the programming language, as I have zero knowledge on PHP.
   Hence, Visual Basic is the most preferred scripting language.


   For the backend database, it provides connection to Microsoft SQL Server, which is a free
   database that provides 10GB of database storage. Previously during my course of study in
   Polytechnic, I learnt Structured Query Language (SQL) and built a strong foundation in
   writing queries. During my course of studies in UniSim, I had completed the module of
   Database Systems. This enhanced on my knowledge to database management and writing of
   SQL queries. With this project, I can put to use and apply my knowledge of database
   management.


   Microsoft Visual Web Developer develop website using Active Server Pages (ASP)
   technology. ASP is a powerful tool for making dynamic and interactive web pages. There is a
   server which will process all the requests from the browser and connect to the database for
   these requests. All the scripts are executed on the server and the results will be returned back
   to the browser as plain Hypertext Mark-up Language (HTML). Hence, there is improved
   performance and added security. Sensitive information such as password will not be visible to
   the user as script in HTML. [5]




                                               21
ICT499 Capstone Project Final Report                                      Lam Qiu Lin (P0704136)




              Figure 2.3: Overview of ASP (Source from the website of w3schools)


   There are many languages that can be used with ASP, like Visual Basic (VB), C#, C++,
   Jscript and Visual FoxPro etc. Different scripting language can be mixed with HTML to
   produce web applications that offer an extra step in interactivity. Our computer can acts as a
   server for running of ASP by installing Microsoft's Personal Web Server (PWS) or Internet
   Information Services (IIS). PWS is for is for older Windows system like Windows 95, 98, and
   NT. IIS comes with Windows 2000, XP, and Vista.




                                             22
ICT499 Capstone Project Final Report                                        Lam Qiu Lin (P0704136)


                CHAPTER 3: SOFTWARE DEVELOPMENT

3.1 Software Overview


              Frontend Web Interface
                                                            Web Server
                   Login Feature:
                    Organization
                      Volunteer
                    Administrator                                                  Database
                                                                                   Server
            Register for a new Account

                                                            Internet
                  Forget Password


       Website (public enabled information)


                           Figure 3.1: Overview of Software Components


   Figure 3.1 shows the overview software components of this project. For the website
   implementation, there will be a frontend web interface and a backend scripting done in ASP.
   The detailed frontend flow layout for the navigation of website is illustrated in Figure 3.2.
   Users can access this website via Internet which is hosts over a Web server. There is a login
   feature for Organization, Volunteer and Administrator to the different access right that is
   granted to each role.


   Once logged in, the user will be able to search through the backend data for suitable
   volunteering opportunities. More details of the different tasks are illustrated in Figure 3.3 of
   the User Case Diagram. The web server will communicate with the backend database for any
   data manipulation. The Database Diagram is illustrated in Figure 3.4 and the software
   components developed is illustrated in Table 3.1.




                                              23
ICT499 Capstone Project Final Report                                         Lam Qiu Lin (P0704136)


                                             Online Homepage




      Register New Account                                                     Forget Password
                                                                   Yes
                                                       Login?
                                       No




           Organization                           Volunteers                      Administrator


      View/Edit Organization                 View/Edit Personal               Approve Organization
             Details                              Details                      Registration Status


         Change Password                     Change Password                 View/Edit Organization
                                                                                     data

         Manage Network                       Manage Network                 View/Edit Volunteer data


            Search for volunteers                 Search for Organization       View/Edit Events


             Approve Volunteer                     Approve Invite from
           Request to join Network                                            View/Edit Comments
                                                      Organization


          Manage Events                          Manage Events


            Add/View/Edit Events                 View/Search/Join Events


             Approve Volunteer                    Approve Organization
            Request to join Events                Request to join Events


       View/Edit Comments                   View/Edit Comments


                           Figure 3.2: Overview of Frontend Interface flow

   For the flow layout as shown above, there are basically three main category of flow in this
   website. User is able to create a new account, request for a new password via the forget
   password function or to login to the system. Once logged in, there are three different access
   rights for Organization, Volunteer and Administrator. Users may utilize the functionalities of
   the system pertaining to their access right role. More details of the functionalities are
   illustrated in Figure 3.3 on the next page.

                                                  24
 ICT499 Capstone Project Final Report                                                          Lam Qiu Lin (P0704136)


3.2 Use Cases Diagram
    As shown in Figure 3.3, there are five user roles for this system. There are four Human Users,
    namely Organization, Volunteer, Administrator and Public. The only System User is Email.




                           Update Details
                                                                               Edit all data

                         Change Password
                                                                                Approve
                                                                              Organization
                         Add/Delete Events
                                                                              Registration                  Administrator

                          Approve Event                              <<includes>>
                           Registration
                                                          <<includes>>
                                                                                    Login
Organization               Search/Invite
                         Volunteers to join
                             Network
                                                                    <<includes>>


                         Approve Network                                   Update Details
                              Invite


                          Post a comment                                  Change Password



                        Browse Website                                     Search/Register
                        Information                                       with Organization


                             Account                                     Search/Register for
                            Registration                                       Events

                                                                                                             Volunteer
                          Forget Password                                 Approve Network
   Public
                                                                               Invite


                                           <<includes>>
                                                                           Approve Events
                                                                               Invite
                            Send Email

                                                                           Post a comment
   Email


                                        Figure 3.3: User Case Diagram




                                                          25
ICT499 Capstone Project Final Report                                         Lam Qiu Lin (P0704136)


   Organization can gain access rights to the seven different tasks once they login to the system.
   They can search through the database for suitable volunteers and send a request inviting them
   to join their network. Once the volunteers approve this request, Organization can access the
   personal particulars of volunteers. Likewise, Organization can approve a request by volunteer
   who wish to join their network. All events created will be visible to volunteers inside their
   network. Organization is able to send invite to volunteers to invite them for a volunteering
   event and approve a request by volunteer who wish to register for a particular event.

   Volunteer can gain access rights to the seven different tasks once they login to the system.
   Similarly to the features provided to the Organization, Volunteer can conduct a search for
   suitable organization and send a request to join their network. All personal particulars will be
   visible to the Organization once they are inside their network. Volunteers are allowed to
   search and register for any event posted by the organizations that are in their network. Once
   the request is approved by the organization, it will be reflected on their website. They can also
   approve any network or event invite sent by the organization.

   Administrator had the full access rights to view, edit and delete any data inside the database.
   On a yearly update, the administrator has to run a mass update on the system to reflect the
   correct age of the volunteers. As this system store personal particulars, we need to protect the
   safety of volunteers, making sure that all organization who register are not a hoax. Hence,
   after organization register online, they have to send the copy of the printed registration page
   on their company letterhead, chop and sign with their company stamp as proof to the
   administrator for access right approval.

   Public is able to view the different information that is available on the website, like some of
   different Organization and the public enabled events by them, the experience sharing
   comments etc. Only registered users are allowed to leave comments on the website. Interested
   Organization or Volunteers who wish to make use of this system to search for suitable
   volunteering opportunities can register online. For registered user who had forgotten their
   password, they can require for a reset of password by answering their security question. Once
   the right answer is keyed in, the system will auto-generate an email to their email account.

   Email system is the only system user. There is one task allocated to this role, which is to
   generate and send an email to registered users who had requested for a reset their password.




                                               26
ICT499 Capstone Project Final Report                                         Lam Qiu Lin (P0704136)


3.3 Database Diagram




                                       Figure 3.4: Database Diagram


   As shown in Figure 3.4, a total of ten tables are created for this system. Eight tables are used
   for the storing of operational data and two mapping tables. They are normalized in the second
   normal form. For the login function, we leverage on the ASP feature for the secured password
   system, which provide added security by the encryption of password. As the database for
   password is designed by Microsoft, it will not be discussed in this chapter. The detailed
   database design of the different data field can be found in Chapter 3.4. In this chapter, we will
   be looking at the functionality and relationship of each table.




                                                  27
ICT499 Capstone Project Final Report                                               Lam Qiu Lin (P0704136)




    Table name              Primary key          Foreign key        Relationship     Description
    Org_Details             OrgID                NULL               one to one,      A table to store
                                                                    many to one,     the details of
                                                                    one to many      Organization.


    Table name                Primary key        Foreign key        Relationship      Description
    Org_Events_Created OrgID                     EventID            many to one,      A table to store
                              EventID                               one to many,      the Event ID
                                                                    many to one


    Table name               Primary key         Foreign key        Relationship      Description
    Org_Events               EventID             NULL               many to one,      A table to store
                                                                    one to many       the event details.


    Table name               Primary key         Foreign key        Relationship      Description
    Org_Comment              ID                  ID                 many to one       A table to store
                                                                                      the comments of
                                                                                      Organization.


    Table name                     Primary key        Foreign key     Relationship      Description
    Vol_Personal_Particulars UserID                   NULL            one to many,      A table to store
                                                                      one to many,      the personal
                                                                      one to many       particulars of
                                                                                        volunteer.


    Table name               Primary key         Foreign key        Relationship      Description
    Vol_Comment              ID                  ID                 many to one        A table to store
                                                                                      the comments of
                                                                                      Volunteer




                                                  28
ICT499 Capstone Project Final Report                                              Lam Qiu Lin (P0704136)




    Table name                      Primary key      Foreign key      Relationship      Description
    Combined_Org_Vol_Reg UserID,                     UserID,          many to one,      A table to
                                    OrgID            OrgID            many to one,      store the status
                                                                      many to one       of network
                                                                                        approval.




    Table name                         Primary key      Foreign key    Relationship      Description
    Combined_Org_Vol_Events OrgID,                      OrgID,         many to one,      A table to
                                       UserID,          UserID,        many to one,      store the event
                                       EventID          EventID        many to one       approval
                                                                                         status.




    Table name               Primary key          Foreign key      Relationship       Description
    MRT_Station              MRT_Stations         NULL             one to many,       A mapping table
                                                                   one to many        to store the MRT
                                                                                      name of different
                                                                                      stations.




    Table name               Primary key          Foreign key      Relationship       Description
    Request_Type             Type                 NULL             one to many        A mapping table
                                                                   one to many        to store the
                                                                                      request type.




                                                   29
ICT499 Capstone Project Final Report                      Lam Qiu Lin (P0704136)


3.4 Database Design


   Table: Org_Details
    Column Name                        Data Type      Allow Nulls
    OrgID (PK)                         varchar(20)
    Org_Name                           varchar(200)
    Email                              varchar(200)
    Nature_of_Organization             text
    Telephone                          nchar(10)
    ContactPerson1                     varchar(100)
    ContactPerson2                     varchar(100)   √
    Physical_Location                  char(50)
    Blk                                varchar(5)
    Street                             varchar(100)
    Building                           varchar(100)   √
    Storey                             nchar(3)
    Unit                               varchar(5)
    PostalCode                         nchar(6)
    Website                            varchar(200)
    RegistrationStatus                 bit


   Table: Org_Comments
    Column Name                        Data Type      Allow Nulls
    ID                                 int
    OrgID                              varchar(20)
    Org_Name                           varchar(200)
    Comment                            text
    Datecreated                        Date


   Table: Combined_Org_Vol_Reg
    Column Name                        Data Type      Allow Nulls
    UserID                             varchar(20)
    OrgID                              varchar(20)
    Status                             bit
    Request_Type                       varchar(5)
    Request_Date                       date
    Approved_Date                      date           √




                                               30
ICT499 Capstone Project Final Report                      Lam Qiu Lin (P0704136)




   Table: Org_Events
    Column Name                        Data Type      Allow Nulls
    EventID                            int
    Event_Date                         date
    Event_Title                        varchar(200)
    Start_Time                         time(7)
    End_Time                           time(7)
    Description                        text
    No_of_Participants                 int
    App_Participants                   int
    Physical_Location                  char(50)
    Type                               bit
    EventFull                          bit


   Table: Org_Events_Created
    Column Name                        Data Type      Allow Nulls
    OrgID                              varchar(20)
    EventID                            int
    Created_Date                       date


    Table: Combined_Org_Vol_Events
    Column Name                        Data Type      Allow Nulls
    OrgID                              varchar(20)
    UserID                             varchar(20)
    EventID                            int
    Status                             bit
    Request_Type                       varchar(5)
    Request_Date                       date
    Approved_Date                      date




                                               31
ICT499 Capstone Project Final Report                      Lam Qiu Lin (P0704136)




   Table: Vol_Personal_Particulars
    Column Name                        Data Type      Allow Nulls
    UserID                             varchar(20)
    First_Name                         nchar(50)
    Last_Name                          nchar(100)
    Gender                             varchar(2)
    DOB                                date
    Age                                nchar(3)
    Email                              varchar(200)
    Telephone                          nchar(8)
    Handphone                          nchar(8)       √
    Blk                                varchar(4)
    Street                             varchar(100)
    Building                           varchar(100)   √
    Storey                             nchar(3)
    Unit                               varchar(5)
    Postal_Code                        nchar(6)
    Interests                          text           √
    Searchable                         bit


   Table: Vol_Comment
    Column Name                        Data Type      Allow Nulls
    ID                                 int
    UserID                             varchar(20)
    Last_Name                          nchar(100)
    Comment                            text
    Datecreated                        Date


   Table: MRT_Station
    Column Name                        Data Type      Allow Nulls
    MRT_Stations                       char(50)


   Table: Request_Type
    ColumnName                         Data Type      Allow Nulls
    Type                               varchar(5)
    Description                        varchar(20)




                                               32
ICT499 Capstone Project Final Report                                      Lam Qiu Lin (P0704136)


3.5 Overview of Software Components Developed


     Webpage                                        Access Rights
     Admin_Change_Password.aspx                     Administrator
     Admin_Org_Edit.aspx                            Administrator
     Admin_Update_Reg.aspx                          Administrator
     Admin_Vol_Edit.aspx                            Administrator
     Login_Home.aspx                                Administrator, Organization, Volunteer
     Org_Change_Password.aspx                       Organization
     Org_Comment.aspx                               Organization
     Org_Details.aspx                               Organization
     Org_Events_Add.aspx                            Organization
     Org_Events_Approval.aspx                       Organization
     Org_Events_View.aspx                           Organization
     Org_Events_Vol_Search.aspx                     Organization
     Org_Vol_Pending_Approval.aspx                  Organization
     Org_Vol_Search.aspx                            Organization
     Org_Vol_View.aspx                              Organization
     Public_About_Us.aspx                           Public
     Public_Contact_Us.aspx                         Public
     Public_Experience_Sharing.aspx                 Public
     Public_Forget_Password.aspx                    Public
     Public_New_Account.aspx                        Public
     Public_Registered_Organization.aspx            Public
     Public_Upcoming_Events.aspx                    Public
     Vol_Change_Password.aspx                       Volunteer
     Vol_Comment.aspx                               Volunteer
     Vol_Events_Historical.aspx                     Volunteer
     Vol_Events_Invite.aspx                         Volunteer
     Vol_Events_Search.aspx                         Volunteer
     Vol_Events_View.aspx                           Volunteer
     Vol_Org_Invite.aspx                            Volunteer
     Vol_Org_Search.aspx                            Volunteer
     Vol_Org_View.aspx                              Volunteer
     Vol_Personal_Particulars.aspx                  Volunteer

                             Table 3.1: Software Components Developed




                                               33
ICT499 Capstone Project Final Report                                           Lam Qiu Lin (P0704136)


                    CHAPTER 4: TESTING AND RESULTS

For this project, there are 5 users, hence we need to test the functionally of the features by each
users. Some of the functions are interrelated, hence, the testing is done in batches by the function
of each user.


4.1 Create New Account Testing
   The objective of this testing is to ensure that user is able to create a new account.


   To create a new account, the user has to click on “Create new account” hyperlink under the
   login box as shown in Figure 4.1.




                                   Figure 4.1: Create a new account




                                                34
ICT499 Capstone Project Final Report                                        Lam Qiu Lin (P0704136)


  Hence, the system will prompt the user to choose a registration type, as shown in Figure 4.2.




                               Figure 4.2: Select the Registration Type


   The next step is to key in the Account Registration Details as shown in Figure 4.3. There are
   two textbox requesting for password and they must be the same, else an error message will be
   displayed on screen and it will not proceed on to the next step. The security question is for
   added security in an event when users forgot their password and need to reset it.




                               Figure 4.3: Account Registration Details



                                                35
ICT499 Capstone Project Final Report                                        Lam Qiu Lin (P0704136)


   Once the User name registration is completed, the user has to key in their personal particulars.
   There are backend scripting to check that all needed data are keyed in, else, a pop up box will
   be display on screen as shown in Figure 4.4. When the registration is successful, a success
   message is shown on screen and user can login to the system.




                                       Figure 4.4: Personal Particulars




                                                    36
ICT499 Capstone Project Final Report                                         Lam Qiu Lin (P0704136)


4.2 Login Testing
   User can login o the system via the login function on the top right hand side of the webpage.
   The system will check for the role of user using the login name and to grant the appropriate
   access rights to each user. Once login, the username will be show on the top right hand side of
   the screen. If the User Name or password is wrongly entered, an error message will be
   displayed at the login box as shown in Figure 4.5.




                                       Figure 4.5: Login Screen

   Once logged in to the system, the login page will show the latest update. The different access
   right is granted via the menu bar on the left hand side of the screen as shown in Figure 4.6.




                                       Figure 4.6: Login Page


                                                37
ICT499 Capstone Project Final Report                                          Lam Qiu Lin (P0704136)


4.3 Change and Forgot password Testing
   The objective of this testing is to ensure that the users are able to change their password and to
   reset their password.


   To change password, the user has to login to the system and click on “Change Password” on
   the menu bar. The page will request the user to key on the old password followed by the new
   password two times. If the new password keyed in is not the same, a message will be shown
   on screen informing the user about it. Only when the new password entered is the same in
   both of the text box, the system will proceed ahead to change the password. Once completed,
   a successful message will be display on screen, as shown in Figure 4.7.




                                       Figure 4.7: Change Password




                               Figure 4.8: Change Password Complete


                                                  38
ICT499 Capstone Project Final Report                                      Lam Qiu Lin (P0704136)


   For the resetting of password, the user has to click on the “Forgot Password” hyperlink under
   the Login box on the main page. It will bring user to the screen to key in their user name as
   shown in Figure 4.9. Next, it will prompt user for the answer that was set for the security
   question as shown in Figure 4.10.




                                        Figure 4.9: Forget Password




                                       Figure 4.10: Security Question




                                                   39
ICT499 Capstone Project Final Report                                      Lam Qiu Lin (P0704136)


   A message will pop up on screen informing user that an email is sent to their account when
   the security question is answered correctly as shown in Figure 4.11.




                                 Figure 4.11: Password Sent by Email


   The new password will be sent to the user as shown in Figure 4.12. User can login to the
   system using this new password and to change their password.




                               Figure 4.12: Email Format of Password




                                                40
ICT499 Capstone Project Final Report                                           Lam Qiu Lin (P0704136)


4.4 Administrator Testing
   The objective of this testing is to ensure that administrator is able to:
       1. Change Administrator Password
       2. Give approval to Organization who wish to register for an account
       3. Update the age for all registered volunteers
       4. Edit the data of both Organization and Volunteers


   After the administrator logged in to the system, there will be an update screening showing the
   current statistic for the number of registered users. The administrator is able navigate through
   the system for the different functionality by the menu bar on the left side of the webpage as
   shown in Figure 4.13. The function for changing of password is similar to the function
   granted to both the Organization and Volunteer.




                                Figure 4.13: Administrator Login Page




                                                 41
ICT499 Capstone Project Final Report                                            Lam Qiu Lin (P0704136)


   By clicking on “Update and Registration”, the administrator is able to update the age for all
   registered volunteers. Hence, click on the button “Update Age” and a message box will pop
   up on screen once all the data are updated as shown in Figure 4.14. This function had to be
   clicked on every year to ensure that the age of all volunteers is correct.




                                       Figure 4.14: Updating of Age


   On the same page, the administrator can select the Organization via the drop down list and
   click on the button “Approve” as shown in Figure 4.15. Once this approval is given, the
   organization will be granted with their access rights.




                               Figure 4.15: Approval for Organization



                                                  42
ICT499 Capstone Project Final Report                                        Lam Qiu Lin (P0704136)


   To edit the data of Organization and Volunteers, the administrator has to click on either
   “Manage Organization” or “Manage Volunteers”. On the page, there is a drop down list for
   selection of data to be viewed as shown in Figure 4.16. Once, selected, the appropriate data of
   particulars, network details, events and comments posted will be loaded on screen. The
   administrator can click on either edit or delete to modify the data as shown in Figure 4.17




                                   Figure 4.16: Select Organization




                                  Figure 4.17: Edit Organization data




                                                 43
ICT499 Capstone Project Final Report                                       Lam Qiu Lin (P0704136)


4.5 Volunteer Testing
   The objective of this testing is to ensure that volunteer is able to:
       1. Edit Personal Particulars
       2. Change Password
       3. Manage their Network
       4. Manage their Events
       5. Post a comment


   The user can view and edit their personal particular by clicking on “Personal Particulars” on
   the menu bar. As shown in Figure 4.18 below, all the personal details of the user will be
   display on screen. To change the data the user have to click on the “edit” hyperlink at the end
   of the page. Another page with editable text box will be loaded for the user to change any
   data. Once, completed, the user had to click on the “Update” hyperlink to update the data or
   the “Cancel” hyperlink to cancel this transaction.




                               Figure 4.12 Update Personal Particulars




                                 Figure 4.18: Edit Personal Particulars



                                                 44
ICT499 Capstone Project Final Report                                      Lam Qiu Lin (P0704136)




   The user can search for Organization by click on “Manage my Network”  “Search for
   Organization” Through this page, the user can conduct a search by Location, Keywords or
   both location and Keyword. To register with these Organizations, the user has to check the
   checkbox and to click on the “Register” button as shown in Figure 4.19. A success message
   box will pop up on screen. Once the Organization approved this registration, the user will be
   inside their network.




                               Figure 4.19: Register with Organization

   To view this update, the user can click on “Manage my Network”  “View Network”, as
   shown in Figure 4.20 below.




                              Figure 4.20: View Network for Volunteer

                                                45
ICT499 Capstone Project Final Report                                       Lam Qiu Lin (P0704136)


   Besides searching for Organization, the user can approve any invite from Organization to join
   their network by clicking on “Manage my Network”,  “Invite from Organization”. To
   accept these invite, the user have to check on the checkbox and click on the “Join their
   Network” button, as shown in Figure 4.21. Once, successful, a message box will pop up on
   screen.




                                Figure 4.21: Invite from Organization


   Another feature is to search for Events. The user can search for events and also accept event
   invite from Organizations who are in their network. The steps are similar to those illustrated
   above for the searching of Organization. This function had been tested and proved to be
   working. An update for the event activity can be viewed by clicking on “Manage my Events”
    “View Events” as shown in Figure 4.22.




                                Figure 4.22: View Events (Volunteer)

                                                46
ICT499 Capstone Project Final Report                                        Lam Qiu Lin (P0704136)


   The last feature is for the Volunteer to post a comment on the website. The user can click on
   “Share your experience” to post a comment as shown in Figure 4.23. From the same page, the
   user is able to view, edit and delete all comments that were posted previously.




                                       Figure 4.23: Post Comment


   This comment will be posted on the main website, as shown in Figure 4.24.




                           Figure 4.24: Comments published on webpage




                                                 47
ICT499 Capstone Project Final Report                                          Lam Qiu Lin (P0704136)


4.6 Organization Testing
   The objective of this testing is to ensure that Organization is able to:
       1. Edit Organization Details
       2. Change password
       3. Manage their Network
       4. Manage their Events
       5. Post a comment


   After registering with the system, Organization will have no access to the system data, until
   they print out the login page and email this to the administrator with the authorized signature.
   The login page is shown in Figure 4.25. Once the administrator approved this registration, the
   access right will be granted to the Organization. This extra step is to ensure security, as there
   are personal particulars of Volunteers in the backend database. Hence, this is to protect the
   safely of all registered Volunteers.




                                Figure 4.25: Organization Login Page


   After the administrator granted the access right to the Organization, the Organization is able to
   search through the database for volunteers, manage their events and to post a comment. The
   editing of Organization Details, searching methodology for volunteers and posting of
   comment is similar to those of the Volunteers, hence, it will not be discussed in this section.
   These features of the Organization had been tested are working. In this section, we will be
   looking at the creation of events.



                                                48
ICT499 Capstone Project Final Report                                       Lam Qiu Lin (P0704136)


   To create a new event, the Organization has to click on “Manage my Events”  “Add New
   Events”. After keying in the event details, the Organization has to click on the “Create Event”
   button. A message box will pop up on screen once the event is created. These are shown in
   Figure 4.26 and Figure 4.27. This event will be visible to the public if the checked box “Allow
   Public View” is ticked. Registered Volunteers in the Network of the Organization will be able
   to register for this event.




                                   Figure 4.26: Create a new Event




                                 Figure 4.27: Success in adding Event




                                                49
ICT499 Capstone Project Final Report                                       Lam Qiu Lin (P0704136)


   The created event can be viewed by clicking on “Manage my Events”,  “View Events” as
   shown in Figure 4.28. On this page, the Forthcoming Events and Historical Events are
   displayed. Organization will be able to edit or delete this event by clicking on the “Edit” or
   “Delete” hyperlink and after editing the data to click on the “Update” or “Cancel” hyperlink
   as shown in Figure 4.29. If there are any Historical Events, they are shown on the page below
   the section of Forthcoming Events, which will only be for viewing purposes.




                               Figure 4.28: View Events (Organization)




                                       Figure 4.29: Edit Event Details



                                                    50
ICT499 Capstone Project Final Report                                        Lam Qiu Lin (P0704136)


   Organization can invite Volunteers who are inside their Network to join their event by
   clicking on “Manage my Events”  “Search for Volunteers” as shown in Figure 4.30. After
   selecting an event from the drop down list, a search can be done by Gender, Age Range,
   Keywords or Advance (all of the search components).




                                       Figure 4.30: Select Event

   After keying in the search criteria, the organization has to click on “Search” button. A list of
   volunteer will be displayed. Organization can ticked on the check box and “Invite Volunteers”
   Button to invite these volunteers, hence a success message box will pop up on screen as
   shown in Figure 4.32. Volunteer will be notified of this invite once they logged in to the
   system.




                                Figure 4.31: Invite Volunteer for Event

                                                 51
ICT499 Capstone Project Final Report                                         Lam Qiu Lin (P0704136)


                   CHAPTER 5: PROJECT MANAGEMENT


5.1 Project Planning
   The below table and Grant Chart consists of twelve main phases throughout this project.


   These phases are:
       1. Discussion with Supervisor on Project Objective
       2. Literature Review and Research
       3. Preparation of Proposal
       4. Preparation of Initial Report
       5. Self Study
       6. Design
       7. Coding implementation
       8. Testing and debugging
       9. Refinement
       10. Review system performance by supervisor (Completion of Project)
       11. Preparation for Final Report
       12. Preparation for Final Presentation


   These different phases serve as a guideline for the completion of project which was first
   drawn up when submitting the proposal. The timeline was adhered to closely, except that
   there are some hiccups along the way. Some of the tasks had shown a sequence flow, but in
   actual fact, the tasks are conducted concurrently. Taking for instance, during the period of self
   study, both database and VWD were learnt during the same period. Also, for the period of
   debugging, refinement and writing of final report, these activities took place at the same time.
   Towards the end of this project, there is a slight change in the final deadline of submission,
   which is not reflected in the Grant Chart in Figure 5.1.




                                                52
ICT499 Capstone Project Final Report                                                       Lam Qiu Lin (P0704136)


                                      Task Name                                 Duration   Start Date    End Date
    - Discussion with Supervisor on Project Objective                             1 day    06/02/2010   06/02/2010
       Meeting up with Supervisor on Project discussion                           1 day    06/02/2010   06/02/2010
    - Literature Review and Research                                             12 days   08/02/2010   21/02/2010
       Searching for Volunteer Organization through Internet                     6 days    08/02/2010   14/02/2010
       Searching for available freeware application programs through Internet    6 days    15/02/2010   21/02/2010
    - Preparation of Proposal                                                   13 days    22/02/2010   08/03/2010
       Preparing and drafting of Proposal                                        10 days   22/02/2010   05/03/2010
       Finalizing and amendments of Proposal                                      1 day    07/03/2010   07/03/2010
       Submission of Proposal                                                     1 day    08/03/2010   08/03/2010
    - Preparation of Initial Report                                             45 days    11/03/2010   10/05/2010
       Preparing and drafting of Initial Report                                  37 days   11/03/2010   30/04/2010
       Finalizing and amendments of Initial Report                               6 days    03/05/2010   09/05/2010
       Submission of Initial Report                                               1 day    10/05/2010   10/05/2010
    - Self Study                                                                21 days    11/05/2010   06/06/2010
       Self study on Database Design                                             6 days    11/05/2010   18/05/2010
       Self study on how to use Microsoft Visual Web Developer                   13 days   19/05/2010   04/06/2010
       Document all information on Log book and Report                           2 days    05/06/2010   06/06/2010
    - Design                                                                    14 days    08/06/2010   24/06/2010
       Backend Database Design                                                   5 days    08/06/2010   13/06/2010
       Front end Website Interface Design                                        6 days    14/06/2010   21/06/2010
       Reviewing of software design with supervisor                               1 day    22/06/2010   22/06/2010
       Document all information on Log book and Report                           2 days    23/06/2010   24/06/2010
    - Coding implementation                                                     14 days    25/06/2010   12/07/2010
       Coding on SQL queries                                                     5 days    25/06/2010   01/07/2010
       Coding on Web interface scripting                                         6 days    02/07/2010   09/07/2010
       Reviewing of coding implementation with supervisor                         1 day    10/07/2010   10/07/2010
       Document all information on Log book and Report                           2 days    11/07/2010   12/07/2010
    - Testing and debugging                                                     15 days    13/07/2010   31/07/2010
       Testing and debugging of SQL queries                                      6 days    13/07/2010   20/07/2010
       Testing and debugging of Web interface scripting                          6 days    21/07/2010   28/07/2010
       Reviewing of Testing and debugging with supervisor                         1 day    29/07/2010   29/07/2010
       Document all information on Log book and Report                           2 days    30/07/2010   31/07/2010
    - Refinement                                                                16 days    01/08/2010   20/08/2010
       Refining of SQL queries                                                   6 days    01/08/2010   06/08/2010
       Refining of Web interface scripting                                       6 days    10/08/2010   17/08/2010
       Reviewing of Refinement with supervisor                                    1 day    18/08/2010   18/08/2010
       Document all information on Log book and Report                           2 days    19/08/2010   20/08/2010
    - Review system performance by supervisor (Completion of Project)             1 day    21/08/2010   21/08/2010
    - Preparation for Final Report                                              65 days    23/08/2010   15/11/2010
       Preparing and drafting of Final Report                                    41 days   23/08/2010   17/10/2010
       Finalizing and amendments of Final Report                                 6 days    18/10/2010   24/10/2010
       Sending Report for binding                                                16 days   26/10/2010   14/11/2010
       Submission of Final Report                                                 1 day    15/11/2010   15/11/2010
    - Preparation for Final Presentation                                        33 days    25/10/2010   04/12/2010
       Reviewing and deciding on the content for presentation                    6 days    25/10/2010   31/10/2010
       Creating of presentation slides                                           6 days    01/11/2010   08/11/2010
       Preparing of poster for the presentation                                  6 days    09/11/2010   15/11/2010
       Printing of poster for presentation                                       6 days    16/11/2010   23/11/2010
       Final Presentation                                                         1 day    04/12/2010   04/12/2010

                                           Table 5.1: Project Task List



                                                          53
ICT499 Capstone Project Final Report                             Lam Qiu Lin (J0704136)




                                       Figure 5.1: Grant Chart

                                                 54
ICT499 Capstone Project Final Report                                         Lam Qiu Lin (P0704136)


5.2 Project Initiation
   Research was conducted on the different software tool available for use in building this project.
   Explore on the different Volunteer recruitment system that is employed by the different Charity
   Organization. A project proposal was drawn up with the objective, description and the approach
   to make this project a success.


5.3 Requirement
   The requirement was drawn up from the objective of this report, which is to build Web based
   Volunteer Recruitment System that acts as a one stop centre for both Charity Organization and
   Volunteers. Through this system, it allows both parties to search for volunteer opportunities
   through a search algorithm.


5.4 Design
   With the User Case Diagram, the different roles and tasks were defined for this project which
   form the main skeleton for the project flow and interface design. Through data base diagram, the
   tables and relationship between each table were defined. The database was normalized into a
   second normalisation form.


5.5 Implementation
   This project was built using VWB which is a GUI interface. Scripting was done using CSS, VB
   and html. A backend database MS SQL Server is used to store all data.


5.6 Verification and Validation
   Tests were conducted on the final working interface by the different functionally of each role. As
   the different tasks are interrelated, it is not a sequence testing on each of the roles, but a
   concurrently testing on the different functions.


5.7 Project Completion
   With the Final Report, Poster, website and Final presentation, it marks the completion of this
   project.


5.8 Resources required
   Reference books from the library, online tutorials and resources were used for this project.


                                                 55
ICT499 Capstone Project Final Report                                       Lam Qiu Lin (P0704136)


       CHAPTER 6: CONCLUSION AND RECOMMENDATION


6.1 Conclusion
   For this project, there are three main human roles, namely, Public, Volunteer and Organization.
   The Public is able to browse through the website and to register for a new account. Volunteer is
   able to modify their personal data, change password, search for Organization to join their
   Network, register for an event and to post a comment on the main website. Similarly,
   Organization is able to modify their Organization details, search for volunteers, change
   password, create an event and to post comment on the main website. The only different is that
   Organization need to send in their registered login page with the authorized signature for the
   proof of identity. The administrator is able to grant approval to Organization for their
   registration, update the age of all volunteers, change password and to modify the data of both
   Volunteers and Organization. These features completed the functional requirements of this
   project.


   With this, I would like to conclude that this project had completed all the requirements with
   success.




                                               56
ICT499 Capstone Project Final Report                                          Lam Qiu Lin (P0704136)


6.2 Recommendation
   Though with the completion of this project, there are many areas for improvement to make this a
   better system. Some recommendations are as followed:


       1. Upload function: To allow Organization to upload picture when creating an event. With
           graphic and colours, it will add life to plain text. This add on feature will make the event
           more appealing to users and indirectly evolve the interest in them.


       2. Emailing Feature: To allow the system to send a consolidated email either a daily or
           weekly update to user information them of new requests from either Organization or
           Volunteers. As if we are to send an email for every request once it is registered, there will
           be a lot of emails sent from the system.


       3. Administrator Features: To allows more features for Administrator in data manipulating
           and website updating. Currently, administrator is only able to modify the data of
           Organization and Volunteer data, but not able to post any articles to the webpage.


       4. Social Network: To allow the website to act as a social networking platform, which allow
           both Organization and Volunteers to maintain their website in this system and allow
           others to post on their wall post. This will enhance interaction between registered users.




                                                 57
ICT499 Capstone Project Final Report                                          Lam Qiu Lin (P0704136)


        CHAPTER 7: CRITICAL REVIEW AND REFLECTIONS

7.1 Problem 1: SQL query did not return the right results
   The SQL query for left outer join to get all volunteers who are not registered with the
   Organization is not working as there is linking of more than two tables.
   Solution: Search through the internet forum for solution. The syntax was right, but the method
   was wrong. The right method is to include the where criteria in the inner join table.
   What I had learnt: There is always new way to do thing, which we are not aware of. This is
   something that is new to me, as I did not know that query can be written this way, a new
   knowledge gained.


7.2 Problem 2: CSS style is not working in VWD
   The CSS style that was set was not working in VWD. Spent a lot of time in creating the
   parameters of the CSS format, but it was not reflected on the final webpage.
   Solution: Whenever we want to change CSS setting, we have to rename the CSS file name as it
   is a flaw in VWD. We had to set the reference back to this new file before we load the webpage.
   What I had learnt: We should not run away from problems, else we will repeatedly encounter
   the same thing. Previously, I thought the faster way is to redo the website format, but I
   encountered the same problem again and again when I accidently drag the margin setting in
   VWD. Later to spend a lot of time searching the internet for solution that solved my bug.


7.3 Problem 3: Sending of email is not working
   The smpt was not authenticated and hence, there was an error in sending email from ASP.
   Solution: To separately create a new Mail.MailMessage() and Mail.SmtpClient to send the email.
   When exiting from the sending module, we need to stop the system from sending the email that
   was programmed by ASP.
   What I had learnt: No matter how hard it is, we will ultimately find a solution to it, if we do not
   give up. Was at the verge of giving up, as the project deadline is getting close, but this email
   server was not working. Continuously search for a solution online that I finally found it.




                                                58
ICT499 Capstone Project Final Report                                          Lam Qiu Lin (P0704136)


7.4 Problem 4: Password reset function is not working
   The resetting function to send the new password by email was not working. Due to the security
   setting in ASP of authenticating, was not able to retrieve the new password by VB coding.
   Solution: To use the email format that was programmed by ASP and to send it via a new
   Mail.MailMessage() by VB coding.
   What I had learnt: When encountered with problems, we should look at it calmly, hence to
   understand the root cause of the problem. Previously, had solved the problem of sending email,
   but later there is another unsolved problem. There was error when trying to retrieve the new
   password by coding, which caused quite some frustration. Later, to take a step back, revisiting
   the problem and to search for more information on the internet that I realize that I could drive on
   the email format programmed by ASP to send the email.


7.5 Reflections


   In the process of doing this project, I had encountered many problems such as the syntax is not
   right or the SQL query is not returning the right output. Spent a lot time seeking help from
   friends and searching for answer from the internet and finally I found the answer. Through this it
   teaches me many things and one of them is “Knowledge is power”. The information that we
   know is limited, but the knowledge out there from books and internet is almost boundless.


   When I was about eighty percent to the completion of the software interface, I borrowed a book
   from the library which teaches me all the main syntax of ASP programming. There are a lot of
   useful features and syntax which I am unaware of. To solve my programming bug, previously, I
   had created textbox and dropdown list to store the different parameters. If I had known the
   syntax for these functions earlier, less time would be spent on trying to find a solution to some of
   the bugs.


   Through the debugging of errors, it teaches me to be patient and to find the root cause of
   problem. Only when we find the solution to the root cause, we can solve the problem, else, there
   is a high possibility of encountering the same problem again and we will be trapped inside. It is
   through errors that we learnt something new. For this project, besides acquiring the new
   programming method and syntax, it had trained my tolerance level and broadens my views of
   looking at things.

   Words Count: 8,220


                                                59
ICT499 Capstone Project Final Report                                   Lam Qiu Lin (P0704136)


                                         REFERENCES

[1] http://www.moe.gov.sg/
[4] http://ageing.oxfordjournals.org/
[2] http://www.pc.org.sg/
[3] http://www.iave.org/
[5] http://www.w3schools.com/asp/asp_install.asp


Online Tutorials


      Online tutorial for Microsoft SQL Server 2005


Online Resources


      http://gerontologist.oxfordjournals.org/
      http://www.nvpc.org.sg/pgm/others/nvpc_f_default_public.aspx


Reference Books


      Chris Love, “ASP.NET 2.0”, Wiley Publishing Inc, 2008
      Mike Young , “Programming Dynamic Websites Using ASP”, Mike Young, 2008
      Paul Sarknas with Rick Delorme, “Beginning Visual Web Developer 2005 Express”, Apress,
       New York, 2006
      Robin Dewson, “Beginning SQL Server 2005 Express for Developers”, Apress, New York,
       2007




                                                  60
ICT499 Capstone Project Final Report                         Lam Qiu Lin (P0704136)


                   APPENDIX A (PARTIAL SOURCE CODE)


For full source code, please refer to the attached CD.


1. Site Map
   <?xml version="1.0" encoding="utf-8" ?>
   <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
       <siteMapNode url="" title="Online Volunteer System" >
           <siteMapNode url="Public_About_Us.aspx" title="About Us" />
           <siteMapNode url="Public_Contact_Us.aspx" title="Contact Us" />
           <siteMapNode url="Public_Experience_Sharing.aspx" title="Exprience
   Sharing" />
           <siteMapNode url="Public_Forget_Password.aspx" title="Forget
   Password"   />
           <siteMapNode url="Public_New_Account.aspx" title="Create New Account"
   />
           <siteMapNode url="Public_Registered_Organization.aspx"
   title="Registered Organization" />
           <siteMapNode url="Public_Upcoming_Events.aspx" title="Up Coming
   Events" />
           <siteMapNode url="Login_Home.aspx" title = "Login">
               <siteMapNode url="Vol_Change_Password.aspx" title="Change
   Password"/>
               <siteMapNode url="Vol_Comment.aspx" title="Share your
   Experience"/>
               <siteMapNode url="Vol_Personal_Particulars.aspx" title="Personal
   Particulars"/>
               <siteMapNode url="" title="Manage My Network" >
                   <siteMapNode url="Vol_Org_View.aspx" title="View Network"/>
                   <siteMapNode url="Vol_Org_Search.aspx" title="Search for
   Organization"/>
                   <siteMapNode url="Vol_Org_Invite.aspx" title="Invite from
   Organization"/>
               </siteMapNode>
               <siteMapNode url="" title="Manage my Events" >
                   <siteMapNode url="Vol_Events_View.aspx" title="View Events"/>
                   <siteMapNode url="Vol_Events_Search.aspx" title="Search for
   Events"/>
                   <siteMapNode url="Vol_Events_Invite.aspx" title="Invite from
   Organization"/>
                   <siteMapNode url="Vol_Events_Historical.aspx"
   title="Historial Registered Events"/>
               </siteMapNode>
               <siteMapNode url="Org_Details.aspx" title="Organization
   Details"/>
               <siteMapNode url="Org_Change_Password.aspx" title="Change
   Password"/>
               <siteMapNode url="Org_Comment.aspx" title="Share your
   Experience"/>
               <siteMapNode url="" title="Manage my Network" >
                   <siteMapNode url="Org_Vol_View.aspx" title="View Network"/>
                   <siteMapNode url="Org_Vol_Pending_Approval.aspx"
   title="Pending Approval"/>
                   <siteMapNode url="Org_Vol_Search.aspx" title="Search for
   Volunteers"/>
               </siteMapNode>
               <siteMapNode url="" title="Manage my Events" >
                   <siteMapNode url="Org_Events_View.aspx" title="View Events"/>


                                                 61
ICT499 Capstone Project Final Report                                Lam Qiu Lin (P0704136)

                          <siteMapNode url="Org_Events_Add.aspx" title="Ann New
   Events"/>
                          <siteMapNode url="Org_Events_Approval.aspx" title="Pending
   Approval"/>
                   <siteMapNode url="Org_Events_Vol_Search.aspx" title="Search
   for Volunteers"/>
               </siteMapNode>
               <siteMapNode url="Admin_Change_Password.aspx" title="Change Admin
   Password"/>
               <siteMapNode url="Admin_Org_Edit.aspx" title="Manage
   Organization"/>
                   <siteMapNode url="Admin_Update_Reg.aspx" title="Update and
   Registration"/>
                   <siteMapNode url="Admin_Vol_Edit.aspx" title="Manage
   Volunteers"/>


           </siteMapNode>
       </siteMapNode>
   </siteMap>


2. Volunteer searching for Organization

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub But_Register_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles But_Register.Click

          For Each row As GridViewRow In Me.GridView1.Rows
              Dim reg As CheckBox = row.FindControl("CheckBox1")

                 If reg IsNot Nothing Then

                     If reg.Checked Then
                         TB_Org.Text = GridView1.DataKeys(row.RowIndex).Value

                           Sql_Insert.Insert()

                           TB_Data.Text = "Update"

                     End If

                 End If

          Next

        If TB_Data.Text = "Update" Then
            MsgBox("You had sucessfully registered with the selected
organization.", MsgBoxStyle.Information, "Success")
            TB_Data.Text = "false"
        End If

          GridView1.DataBind()

          If GridView1.Rows.Count = 0 Then
              Lbl_No_Org.Visible = True
              Lbl_divider1.Visible = False
              Lbl_divider2.Visible = False
              But_Reset.Visible = False
              But_S_Advance.Visible = False
              But_S_Keywords.Visible = False


                                             62
ICT499 Capstone Project Final Report                          Lam Qiu Lin (P0704136)

                 But_S_Location.Visible = False
                 TB_Keyword1.Visible = False
                 TB_Keyword2.Visible = False
                 TB_Keyword3.Visible = False
                 Lbl_Keywords.Visible = False
                 Lbl_Keywords_1.Visible = False
                 Lbl_Location.Visible = False
                 Lbl_Reg_Org.Visible = False
                 Lbl_Search.Visible = False
                 DD_Location.Visible = False
                 Lbl_No_Org.Visible = True
                 But_Checkedall.Visible = False
                 But_UnCheckedall.Visible = False
                 But_Register.Visible = False

          Else

                 If GridView1.Rows.Count = 1 Then
                      But_Checkedall.Visible = False
                      But_UnCheckedall.Visible = False
                 Else
                      But_Checkedall.Visible = True
                      But_UnCheckedall.Visible = True
                 End If

          End If

    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load
        TB_UserID.Text = User.Identity.Name.ToString
        TB_Date.Text = Date.Today

          If TB_Data.Text = "" Then

                 DD_Location.DataBind()

                 If GridView1.Rows.Count = 0 Then
                      Lbl_No_Org.Visible = True
                      Lbl_Reg_Org.Visible = False
                      GridView1.Visible = False
                      But_Register.Visible = False
                      But_S_Location.Visible = False
                      But_S_Keywords.Visible = False
                      But_S_Advance.Visible = False
                      But_Search.Visible = False
                      But_Reset.Visible = False
                      Lbl_Search.Visible = False
                      Lbl_divider1.Visible = False
                      Lbl_divider2.Visible = False
                      But_Checkedall.Visible = False
                      But_UnCheckedall.Visible = False
                 Else
                      If GridView1.Rows.Count = 1 Then
                           But_Checkedall.Visible = False
                           But_UnCheckedall.Visible = False
                      Else
                           But_Checkedall.Visible = True
                           But_UnCheckedall.Visible = True
                      End If

                     Label_No_Org.Visible = False


                                             63
ICT499 Capstone Project Final Report                         Lam Qiu Lin (P0704136)

                  Lbl_Reg_Org.Visible = True
                  GridView1.Visible = True
                  But_Register.Visible = True
              End If
          End If

          TB_Data.Text = "false"

    End Sub

    Protected Sub But_S_Location_Click(ByVal sender As Object, ByVal e As
    System.EventArgs) Handles But_S_Location.Click

          Lbl_divider1.Visible = True
          Lbl_divider2.Visible = True

          'Search Buttons
          But_S_Location.Enabled = True
          But_S_Keywords.Enabled = False
          But_S_Advance.Enabled = False
          But_Reset.Visible = True
          'Gender
          Lbl_Location.Visible = True
          DD_Location.Visible = True
          'Keywords
          Lbl_Keywords.Visible = False
          Lbl_Keywords_1.Visible = False
          TB_Keyword1.Visible = False
          TB_Keyword2.Visible = False
          TB_Keyword3.Visible = False
          TB_Keyword1.Text = ""
          TB_Keyword2.Text = ""
          TB_Keyword3.Text = ""
          'Serach Button
          But_Search.Visible = True
          'volunteers

          If TB_Data.Text = "Empty" Then
               Label_No_Org.Visible = True
               Lbl_Reg_Org.Visible = False
               GridView1.Visible = False
               But_Register.Visible = False
               But_Checkedall.Visible = False
               But_UnCheckedall.Visible = False
          Else
               If GridView1.Rows.Count = 1 Then
                   But_Checkedall.Visible = False
                   But_UnCheckedall.Visible = False
               End If

               Label_No_Org.Visible = False
               Lbl_Reg_Org.Visible = True
               GridView1.Visible = True
               But_Register.Visible = True
               But_Checkedall.Visible = True
               But_UnCheckedall.Visible = True

          End If

    End Sub




                                           64
ICT499 Capstone Project Final Report                         Lam Qiu Lin (P0704136)

    Protected Sub But_S_Advance_Click(ByVal sender As Object, ByVal e As
    System.EventArgs) Handles But_S_Advance.Click
        Lbl_divider1.Visible = True
        Lbl_divider2.Visible = True
        'Search Buttons
        But_S_Location.Enabled = False
        But_S_Keywords.Enabled = False
        But_S_Advance.Enabled = True
        But_Reset.Visible = True
        'Gender
        Lbl_Location.Visible = True
        DD_Location.Visible = True
        'Age
        DD_Location.Visible = True
        Lbl_Location.Visible = True
        'Keywords
        Lbl_Keywords.Visible = True
        Lbl_Keywords_1.Visible = False
        TB_Keyword1.Visible = True
        TB_Keyword2.Visible = True
        TB_Keyword3.Visible = True
        TB_Keyword1.Text = ""
        TB_Keyword2.Text = ""
        TB_Keyword3.Text = ""
        'Serach Button
        But_Search.Visible = True
        'volunteers

          If TB_Data.Text = "Empty" Then
               Label_No_Org.Visible = True
               Lbl_Reg_Org.Visible = False
               GridView1.Visible = False
               But_Register.Visible = False
               But_Checkedall.Visible = False
               But_UnCheckedall.Visible = False
          Else
               If GridView1.Rows.Count = 1 Then
                   But_Checkedall.Visible = False
                   But_UnCheckedall.Visible = False
               End If
               Label_No_Org.Visible = False
               Lbl_Reg_Org.Visible = True
               GridView1.Visible = True
               But_Register.Visible = True
               But_Checkedall.Visible = True
               But_UnCheckedall.Visible = True
          End If

    End Sub

    Protected Sub But_S_Keywords_Click(ByVal sender As Object, ByVal e As
    System.EventArgs) Handles But_S_Keywords.Click
        Lbl_divider1.Visible = True
        Lbl_divider2.Visible = True
        'Search Buttons
        But_S_Location.Enabled = False
        But_S_Location.Enabled = False
        But_S_Keywords.Enabled = True
        But_S_Advance.Enabled = False
        But_Reset.Visible = True
        'Gender
        Lbl_Location.Visible = False
        DD_Location.Visible = False


                                         65
ICT499 Capstone Project Final Report                         Lam Qiu Lin (P0704136)

          'Age
          DD_Location.Visible = False
          Lbl_Location.Visible = False
          'Keywords
          Lbl_Keywords_1.Visible = True
          Lbl_Keywords.Visible = False
          TB_Keyword1.Visible = True
          TB_Keyword2.Visible = True
          TB_Keyword3.Visible = True
          TB_Keyword1.Text = ""
          TB_Keyword2.Text = ""
          TB_Keyword3.Text = ""
          'Serach Button
          But_Search.Visible = True
          'volunteers

          If TB_Data.Text = "Empty" Then
               Label_No_Org.Visible = True
               Lbl_Reg_Org.Visible = False
               GridView1.Visible = False
               But_Register.Visible = False
               But_Checkedall.Visible = False
               But_UnCheckedall.Visible = False
          Else
               If GridView1.Rows.Count = 1 Then
                   But_Checkedall.Visible = False
                   But_UnCheckedall.Visible = False
               End If
               Label_No_Org.Visible = False
               Lbl_Reg_Org.Visible = True
               GridView1.Visible = True
               But_Register.Visible = True
               But_Checkedall.Visible = True
               But_UnCheckedall.Visible = True
          End If

    End Sub

    Protected Sub But_Search_Click(ByVal sender As Object, ByVal e As
    System.EventArgs) Handles But_Search.Click
        If But_S_Location.Enabled = True Then
            GridView1.DataSourceID = "Sql_DisplayL"
        End If

          If But_S_Keywords.Enabled = True Then
              If TB_Keyword1.Text = "" Then
                   TB_Data1.Text = "Is Null"
              Else
                   TB_Data1.Text = TB_Keyword1.Text
              End If

               If TB_Keyword2.Text = "" Then
                    TB_Data2.Text = "Is Null"
               Else
                    TB_Data2.Text = TB_Keyword2.Text
               End If

               If TB_Keyword3.Text = "" Then
                    TB_Data3.Text = "Is Null"
               Else
                    TB_Data3.Text = TB_Keyword3.Text
               End If




                                          66
ICT499 Capstone Project Final Report                         Lam Qiu Lin (P0704136)

              GridView1.DataSourceID = "Sql_keywords"
          End If

          If But_S_Advance.Enabled = True Then
              If TB_Keyword1.Text = "" Then
                   TB_Data1.Text = "Is Null"
              Else
                   TB_Data1.Text = TB_Keyword1.Text
              End If
              If TB_Keyword2.Text = "" Then
                   TB_Data2.Text = "Is Null"
              Else
                   TB_Data2.Text = TB_Keyword2.Text
              End If
              If TB_Keyword3.Text = "" Then
                   TB_Data3.Text = "Is Null"
              Else
                   TB_Data3.Text = TB_Keyword3.Text
              End If
              GridView1.DataSourceID = "Sql_Advance"
          End If

          GridView1.DataBind()

          If GridView1.Rows.Count = 0 Then
               Label_No_Org.Visible = True
               Lbl_Reg_Org.Visible = False
               GridView1.Visible = False
               But_Register.Visible = False
               But_Checkedall.Visible = False
               But_UnCheckedall.Visible = False
          Else
               If GridView1.Rows.Count = 1 Then
                    But_Checkedall.Visible = False
                    But_UnCheckedall.Visible = False
               Else
                    But_Checkedall.Visible = True
                    But_UnCheckedall.Visible = True
               End If
               Label_No_Org.Visible = False
               Lbl_Reg_Org.Visible = True
               GridView1.Visible = True
               But_Register.Visible = True
          End If

    End Sub

    Protected Sub But_Reset_Click(ByVal sender As Object, ByVal e As
    System.EventArgs) Handles But_Reset.Click
        Lbl_divider1.Visible = False

          But_S_Location.Enabled = True
          But_S_Keywords.Enabled = True
          But_S_Advance.Enabled = True
          But_Reset.Visible = False
          'Location
          Lbl_Location.Visible = False
          DD_Location.Visible = False
          'Keywords
          Lbl_Keywords.Visible = False
          Lbl_Keywords_1.Visible = False
          TB_Keyword1.Visible = False
          TB_Keyword2.Visible = False


                                           67
ICT499 Capstone Project Final Report                         Lam Qiu Lin (P0704136)

          TB_Keyword3.Visible = False
          'Serach Button
          But_Search.Visible = False

          'volunteers
          Lbl_Reg_Org.Visible = False
          GridView1.Visible = False
          But_Register.Visible = False
          GridView1.DataSourceID = "Sql_ALL"
          GridView1.DataBind()

          If GridView1.Rows.Count = 0 Then
               TB_Data.Text = "Empty"
          Else
               TB_Data.Text = "Not_Empty"
          End If

          If TB_Data.Text = "Empty" Then
               Label_No_Org.Visible = True
               Lbl_Reg_Org.Visible = False
               GridView1.Visible = False
               But_Register.Visible = False
               But_Checkedall.Visible = False
               But_UnCheckedall.Visible = False
          Else
               If GridView1.Rows.Count = 1 Then
                   But_Checkedall.Visible = False
                   But_UnCheckedall.Visible = False
               End If
               Label_No_Org.Visible = False
               Lbl_Reg_Org.Visible = True
               GridView1.Visible = True
               But_Register.Visible = True
               But_Checkedall.Visible = True
               But_UnCheckedall.Visible = True
          End If

    End Sub

    Protected Sub But_Checkedall_Click(ByVal sender As Object, ByVal e As
    System.EventArgs) Handles But_Checkedall.Click
        For Each row As GridViewRow In Me.GridView1.Rows
            Dim check1 As CheckBox = row.FindControl("CheckBox1")

                 If check1.Checked = False Then
                     check1.Checked = "true"
                 End If

        Next
    End Sub

    Protected Sub But_UnCheckedall_Click(ByVal sender As Object, ByVal e As
    System.EventArgs) Handles But_UnCheckedall.Click
        For Each row As GridViewRow In Me.GridView1.Rows
            Dim check2 As CheckBox = row.FindControl("CheckBox1")

                 If check2 IsNot Nothing Then
                     check2.Checked = "false"
                 End If
          Next

    End Sub
End Class


                                           68
ICT499 Capstone Project Final Report                                           Lam Qiu Lin (P0704136)


                            APPENDIX B (MEETING LOG)

    Meeting No: #1                                     Date: 6th Feb 2010
    Venue: UniSIM                                      Time: 1300 – 1400
    Discussion:
       Introduction to this project
              An website interface must be programmed
              Can be either host on a free host server or a local pc
       Freeware available for use:
              Dreamsparts
              Microsoft Visual Studio
    Action Plans:
       To explore on (by next meeting)
              the available free programming platform
              volunteer system that are currently available in the internet, for reference
       Preparation of proposal by 8th March




    Meeting No: #2                                     Date: 20th Feb 2010
    Venue: UniSIM                                      Time: 0930 – 1030
    Discussion:
       Briefing of proposal (3 parts)
              Project Definition
              Investigation and Project Background
   Project Plan
       To explore on Dreamspark website for the available software for download (Student Usage)
    Action Plans:
       To complete the proposal by 8th March




                                                 69
ICT499 Capstone Project Final Report                                          Lam Qiu Lin (P0704136)




    Meeting No: #3                                   Date: 20th Mar 2010
    Venue: UniSIM                                    Time: 1300 – 1400
    Discussion:
       To explore on some of the features that can be provided by the system.
       To explore on the installation of Visual Web Developer 2008
       Planning on the database design
       To explore on the software development cycle. Planning on the database design
    Action Plans:
       To complete these actions items latest by next meeting in April.




    Meeting No: #4                                   Date: 17th Apr 2010
    Venue: UniSIM                                    Time: 1330 – 1430
    Discussion:
       Review on the feedback of the proposal that was submitted previously.
         These feedbacks can be improved on while working on the Final Report.
         Take note the method of quoting, should be included in the Final Report.
            (IMPORTANT)
       Review on the timeline of project.
         Final working software project need to be ready by September, hence there can be ample
            time to work on Final Project and for any other improvements.
       Discussion on Interim Report
         A short 4-page Interim Report.
         The format to be included. (Blue text must be included on the 1st and last page.)
         Use the meeting log as a basis for the content of Interim Report.
         To work on some sample website on Visual Web Developer 2008, hence to include them
            as sample in the Interim Report.
    Action Plans:
       To complete the Interim Report one week before the dateline.
       To start working on the designing of software system.




                                                70
ICT499 Capstone Project Final Report                                           Lam Qiu Lin (P0704136)




    Meeting No: #5                                       Date: 22nd May 2010
    Venue: UniSIM                                        Time: 0930 – 1030
    Discussion:
       Review on the modules that I will be taking next semester, hence to work toward a flexible
        timeline for this project.
         Aim to have the softcopy platform ready by Jul before the next semester start, hence, it
            will not be so stress on my timing to cope with this project and my studies.
       Explore on the programming platform
         Will be using Visual Web developer and MS SQL Server. Both software are installed on
            my laptop.
       Explore on ISS
         To research on ISS function on my pc, which I am using windows Vista. The ISS must
            be enabled, hence it can acts as a server host.
    Action Plans:
       To research on ISS on Windows Vista Platform.




    Meeting No: #6                                       Date: 3rd July 2010
    Venue: UniSIM                                        Time: 1000 – 1100
    Discussion:
       Review on project implementation, looking at:
         Login methods for both Volunteers and Organization, to be decided upon if there should
            be a login table for all login details or to have a separate login table for each Volunteer
            and Organization.
         The different users of this system: Administrator, Organization and Volunteers.
       Explore on the overall process of this system:
         Organization will make the registration online. Upon receiving the signed registration
            document with the company stamp sent via email, the administration will approve this
            registration.
         Volunteer can make the registration online. To gain access to the events post by different
            organization, volunteer will have to register with the organization.
    Action Plans:
       To have the basic features of the website system ready by the next meeting.



                                                  71
ICT499 Capstone Project Final Report                                         Lam Qiu Lin (P0704136)




    Meeting No: #7                                     Date: 21st Aug 2010
    Venue: UniSIM                                      Time: 1600 – 1700
    Discussion:
       Review on website development
         The logic flow and the main features are included.
         Suggestions for some add on features:
       After logging in, show the latest update, like, the application had been approved.
       Allow Organization to insert some pictures to the events that was created.
       Allow a page to show the feedback by volunteers.
       A button to select all checkbox. (For registration and event management)
         The logic flow for Organization Registration:
       We can check if the Organization is valid by their Tel#, Email# and Webpage.
       Request them to drop us an email with the Business Registration Code. Once we received
        this email, we will activate their account.
       Start on the writing of Capstone Report
    Action Plans:
       To debug the current bug and partly developed functions of the website.
       To align on the front end interface.
        To include the add-on features.
       To start writing on the Capstone Report.




                                                  72
ICT499 Capstone Project Final Report                                          Lam Qiu Lin (P0704136)




    Meeting No: #8                                     Date: 25th Sept 2010
    Venue: UniSIM                                      Time: 1500 - 1600
    Discussion:
       Review on Final Report, looking into the different section of the report
         Abstract: The summary of the main chapters in this report.
         Induction: about ½ page. What this project is about, where this project is use, how it will
            value add… etc.
         Current System: 1 or 2 system similar to this project. Compare and describe.
         Software Review: Describe about the strength of the software that is used for this
            project.
         Testing and Results: Showing the screen shot of the testing for all the roles. APPENDIX
            A (PARTIAL SOURCE CODE)
         Appendix A: partial source code coding.
         Meeting Log: Can be simplify with the summary of each meeting.
       Naming of figures/images in report:
         It must follow the chapter. Eg. Chapter 1, the 1st figure will be 1.1. In Chapter 2, the 1st
            figure will be 2.1
       Software project:
         Latest update, write an SQL query to select the latest top 10 activities.
    Action Plans:
       To implement the pending add on functions
       To align the website design
       To work on the Final Report




                                                 73
ICT499 Capstone Project Final Report                                           Lam Qiu Lin (P0704136)



    Meeting No: #9                                     Date: 9th Oct 2010
    Venue: UniSIM                                      Time: 1030 - 1130
    Discussion:
       Review on the software project
         Looking at the feature to change send email.
         Looking at the ISS installation of Windows Visa
         Navigate the different function that was programmed
       Review on the Final Report
         Reviewing Chapter 1 on Introduction and the main objective
         Reviewing Chapter 2 on Literature Review
    Action Plans:
       Debug and to alight the style of website design
       To work on the remaining Chapters of the rest of the chapters




    Meeting No: #10                                    Date: 23th Oct 2010
    Venue: UniSIM                                      Time: 1030 - 1130
    Discussion:
       Review on Final Report on the different Chapters that was drafted
         Chapter 2: To include the different tools used in details of the version. Eg. ASP.Net 2.0
            Also, to remove the part on research of volunteer fraud as it is not related to system.
         Chapter 3: Changes to the login box of the flowchart for the frontend interface. The
            presentation of database fields can be neater by putting them in tables.
         Appendix: The presentation of Meeting log can be simplified, discuss about the format.
         Figures and tables need to be named.
       Software Review: Look through the final frontend
    Action Plans:
       To complete the Final Report for the rest of the chapters
       To find solution to the bugs and complete the interface before the deadline




                                                 74
ICT499 Capstone Project Final Report                 Lam Qiu Lin (P0704136)


                                       GLOSSARY


ASP: Active Server Page

CIP: Community Involvement Program

GUI: Graphical User Interface

GPL: General Public Licence

HTML: HyperText Markup Language

IIS: Internet Information Service

MOE: Ministry of Education

NVPC: The National Volunteer & Philanthropy Centre

PWS: Personal Web Server

SMPT: Simple Mail Transfer Protocol

SQL: Structured Query Language

VB: Visual Basic

VWD: Visual Web Developer




                                           75

				
DOCUMENT INFO