A web-based charity management system for Non-governmental Organizations in Kenya. Ayodo Newton Isaac Student No. 100853 BBIT 4A An information System documentation Submitted to the Faculty of School of Computing and Engineering Sciences in partial fulfillment of the requirements for the award of a Degree in Business Information Technology. 27th January 2021 i Declaration I Ayodo Newton Isaac declare that this project has not been submitted to any other University for the award of a degree in Business Information Technology. Student Name: Sign: Date: Supervisor Name: Sign: Date: ii Abstract Charity is defined as the act of kindness where a group of people or an organization whose financial status are high and are willing to contribute part of their income in order to fulfill the needs of those who are less capable. Charity plays an important role in non-governmental organizations (NGOs), it contributes to their financial status and supports development projects in the society, enhance community development and help those who are less capable or affected by pandemics such as floods, diseases el cetera. Most non-governmental organizations experience a lot of difficulty in getting donations and funds for charity this is as a result of not getting sufficient number of donors who can donate funds or any other items. Some donors demand certain standards from the organization to prove whether they are legal organization when requesting for charity. There is lack of efficiency in which donations are being tracked which leads to lack of trust from donors. The main aim of this project is to come up with a technological solution by developing an information system to address the problem faced by Non-governmental organizations or charity- based organizations. The system will be accessed by the administrator, Non-governmental Organizations and donors. All users are able to register and login into the system. During registration of a non-governmental organization, it has to submit its registration number in the system proving it’s a legal organization for approval. Once approved by the admin, it will get an email notification of approval and it will be able to login. Upon logging in, they are able to send requests to many donors for donations. The project will also enhance the rate of tracking donations and transactions that have been made. A structured system analysis and design approach was used in solving the problem. Tools that were be used are; HTML, PHP, CSS, JavaScript, XAMPP and MySQL. The project will benefit the organizations by finding a lot of ease in getting donors and keeping track of all donations that have been made. iii Table of Contents Declaration ............................................................................................................................................................. i Abstract ................................................................................................................................................................. ii List of figures ........................................................................................................................................................ v List of Abbreviations ........................................................................................................................................... vi Chapter 1: Introduction ......................................................................................................................................... 1 1.1 Background. ................................................................................................................................................ 1 1.2 Problem Statement. ................................................................................................................................ 2 1.3 Aim. ............................................................................................................................................................ 2 1.4 Specific Objectives. .................................................................................................................................... 2 1.5 Justification. ................................................................................................................................................ 2 1.6 Scope limitation. ......................................................................................................................................... 3 Chapter 2: Literature Review ................................................................................................................................ 4 2.1 Introduction. ............................................................................................................................................... 4 2.2 Description of the current used charity management system. .................................................................... 4 2.2.1 Challenges faced with the current charity management system. ......................................................... 5 2.3 A review of an existing online charity management system. ..................................................................... 5 2.3.1 Gaps in existing online charity management system. .......................................................................... 6 2.4 A review of possible Development technologies. ....................................................................................... 6 2.5 Conceptual Framework. .............................................................................................................................. 6 Chapter 3 System Development Methodology ..................................................................................................... 8 3.1 Introduction. ............................................................................................................................................... 8 3.2 Rapid Application development. ................................................................................................................ 8 3.2.1 Requirements Planning. ....................................................................................................................... 9 3.2.2 User Design. ........................................................................................................................................ 9 3.2.3 Construction. ....................................................................................................................................... 9 3.2.4 Cutover. ............................................................................................................................................... 9 3.3 Analysis. ................................................................................................................................................... 10 3.3.1 Functional Requirements. .................................................................................................................. 10 3.3.2 Non-functional Requirements. ........................................................................................................... 11 3.4 Method of collection of requirements. ...................................................................................................... 12 3.5 Design. ...................................................................................................................................................... 12 3.6 System Development Tools and Techniques. ........................................................................................... 13 3.7 Method used to test the developed system. ............................................................................................... 14 iv 3.8 Domain of Execution. ............................................................................................................................... 14 3.9 Modules and System Architecture. ........................................................................................................... 14 Chapter 4 System Analysis and Design description ............................................................................................ 16 4.1 Introduction .............................................................................................................................................. 16 4.2 Requirements gathering ............................................................................................................................ 16 4.3 System requirements ................................................................................................................................. 16 4.3.1 Functional requirements .................................................................................................................... 16 4.3.2 Non-functional requirements ............................................................................................................. 17 4.4 System Architecture.................................................................................................................................. 18 4.5 Analysis ..................................................................................................................................................... 19 4.5.1 Context Diagram ............................................................................................................................... 19 4.5.2 Data Flow Diagram (DFD) Level 1. .................................................................................................. 20 4.5.3 Data Flow Diagram (DFD) Level 2. .................................................................................................. 21 4.5.4 Entity Relationship Diagram (ERD). ................................................................................................. 22 4.5.5 Database Schema. .............................................................................................................................. 23 Chapter 5 System implementation and testing .................................................................................................. 24 5.1 Introduction .............................................................................................................................................. 24 5.2 System implementation. ........................................................................................................................... 24 5.2.1 User modules. .................................................................................................................................... 25 5.3 System testing. .......................................................................................................................................... 28 5.3.1 Functionality testing. ......................................................................................................................... 28 5.3.2 Usability testing ................................................................................................................................. 28 5.3.3 Unit testing ........................................................................................................................................ 29 Chapter 6: Conclusions, Recommendations and Future Works .......................................................................... 30 6.1 Introduction .............................................................................................................................................. 30 6.2 Discussion ................................................................................................................................................. 30 6.3 Conclusions ............................................................................................................................................... 31 6.4 Recommendations .................................................................................................................................... 31 6.5 Future Work .............................................................................................................................................. 31 References ........................................................................................................................................................... 33 Appendix A : Time Schedule ............................................................................................................................... 34 v List of figures Figure 1 review of online charity system ........................................................................................ 5 Figure 2 Conceptual Diagram ......................................................................................................... 7 Figure 3 Rapid Application Development (RAD) .......................................................................... 8 vi List of Abbreviations HTML – Hypertext Markup Language. CSS – Cascading Style Sheet. PHP – Hypertext Processor. MySQL – My Structured Query Language. XAMPP – Cross platform Apache MySQL Database NGO – Non Governmental Organization. . 1 Chapter 1: Introduction 1.1 Background. In the past years, philanthropy as a field has advanced in its knowledge by sharing or reaching out to many donors and volunteers (Johnson, 2007). This has made many organizations to change their way of collecting funds or donations from various donors. Non-governmental organizations who manage their operations from sources such as membership fees, government contracts, sales of services and goods, commercial ventures and partnerships use charity as the core source and form of support to support organizations around the world (Higgigs, 2006). Charity is an important component for the organizations success. It is important for the organization’s survival, expansion and development (Norton, 1998). Non-governmental organizations (NGOs) are diverse groups of enterprises who are engaged in non-profit activities such as charity so as to offer assistance to those who are less capable. The ever-changing nature of information and communication technology has made it possible to develop many ICT-based inventions that have been able to enhance many services across many industries. Charity can be defined as the act of kindness shown by non-governmental organizations that are able to contribute part of their surplus income so as fulfill the needs of those who are less capable especially those that are affected by pandemics. The Charities Act 2011 provides the list of charity purposes as: the prevention of relief or poverty, the advancement of education, the advancement of religion, health, disability, financial hardship and many more to help those who are in need of charity. In the current system scenario concerning charity management, non-governmental organizations such as the Institute of Charity Management are involved in collecting donations and funds from other organizations to carry out charity activities. However, there exists various challenges in the current system. There is lack of trust from the public especially when it comes to fundraising for charity hence the rate in which people donate or pay for charity has recently reduced (Gilbert, 2019). Poor communication is also a challenge that exits in the current system of charity management hence little communication between the organization and various donors. A lot of resources are being used in NGOs during charity hence the need to develop a charity management system to increase efficiency. 2 1.2 Problem Statement. Many Charity organizations experience a lot of difficulty in getting funds or other required needs for charity activities. Getting donors is a very difficult task also dealing with the same donors is challenging for example meeting the donor’s condition is a difficult task for organizations to fulfill. There is inefficiency in which terms of tracking donations in a charity project hence making it difficult for the organization to manage all donations that have been made. This leads to lack of trust from most donors. Managing all donors in a non-governmental organization is therefore not efficient in the current system. A problem of such magnitude can be solved by an information system that can be able to keep track of all donations by generating reports of all donations, can help NGOs find donors easily, can be able to manage all donors and NGOs together with their history in charity activities, such as history of all donation that have been made and donation requests that have been raised by NGOs. 1.3 Aim. The aim of this project is to develop an information system that will be able to solve the problems identified in 1.2. It will be able to solve the problem of lack of efficiency when managing, donors, NGOs, donations and donation requests from NGOs. To specify the main goals of a charity organization so as to improve the rate in which donations are made. 1.4 Specific Objectives. i. To investigate challenges faced by charity-based institutions in managing their donor funding. ii. To assess the performance of similar solutions and critique their performance. iii. To design a system that will solve the challenges faced by these charitable organizations(NGOs) iv. To test the web-based system. 1.5 Justification. The project develops a comprehensive tool aims to solve problems affecting charity-based organizations. It offers efficiency and valid solutions when solving the problems. It will 3 enhance accuracy of collecting and receiving donations in form of funds from various donors and non-governmental organizations, also managing all donors and NGOs. An online charity management system is the best way to address all the problems faced by NGOs while looking for donors and collecting all funds and donations. 1.6 Scope limitation. The project sets to cover all specific objectives. Issues being addressed mainly being, getting many donors easily, keeping track of all donations and transactions. The project is set on administrative and user interactions such as user registration and email communications. The deliveries include donors being able to see their donation history and status of their donation, generating report of all donations and transactions that have been made by various donors. Limitation of the project is that it can only be accessed on web-enable devices and requires strong and reliable internet connectivity. 4 Chapter 2: Literature Review 2.1 Introduction. This chapter reviews the existing literature of the current charity management situation in non- governmental organizations or any other charity-based organizations in Kenya. Non-governmental organization (NGOs) are defined as highly diverse groups of organizations that are highly engaged in non-profit activities such as charity for their development and to offer assistance to the less capable. An example of a definition of an NGO is by the World Bank which describes charity organizations as private organizations that pursue activities to relieve suffering, promoting interest of the poor, protecting the environment, undertaking development and also providing basic social services to the community. NGOs assist in empowering communities by allowing them to participate in charity projects to improve the quality of lives of those who are less capable (Nikkha, 2017). In Kenya mission statements are used by non-governmental organizations to attract donors to donate for charity. Mission statements enable donors to know their role and to add transparency and credibility to the raised funds and donations (Waters, 2007), (Guo, 2011). An example of an NGO in Kenya is The Kenya Charity Sweepstake which raises funds to assist the government to fight against poverty and disease. It raises funds by selling some of its various products countrywide (Kenya Charity Sweepstake, 2020). 2.2 Description of the current used charity management system. Most non-profit organizations or charity based organizations use a system that enable a number of buyers to sell items that are associated with charity and the amount that is related to the items that have been sold is donated for charity. It also enables buyers to purchase items and sell them at a profit and a portion of the profit is donated to charity. Research has shown that charity organizations are always in need of funds for charity, despite the kind donations from individuals, corporations etc thus the most effective charity fund techniques are those that will benefit the donor (Harmon, 2003). Some broadcasting outlets also use web-based software such as ads as a way of motivate various donors to donate for charity. They use the ads as a way to improve in their public image (Townley, 2003). Other organizations use automated accounting fundraising system whereby a transaction 5 amount of purchase is receiver and donation amount predefined by a percentage. The donation amount is transferred electronically from the organization’s account to the beneficiaries account (Horn, 2002). 2.2.1 Challenges faced with the current charity management system. Donations come from very many sources and many formats. The anonymous donations that is being collected consumes a lot of data in the systems. It also takes a long period of time to compile the huge amount of data which might also take a lot of processes. There is inadequate security and compliance. Charities contain a lot of confidential information such transactions which without adequate security might lead to financial damage in the charity based organizations. The system also requires strong and reliable internet connectivity. 2.3 A review of an existing online charity management system. An example of an online charity management system if the Gift Box charity System, built on the current Microsoft and net technology. The functionalities of the system are; managing donors, managing volunteers, charity members, beneficiaries and clients cases. The system performs operations such as donation processing and tax processing. The purposes of the system include; increasing operation efficiency, reducing the cost on resources such as eliminating manual work, informing more people of charity related goals (LANWORKS, 2016). Figure 1 review of online charity system 6 2.3.1 Gaps in existing online charity management system. The main challenge that exist in the system is that there is inadequate tracking of donations and transactions with might lead to very high financial breakdown in the organization. Donors are not able to register in the system easily, the admin in the system has to register various donors so as to get access to the system and make donations easily. This might lead to lack of trust from donors and causes a major difficulty in finding various donors. 2.4 A review of possible Development technologies. Proper tracking of donation records can be made more efficient by having an accounting module in the system which will enable the donor to see a history of all donations and transactions that have been made. Alerting the donor of how the donations have been spend through email communication or contact messages. Having a suitable strong 4G or 5G internet connection for efficient transaction and communication so as to avoid slow transactions especially money transactions. 2.5 Conceptual Framework. This section contains a conceptual diagram that shows the functionality of the proposed system. The system will have the following modules: Admin module, NGO or charity-based organization module and the Donor module. The admin registers and logs into the system using the credentials. The admin has the authority to approve or reject request raised by an NGO. Approval can only be done after the organization has been approved by the admin. NGOs are able to register and come up with a request. They can log in and raise a donation request to donors. Donors will register and login into the system and will get all requests raised by NGOs.. 7 Figure 2 Conceptual Diagram 8 Chapter 3 System Development Methodology 3.1 Introduction. Methodology is the theoretical or systematic analysis of data or methods that are being applied in the field of study. It consist of theoretical analysis of methods and principles in the branch of knowledge. It offers theoretical understanding of a set of methods applied in a specific case (Rose, 2005). Rapid Application development is the most suitable development methodology since it prioritizes quicker feedback from clients after a long period of development and testing cycles. 3.2 Rapid Application development. Rapid application development is a development methodology that prioritizes rapid development of prototypes and offers quick feedback after long period of development and testing cycles. A developer can be able to make multiple updates on the system without having to start developing from scratch. Figure 3 Rapid Application Development (RAD) 9 3.2.1 Requirements Planning. In this stage the developer and the users communicate to determine the possible goals, objectives and expectations of the project for its success and the existing issues that need to be discussed during the development of the system. Requirements planning involves performing efficient research such as conduction questionnaires and surveys of the current problem that exist, defining what are the efficient requirements for the success of the project and finalizing all the requirements collected for the stakeholder’s approval. 3.2.2 User Design. After carrying planning all the requirements of the projects, a user design has to be developed through prototype interactions. In this stage the client has to work hand in hand with the developer to ensure their needs are met during the design process. The user or the client tests each prototype in order to see that all expectations have been met effectively. In this stage, the developer gets a chance to go through the prototype again and again until the client is satisfied with the design. 3.2.3 Construction. In this stage, the developer is able to construct a working model more quickly because problems ad changes were being addressed in the user design. This stage involves preparation for rapid construction of the system, developing the application, coding and Unit integration and testing the system. A team of developers work hand in hand to ensure the smooth working of the system to meet the clients’ expectations and goals more effectively. The client also has the authority to suggest any changes, updates and ideas that can solve arising problems that can only be solved by the system being developed. 3.2.4 Cutover. In this stage, the final product is developed and ready to be presented. It includes conversion of data, testing the system and user training which involves how to use the system, how the system solves a particular problem, the importance of the system and all the functionalities. The client and the developers also work closely to search for possible bugs in the system. 10 3.3 Analysis. Software requirements analysis is defined as the process of defining the user’s expectation of the system that is being built and modified. It involves identifying the needs of various stakeholders such as users and beneficiaries. Software requirement analysis also involves analyzing, documenting, validating and managing of software requirements. Structures Systems analysis and design is a systems approach of designing and information system hence can be used to provide a framework of activities and capture, transformation, storage and tracking of data in the system. 3.3.1 Functional Requirements. Functional requirements are defined as activities that the system or software must perform to meet the needs of the organization (Satzinger, 2008). They describe what the system or software will do, that is the fundamental process and behavior that the hardware and software components perform through inputs to produce outputs (Lawrence, 2012) a. Authentication This is whereby all users are allowed to register their credentials to the system and use them to access the system. This is necessary in that only trusted users can be able to access the system. As for the non-governmental organization, its registration number has to be checked by the admin after registration and upload for the organization to be able to log in an access the system. b. Administrative functions. In this function, the admin is in charge of adding details such as other admins, managing Non- governmental organizations or charity based organizations’ details, all donations that are donated by various donors and volunteers. The admin approves the Organizations documents to enable the organization to request for a donor to get help in donating as far as charity is concerned. The admin also manages all charity information and communications among Non-governmental organizations, donors and volunteers. c. Audit tracking. The system will be able to track data of all users who are able to access the system, how time, date and the amount of time the user was able to access the system. This enhances maximum security in the system. 11 d. Reporting requirements. The system will be able to generate a report of all finances, donations collected and Non- governmental organization requests made to donors. It will generate a report of all users in the system will the necessary credentials and all transactions that have been made using the system. 3.3.2 Non-functional Requirements. Non-functional requirements is defined as the systematic and pragmatic approach used in building efficient software systems. The systems have to exhibit qualities such as accuracy, performance, availability, security and usability (Chung L. , 2012). Some of the non-functional requirements that the system will use are; a. Accuracy. Accuracy in information system is regarded as a high priority in any system or software. It refers to the correctness of data that is being collected. This data includes; all transactions that are made, all donations and requests that are collected, data containing all legal non-governmental or charity based organizations and all donors accessing the system. This reduces any form of mislead or conflict among various users in the system. b. Performance. Performance describes how well the system can perform its functions under certain conditions. Example are; the speed and response of the system, the storage capacity of the system to accommodate all the data and the time taken for execution. The proposed system will be able to support majority of user tasks such as storage which will accommodate a huge amount of data being collected and saved in the system. The system will have fast speed of response in executing tasks hence fast and efficient speed is only applicable with strong internet connection. c. Availability. The proposed system will be available to all users who have strong and reliable network and internet connectivity. The system can be accessible to both personal computers and smart phones. It will also be available on operating systems such as; windows, Linux, apple and android. 12 d. Security. This type of non-functional requirement ensures that all information and data in the system are well protected from and hacks, malware attacks and preventing access of any unauthorized user. e. Usability. Usability is defined as the ease in which all users use the system and make a huge value from it. All interfaces will be deigned in a way in which all users are able to access the interfaces easily and move from one interface to another freely. 3.4 Method of collection of requirements. Some of the methods used in collecting the requirements are; conducting questionnaires, conducting surveys and brain storming. Brain storming is defined as getting as many ideas as you can from a group of people in order to identify the possible solution to solve the various problems and also to find out more details of opportunities, hence how the system can be of high benefit to Non-governmental organizations and donors. 3.5 Design. System design is defining the architecture, interfaces, modules and data that has to be in the system to satisfy the user requirements. It could also be seen as the applicability of systems theory on software development. Use case diagrams will be applied in the proposed system so as to identify different access and user levels in the system. The administrator is in charge of every operation that take place in the system. Other users in the system include; Donors and Non-governmental organizations NGOs. Entity Relationship Diagram ERD will be used to show the various relationships that exist among various users in the system and their roles in the system. a database schema shall also be used to observe the relationship among various modules in the system. 13 3.6 System Development Tools and Techniques. Here are some of the development tools that will be used during the system development; a. HTML. Hypertext Markup Language is a standard markup language used to design web-pages or we-sites. The programming language is used to format text titles and heading, arrange various graphics in the web-page and also create links that are connected to different interfaces in the web-page. Hence a suitable programming language for the development of the system. b. CSS Cascading Style Sheets is a language describes the styling of web-pages. It includes insertion of colors, layouts and fonts in the web-page to make it presentable and pleasing to the user using the system. it is easier to maintain and also share style sheets across different web-pages in the website. c. JavaScript. JavaScript allows creation of highly responsive user interfaces and also improve the experience of the user by providing high speed functionality without having to wait for the server to reload another page. d. PHP Hypertext Preprocessor is a programming language that allows the developer to create dynamic data that has close interaction with the database. Hence enable database connectivity to the web- based system. e. MySQL. It is a database management system that allows management of relational databases. It allows creation of databases, table and entities that allows the storage of data that has been saved from the system. f. XAMPP. It is an open-source web server consisting of APACHE HTTP Server, MySQL Database and PHP scripts. It is mainly used as a local server but can be transitioned to a live server. It also allows the interpretation of PHP written scripts. 14 3.7 Method used to test the developed system. Unit testing will be a method that will be used to test the functionality of the system. It involves testing individual components or units of the software. The main purpose of unit testing is to validate the design of each unit of the software. Each units have few inputs but with single outputs in the system. Back-end testing will also be used to test the system. in this type of testing, testing will be directly connected to the database and the developer can verify data by running certain queries in the database. 3.8 Domain of Execution. The domain of execution will be done using a desktop with a web-based server installed in it. The desktop will have Linux or Windows as the main operating system to be used to execute the system. 3.9 Modules and System Architecture. This describe the structure of the system and roles of all modules that are in the system. a. Administrative module. This module offers duties such as managing data concerning Non-governmental organizations NGOs, managing all transactions that take place, managing all data containing donations that have been made and communication among charity organizations and donors. It also features approval of the organizations documents in order for the organization to be granted access into the system. b. NGOs module. This module feature non-governmental organizations and charity based organizations. It enable the organizations registration and uploading of legal documents to the system to request for approval to access the system. Allows requests to be sent to various donors through emails there after the donor is able to accept the request and a notification is sent concerning whether the request has been accepted or rejected. Once accepted, a donation is made. c. Donor module. This module only features a single repository of all information regarding donors. It includes a history of all donations that have been made to various NGOs for charity activities, 15 communications and activities relating to charity. The module also features capturing of various transactions through credit cards, online banking, cheques and cash. Distribution of donations to organizations or charity-based events is also captured in the system. 16 Chapter 4 System Analysis and Design description 4.1 Introduction The purpose of this chapter is to cover more on what the system seeks to achieve and meet the needs of the users. It will also give more detail on the functions of different users in the system and how they are able to interact with each other on occasional basis. The chapter will also cover on how the system operates with various modules in the system and the interaction among the various modules. 4.2 Requirements gathering Some of the methods used in collecting the requirements are; conducting questionnaires, conducting surveys and brain storming. Brain storming is defined as getting as many ideas as you can from a group of people in order to identify the possible solution to solve the various problems and also to find out more details of opportunities, hence how the system can be of high benefit to Non-governmental organizations and donors. It also involved analyzing the interaction among different users and what their functions will be in the system. 4.3 System requirements These represent features and functionality of the online charity management system. Comprises of functional and non-functional requirements. 4.3.1 Functional requirements ID Description FRQ 1 The system should allow Admin to sign in FRQ 2 The system should allow Admin to login FRQ 3 The system should allow Admin to view reports of Donor details, NGO details, NGO requests and donations. FRQ 4 The system should allow Admin to add a user FRQ 5 The system should allow Admin to remove NGOs and Donors. FRQ 6 The system should allow NGO to sign in. 17 FRQ 7 The system should allow NGO to login. FRQ 8 The system should allow NGO to send donation requests FRQ 9 The system should allow NGO to receive donations FRQ 10 The system should allow NGO to reset their password using email. FRQ 11 The system should allow Donors to sign in FRQ 12 The system should allow Donors to login FRQ 13 The system should allow Donors to view requests FRQ 14 The system should allow Donors to make donations as per the requests. FRQ 15 The system should allow Donations to be sent to NGOs 4.3.2 Non-functional requirements ID Category Description NFRQ 1 Usability The system should be easy to use NFRQ 2 Performance The system should perform faster and efficiently. NFRQ 3 Reliability The system should be reliable to all users. NFRQ 4 Security The system should provide efficient security to all users and their details. NFRQ 5 Supportability The system should support internet enables devices. 18 NFRQ 6 Availability The system should be available to all users with strong internet connectivity. 4.4 System Architecture 19 4.5 Analysis 4.5.1 Context Diagram Structured system analysis and design will be used in development of the project. The below diagram contains the context diagram of the charity management system. 20 4.5.2 Data Flow Diagram (DFD) Level 1. 21 4.5.3 Data Flow Diagram (DFD) Level 2. 22 4.5.4 Entity Relationship Diagram (ERD). 23 4.5.5 Database Schema. 24 Chapter 5 System implementation and testing 5.1 Introduction This chapter seeks to focus more on what the system entails, how it was developed and the purpose of various sections in the system. It will also focus on the testing of the system, if various sections of the system perform their function successfully and efficiently. This chapter also aims to detect any failures that exist in the system before the system is implemented and released to the society hence it must be functioning efficiently to meet the needs of the users. It also provides a description of how the system is tested and to ensure the specific goals and objectives are met. 5.2 System implementation. This section shows the manner in which the system was built using the system analysis and design methodology as discussed in Chapter 3 of the online charity management system project. Different actors take part and are involved directly in the system. The actors or users of the system are; The Admin, Donors and Non-governmental organizations (NGOs). The admin acts as the main actor in the system because he/she is responsible and manages all operation that take place in the system. The admin makes sure that there is proper and sufficient maintenance in the database and all transaction records are up to date. The most important activity of the NGO will be raising donation requests to various donors, they can also update and delete the requests. All requests and donations are being viewed by the admin and stored in the database for the purpose of enhancing integrity and security of transactional data. The construction and development of the system was done using PHP, HTML and XAMPP. XAMPP is a server that contains apache and MySQL tools that aids in implementation of the system to identify and failures and make corrections so that the system can function efficiently and effectively according to the user needs. PHP and HTML are website programming languages hence the charity management system being a website, they are the most appropriate languages to develop the system. 25 5.2.1 User modules. The following are the modules in the system. a. Login page. This is where all users are able to login into the system and perform their duties effectively. The user has to register first into the system for them to log in successfully. The login page contains the username and hashed passwords. Below is an interface of the login page. 26 b. Admin page. c. NGO page 27 d. Make Request e. Donor page 28 f. Make donation 5.3 System testing. This section describes the functionality testing, usability testing and unit testing of the system. 5.3.1 Functionality testing. The online charity managements system satisfied all the functional requirements that could satisfy the needs of the users. PHP MyAdmin database was used to keep track of all NGOs requests and all donors’ requests together with their details as they register in the database. The requirements that were satisfied were; viewing of requests, viewing donations made, updating and deleting various users, adding users, registering and logging in users, updating and deleting requests and storing all records in the database for integrity purposes. 5.3.2 Usability testing The system can be accessed by a wide range of users because it is an online system which can be accessed anywhere through internet reachable devices such as smart phones, laptops, tablets etc. The system also has a common navigation bar of which access can be granted to various pages. 29 The system also has an email notification system which allows all users to reset their password if they have forgotten during log in. 5.3.3 Unit testing All the modules were tested and functioned as per the requirements of all users. All units and modules were able to interact with each other. 30 Chapter 6: Conclusions, Recommendations and Future Works 6.1 Introduction This chapter aims to focus on the objectives that were mentioned in chapter 1 and provide conclusions based on the objectives that were discussed. It will also covers on what the system was able to achieve and not able to achieve hence make recommendations on future works that can be achieved by similar systems that aim to solve the same problem as the online charity management system. This will help future developers in developing a similar system. The system modules developed will also be discussed and what they are able to do so far in the project completion. Conclusion will state what the system was able to accomplish upon completion of the project. 6.2 Discussion This section entails the analysis of the online charity management system and how it was scrutinized. The developed system consists of three actors; the Admin, Donor and Non- governmental organization (NGO). The admin acts as the main use system hence he is in charge of all operations and monitors all activities that are performed by various both the donor and the NGO. The modules of the system are; the Admin module, Donor module and the NGO module. In the admin module, the admin is able to register and login using the email and hashed password. The admin is able to add another user as admin to help in managing all operations and records in the system. After login, the admin views details concerning donors and NGOs of which he has the authority to delete them. The admin also views reports concerning all donations that have been made by donors and all donation requests that have been made by various NGOs. These records are at the same time stored in the database to enhance integrity and confidentiality. Only the admin is able to access the database and make sure they are secure and efficient. On the other hand is the NGO module who can register in the system by providing all details including the registration number so as to be approved by the Admin if it is a legal organization registered by the government. The main function of the NGO after login is to make donation requests which are immediately sent to the Donor module. The NGO has the authority to update and delete requests. Finally in the Donor module a donor is able to register his details in the system and login. After login the donor is taken to the donor page and immediately sees all donation requests. Any requests can be clicked upon to donate any amount as per the donors wish. The 31 donor is able to view the donation history that has been made hence provides a report to how much money has been donated to various organizations. After completion of the project it is efficient to say the systems main purposes are to request for donations from donors since donors can be found easily using the system and to donate various amount to the NGOs. Also all users can perform their functions independently. A lot of cost and time is saved while using the system hence donations can be made faster and efficiently and less time is consumed when getting donors. 6.3 Conclusions For the purpose of charity management, different requirements were full filled. The NGO must provide its registration number given by the government to confirm it is a legal and registered organization. This enhances authenticity of the organization and also to the donors to make donations to registered organizations only. This also guarantees the trust of the donor in making donations to registered organizations. Another requirement that was full filled is the ease in which non-governmental organizations are able to get donors and respond quickly to donation requests that are made by them to various donors. The Admin is able to view all operations that have been done and later generate reports from all donations and requests after a certain period of time to also enhance on authenticity and not leaving any record out. 6.4 Recommendations For the system to be fully functional according to the user needs, there must be interaction between all the modules that is, the admin module, donor module and NGO module. A database has to be included for the purpose of storing data for security purposes and to improve the confidence among many donors knowing their donations are safe and have been received. The system can only perform its functions efficiently and effectively if users get access to devices that are only internet enabled at all times while using the system. There has to be strong, stable and reliable internet connection to avoid any loss of data while making transactions. 6.5 Future Work The system can be improved in a way to make it possible for the NGOs and Donors to upload their documents for the admin to view together with their photos and also a photocopy of the Donors Identification cards and the NGOs license given by the government. All uploads can be approved and clarified by the NGOs. It can also be improved in a way that limits the amount of users in the 32 system. This reduces a lot of congestion in collected data and allows other users to be able to use the system hence making is popular in the outside world and to reduce cost in which most organizations use to get donors. A notification system can also be installed in the system to alerts NGOs of donations received and to alert Donors on requests made, this reduces the amount of time spent to wait for donations. 33 References Chung, L. (2012). Non-Functional Requirements in software engineering. Retrieved from books.google.co.ke: https://books.google.co.ke/books?id=MNrcBwAAQBAJ&printsec=frontcover&source=g bs_ge_summary_r&cad=0#v=onepage&q&f=false Harmon, R. (2003, March 13). System and method of funding a charity. Retrieved from patents.google.com: https://patents.google.com/patent/US20040181468A1/en Higgigs, L. (2006, July 12). Non profit and Voluntary Market sector. Retrieved from onlinelibrary.wiley.com: https://onlinelibrary.wiley.com/doi/abs/10.1002/nvsm.226 Horn, J. (2002, february 13). Automated accounting fundraising system. Retrieved from patents.google.com: https://patents.google.com/patent/US20020116214A1/en Johnson, A. (2007, September 1). Fund-Raising effectiveness. Retrieved from journals.sagepub.com: https://journals.sagepub.com/doi/abs/10.1177/0275074006294390 Kenya Charity Sweepstake. (2020). Retrieved from kenyacharity.com: http://kenyacharity.com/site/index/play/ LANWORKS. (2016, August). Retrieved from Lanworks.com: https://lanworks.com.sg/it- solutions/charity-software/ LANWORKS. (2016, August 15). Retrieved from lanworks.com: https://lanworks.com.sg/ Lawrence, C. (2012). Non-Functional Requirementsin Software Engineering. Retrieved from books.google.co.ke: https://books.google.co.ke/books?id=MNrcBwAAQBAJ&dq=Functional+and+nonfuncti onal+requirements+in+software+engineering&source=gbs_navlinks_s Rose. (2005). Strategic information system planning Methodology. Retrieved from wikipedia.org: https://en.wikipedia.org/wiki/Methodology#cite_note-1 Satzinger, J. W. (2008). Google Books. Retrieved from System Analysis and Design in a Changing World: https://books.google.co.ke/ Townley, S. (2003, March 12). System and method of funding a charity. Retrieved from patents.google.com: https://patents.google.com/patent/US20040181468A1/en Waters. (2007). Retrieved from googlescholar.com. 34 Appendix A : Time Schedule 35 STRATHMORE UNIVERSITY FACULTY OF INFORMATION TECHNOLOGY IS PROJECT 2 DOCUMENTATION ASSESSMENT FORM Student’s Name: ……………...……… Student’s Number: … ……………………… Project Title: … ……………………………………………………………………………... ITEM Weight Score Notes Title page: Informative, concise and appropriate 1 pt Table of Contents Present with page numbers corresponding to report 1 pt Introduction Background Problem Statement (Background, Clear*2, Gap Identified) Objectives (SMART and Linked to Problem Statement) (8 pts) 2 2 4 Literature Review/Related Work Are relevant literature/work consulted? Is the literature cited properly? Is the literature adequate? (6 pts) 2 2 2 Approach/ Methodology Is the choice of methodology introduced and supported? Is there a clear, logical and well-planned approach to the project work Is there a clear explanation of the tools and techniques used (6 pts) 2 2 2 System Analysis and Design Interface Designs Process models(use case) Class models Final Database Schema (12 pts) 3 3 3 3 Implementation and Testing Is there sufficient evidence of system Testing User guide (10 pts) 4 6 Conclusions and Recommendations Meaningful recommendations and suggestions for further work? (5 pts) 5 Report Presentation Is there an abstract that concisely describes the project? Are references provided and formatted correctly? Is there a clear and proper use of language? Effective report structure (divided into chapters and sections) and layout (11 pts) 2 3 3 3 Total Mark 60 Comments: 36 Signed Date