Sie sind auf Seite 1von 33

1

CST 499 Online: Computer Science


Capstone Summer, 2020

KDKASH WEB APPLICATION

PREPARED BY:
Victor Ramirez
Aboubacar Diawara
Cristian Palomo-Ramirez

PREPARED FOR:
Eric Tao
Ph.D.
831-582-4222
etao@csumb.edu

Brian Robertson
MS
brobertson@csumb.edu

Cassandra Eccles
MS
ceccles@csumb.edu

Date: June 2020


Version: 1.0
2

Executive Summary

Financial inclusion continues to increase globally. The ubiquity of internet connected

mobile phones has led to the rapid gains in access to banking. According to The World Bank,

globally 69 percent of adults – 3.8 billion people – now have an account at a bank or mobile

money provider; this is a crucial step in escaping poverty (Cornish). With our product, we can

help increase the amount of people that have access to banking products.

As the world moves forward into a cashless society, a web banking application is a must

channel for small businesses. This is another avenue for financial institutions to maximize their

portfolio as well as help underserved users. This is a great opportunity to tap into this

underserved user base. With digital payments and electronic transactions, we help lift

communities into more prosperous financial levels.

To address the banking gap, we are creating an accessible and fair web banking

application KDkash. Our web application can be accessed via the internet on mobile devices.

Our web application will leverage a microservice architecture. While leveraging an open

payment REST API we can build a valuable product. This would be a great opportunity for both

financial institutions and society.


3

Table of Contents

Contents
Executive Summary ...................................................................................................................................... 2
Part 1 of Final Report .................................................................................................................................... 4
Introduction/Background ......................................................................................................................... 4
Project Name and Description .................................................................................................................. 4
Problem and /or issue in technology ........................................................................................................ 4
Solution to the problem and/or issue in technology ................................................................................ 5
Evidence that the proposed project is needed ......................................................................................... 5
Project Goals and Objectives .................................................................................................................... 6
Stakeholders and Community ................................................................................................................... 7
Feasibility - Environmental Scan/Literature Review ................................................................................. 8
Part 2 of Final Report .................................................................................................................................. 10
Functional Decomposition of the Project ............................................................................................... 10
Selection of Design Criterion .................................................................................................................. 14
Final Deliverables .................................................................................................................................... 15
Approach/Methodology ......................................................................................................................... 15
Legal Considerations ............................................................................................................................... 16
Ethical Considerations............................................................................................................................. 17
Part 3 of Final Report .................................................................................................................................. 18
Timeline/Budget ..................................................................................................................................... 18
Usability Testing/Evaluation ................................................................................................................... 19
Final Implementation .............................................................................................................................. 20
Conclusion ............................................................................................................................................... 25
References ................................................................................................................................................... 26
Appendix A ................................................................................................................................................. 27
Usability Testing/Evaluation ................................................................................................................... 27
Milestone ................................................................................................................................................ 29
Team members and tasks ....................................................................................................................... 32
4

Part 1 of Final Report

Introduction/Background

According to a World Bank report on the use of financial services, a vast majority of

people living in developing countries are still unbanked. However, an overwhelming number of

them own a mobile phone with internet access (Cornish). The use of smartphones in developing

countries has given rise to a multitude of services, one of which is the mobile payment and

remittance service. The advent and growth of the telecom technology in these countries, and

particularly the convenience associated with mobile technologies, presents an opportunity to

provide solutions for many deficiencies, such as the lack of adequate transportation and limited

access to services. We want to take advantage of the widespread internet service to provide a

payment solution to unbanked communities.

Project Name and Description

KDkash is a web application that implements a user to user payment solution that will

allow users of the platform to make payments to each other. It can later be made into a mobile

application to extend its functionalities to include other services such as paying bills. The

primary focus of this application is to simplify transactions conducted by individuals on a daily

basis, including long distance money transfer and payments.

Problem and /or issue in technology

The French telecom company Orange provides a similar service in Guinea, but its service

is not open to allow developers to create applications to facilitate user-to-user payment.


5

Additionally, Orange’s model is not adequate to solve inflation induced hurdles that the

population in these countries face. On the streets of most third world countries, people carry

large bags, backpacks and suitcases stuffed with cash money that are used to purchase goods and

food. This is not only inconvenient, but also an unsafe way to transact.

Furthermore, Orange’s mobile payment solution is offered through its sim cards, which

restricts users to a small geographical location where they can use Orange’ services. One cannot

be in the US, for instance, and pay a user who is located in Guinea via mobile money. The other

option is to use Western Union, a direct bank transfer, MoneyGram, or other small companies

with money transfer licenses that operate within the African communities. The problem with

MoneyGram and Western Union is that they charge high fees and calculate the payout amount at

a lower exchange rate.

Solution to the problem and/or issue in technology

KDkash aims at making trouble-free payment that would require no more than typing the

phone number or username of another platform user. As opposed to Orange’s monopolistic

behavior, the KDkash API can be available to developers, and therefore allow them to create a

web shop that uses KDkash as a payment method for example. In addition, KDkash will help the

smaller transfer companies solve their inefficiencies by providing an interface and unique

transaction ids. KDkash will also provide the agents a dedicated account which will be used to

provide cash-in, cash-out, in a similar way that an ATM machine is being used. This will enable

quicker, cheaper and more reliable money transfers over greater distances.

Evidence that the proposed project is needed

Most of the developing countries expatriates have switched to the smaller companies to

send money to their relatives. These smaller companies charge a much reasonable rate, and most
6

importantly, the recipient receives the amount in dollars, which is more beneficial. Moreover,

they don’t usually have an application to facilitate transfers for their customers and the transfer

process can be cumbersome. For instance, if someone wants to send money, the person will need

to deposit the money in a given account using either CashApp, Venmo, Zelle, or a bank deposit,

and then he or she will send a message with the name of the recipient to the money transfer

company. Once the deposit is confirmed, a code is generated and sent back to the sender. Finally,

the sender will provide this code to the recipient who will go to one the agent location and collect

the money. Collecting the money is not always simple, as human error is inevitable in this

process. Often, the transfer operators mix up the recipient name with wrong code or forget to

notify the agent network which leads to more delay to retrieve the money.

Project Goals and Objectives

Goals and Objectives

Mission Statement

KDkash is a web based fintech that provides baking and payment services to the unbanked Guinea

area. KDkash would like to be in the top 100 visited and used web-based payment platform in

Guinea within three years. Our goal is to build an intuitive website catered to the local user base,

be known as the most reliable and cost-effective web-based platform.

Goal Goal Goal

Increase brand presence and Localize the platform Build on opensource

awareness
7

Objectives Objectives Objectives

Create an effective targeted Create the website in English Leverage cost effective

SEO campaign. and local languages. banking platform.

Begin an efficient email Target local culture and Create a fair and reasonable

newsletter. customs. cost model.

Stakeholders and Community

Banks and local credit unions have long been the only players on the financial services

market in Africa, but over the last couple of years their dominance has been challenged by the

emergence of alternative financial services providers. The main challengers are the mobile

network operators (MNOs) who have seized the opportunity to create convenient, low-value,

inexpensive payment options in the form of mobile money to cater to the poor community who

do not have access to a traditional bank. Financial inclusion benefits not only the individual, but

the financial services providers and the economies of developing countries as a whole.

Using this solution, money can be transferred almost anywhere, even when there are no

banks nearby. This increases accessibility in rural areas. It enables cashless payments, which

reduces dependency on cash and allows tracking of transaction records. This increases financial

security and reduces inherent risks of cash handling such as loss, theft, or fraud. Mobile money

has lower transaction costs with improved security compared to credit card methods. Customers

need not require middlemen for money transfers anymore. Hence, it increases transparency. It

avoids long travel to send and receive money, or to pay bills by standing in long queues. This
8

provides great comfort to the customers. Purchasing of online goods and services have become

easier and provides more options based on pricing and feature selection. Mobile money systems

provide services to the people who are geographically inaccessible and/or have very low income.

Mobile money platforms are accessed through most basic mobile phones with low transaction

costs. They are distributed by vast networks of agents which provide person-to-person contact

and training to those who are unfamiliar with the mobile money technology.

Feasibility - Environmental Scan/Literature Review

Many FinTech’s in Africa have launched mobile-first solutions that are building

momentum (Chironga). As a continent receiving and making payments is very challenging.

Africa has one of the highest remittance fees combined with the multitude of different country

currencies; these transactions are not streamlined, fast, or economical. A major pain point is the

fact that you must convert the local currency to U.S. dollars first. Then you must convert to the

local currency that you are transferring to make the deposit. This high overhead of transactions

adds to the various fees charged by the remittance companies. The remittance companies are the

only ones who benefit from such disjointed transactions as the charge and accumulate transaction

fees. This has left an opportunity window for agile FinTechs to fill the void.

One FinTech example in Nigeria is the company Paga’s mobile payments offer a digital

payment solution. The completely digitized application allows customers to send money via their

phones and purchase items digitally on merchant websites. Paga account holders can use an

internet-enabled mobile device to process the transactions. The Paga account can be funded by

depositing money with an agent, at a bank, or by using a debit card online. After funds have been

deposited and transferred, the sender and recipient both receive an SMS confirmation, which

serves as a receipt of the transaction. The SMS received by the sender confirms the amount of
9

funds debited from the account and a withdrawal code required to access the funds which she or

he would relay to the recipient. The recipient uses the withdrawal code at an outlet or a partner

bank to withdraw the money sent.

Another prime example is VoguePay. As a multiple winner of the African Achievers

Award VoguePay is disrupting the landscape. (Editor, 2019). VoguePay has started to fill the

void as a cost efficient, easy to use and streamlined transaction process. The cross country and

currency processing achieved by VoguePay confirms the appetite from users and business, The

business and consumer markets want an economical and easy to use service.

KDkash cannot only provide the sector a valuable option but as the landscape of the

financial world changes new enchantments can be easily added. Another opportunity would be

cybersecurity. As the financial sector moves away from brick and motor options a fully

interconnected online experience requires rigorous security. As KDkash is a native web

application adding and hardening the security would be built into the applications architecture.

This would be yet another great selling point.

KDkash can thrive while sharing longer term goals that are like Paga’s. Africa’s

percentage of unbanked still lingers around 60%, according to The Global findex database. This

leaves a massive window of opportunity in the fertile emerging African market. With such a

large market available there is plenty of room for multiple digital FinTech enterprises targeting

the unbanked. KDkash startup mentality and flexibility will allow for rapid change as we enter

the market. With our no/low cost to the customer we would be positioned to gain market shares.
10

Part 2 of Final Report

Functional Decomposition of the Project

The functional structure of this web application is based around the Cyclos banking

application server, allowing for API and REST endpoints calls that the KDkash web application

leverages in order to perform its various services. Each of the functionalities in KDkash

corresponds to a REST endpoint on the Cyclos application web service. The first entry point for

any new member of the platform is through the registration page where a new user provides a

name, username, password, and email information. Once, the user has registered, he or she can

navigate to the login page and authenticate using the newly created account.

Upon successful authentication, the user is redirected to the user profile and given an

option to either search for other members, pay other members or retrieve his or her account

balance summary. To perform a search for other members, the user must supply a member
11

username. If a member exists, the search will return the member information, but if the member

does not exists an appropriate error message is displayed.


12

To pay or transfers funds to another member, the user needs to enter the payee’s

username and the dollar amount to be paid. The system first checks if the user has supplied the

required information, then it validates the provided username and finally confirms if the user has

enough funds to perform the transaction. If any of these verifications fails, the transaction is

cancelled and an appropriate message is displayed, but if all checks pass, then the transaction

completes and a message containing the transaction details is displayed.


13

KDkash also provides an administrator interface. Much like the user login, after a

successful authentication, the administrator is redirected to admin profile with a simple

dashboard. An administrator has the capabilities to generate a list of all members or a subset of

members using keywords. The admin is also able to generate a member account history and

balances and the admin can add funds to a specific member account. Basically, the admin also

has an account that is credited from Cyclos interface itself.


14

We utilized AJAX calls on the admin page as well. All of the aforementioned

functionalities of our web application are tied together with a simple, user-friendly UI using EJS

and CSS. It is important that the KDkash UI is easy to navigate, functions without errors, and is

aesthetically pleasing.

Selection of Design Criterion

The selection of the design is based upon the needs of the stakeholders that this web

application is aimed at, which are smaller companies, as well as relatives of the expatriates of

developing countries. These groups are in need of a web based money transfer interface in order

to perform easy and secure payments. Many of the services that are already available to facilitate

these transactions are either limited by geographical location, charge high fees, or are simply

inefficient. Because of this, the aim of our KDkash application is to provide not only a platform

for users to perform safe payments to each other, but one that can span across regions of the

world by simply searching for a username. It is also important for our application to be made
15

available through APIs, so that it can be used by small companies in the developing areas of the

world who do not have access to this technology due to monopolization of these services by

companies such as Orange. The criteria of how the application is being designed was influenced

by these needs of our stakeholders

Final Deliverables

The final deliverables of this project consist of the various milestones in the sequence of

the web development process, including a project brief, skeleton of the application as well as

mockups demonstrating how it looks, and the final fully functional, user-friendly web application

package consisting of libraries and the source code. The application has the following features:

registration, user login, and user profile with options to search, pay and report. As for the

administrator, there is an administrator profile with three different reporting tools which can be

used to list all members of the platform, their account balance, and their account balance history.

Approach/Methodology

For our group’s project, the approach that we are using is the Agile project management

method for development. This means our development is broken down into weekly iterations, or

sprints. The members of the team are assigned tasks to complete during each sprint. This

methodology allows the team to track who will be working on what and also allows weekly

progress to be measured. The other benefit of this method is that it significantly reduces risk of

failure, as potential risks can be identified in the early stages and action can quickly be taken in

order to address any issues that come up. This development method has been effective for many

companies and because of this we believe it is the best approach. Our project is a prototype, so

we are creating an application that will later be refined based on the needs of the client. Because
16

of this, the application will have a limited number of the most essential features that the team is

capable of delivering within the allotted time frame.

Legal Considerations

Even though KDkash is a web application, it must take preventive measures against the

risk of money laundering or the financing of terrorism. Therefore, KDkash application must

adhere to the anti-money-laundering or AML regulations. According to GIABA, an inter-

governmental action group against money laundering in West Africa, financial institutions must

follow a set of laws, regulations, and procedures intended to prevent criminals from masking

illegally obtained funds as legitimate income (GIABA).

Since KDkash platform will be used by small businesses as a platform to handle cash

transfers, we must ensure that we are not aiding criminals in money laundering activities.

Especially when operating in countries that are prone to the development of serious criminal

activities in general, and the risk and threats of money laundering or financing of terrorism in

particular. KDkash will need to ensure that platform users are properly identified before they can

perform any transaction. In addition, limiting the number of daily transactions and the amount

each user of the platform can send, will discourage any individual who wants to abuse the

platform.

Finally, the agent network will also require proper training to detect and prevent money

laundering and terrorist financing when handling cash in and cash out for the platform users.

Furthermore, KDkash will need to comply with the privacy rules and data security guidelines

issued under GLBA (Gramm-Leach-Bliley Act) apply to financial institutions, which include

depository institutions as well as nonbanks engaged in financial activities. By law, KDkash is

required to provide consumers with certain notices regarding the privacy of nonpublic personal
17

information and allow them to opt out or in of certain types of information sharing. For example,

the users should be able to hide their profile information such as email or phone ensuring that our

solutions satisfy requirements to safeguard customer information.

Ethical Considerations

The major ethical issues our money transfer application faces are self-interest, cyber

security, and data privacy. Historically, banks and financial institutions have only been interested

in short-term returns and have paid no attention to whether their products were suitable for

customers, as leadership loses sight of the goals and only chases future growth and bonuses at

the expense of their clients. The top goal of our application is to provide a benefit to our end

users. We must make sure that our application does not fall into the same unethical cycle of big

financial corporations.

Furthermore, our application lives in a digital environment, which offers great

opportunities, but also many challenges. Cyber security is one of the most important challenges.

With an exposed presence on the public internet, any financial organization is a target. With

valuable private information cyber criminals can always attempt to breach our security fences.

Implementing the standard and best practices in cyber security will fortify our web application

against any attacks. We will accumulate an impressive amount of data, an important and ethical

issue we will encounter is the safeguard of all our client’s personal data. Customer private data

must be treated with great care and responsibility.

In a total digital environment, an existential threat are bad actors. There are nefarious

organizations on a constant search for values data for personal profit. We must take these

challenges and make them our top priorities. Most of our users will not have much understanding

of how to securely browse the internet, since KDkash is a web application which is only
18

accessible to connected individuals. We are responsible for making sure that our users are aware

of the danger of disclosing account information, for instance. A good majority of our users will

not know how to read, so we will require the agent network to educate our users on how to

secure their accounts and mobile devices. On our end, we will make tools available to the user to

conceal their identity and how to identify other users on the platform.

Part 3 of Final Report

Timeline/Budget

Approximately, seven weeks into the development of our project, our group did its best to follow

the timeline we had planned before the start of the project. For the most part, we did a great job

to stay within the timeline that we had set forth. Although, we were ahead of schedule, our

original idea was to make a payment platform that also featured some extra services like an

online marketplace to buy things. However, early in the project planning, we realized these goals

might be too ambitious and ultimately decided to keep the focus to the core features that our

service sought to provide.

Thus, we decided it would be best that our time and efforts were focused on the payment

functionalities, as well as account and profile services. We wanted to make sure that our few core

features would be well implemented instead of delivering a product with a greater number of

features. We decided to instead focus on the payment functionalities alone because of time

sensitivity. After figuring out the requirements of our final product, we broke down the process

into a set of four phases, as modeled in the chart below. We then, broke these phases down week

by week with specific parts of work to be done during each sprint.


19

This structure is what helped us stay on track with our time and budget. It also gave us a

measuring stick week by week to see how our plan was coming along, and if our plan needed to

be modified in any way to stay on track. Fortunately, our planned time allocations for each of the

sprints of development were accurate with the actual time it took to implement. Because of this,

we did not ever run into a situation where we strayed far from the schedule. Although, we ran

into minor issues or bugs throughout the development process, we were fortunate that none were

major enough to set us back or require a change of plans. By the end of the seven weeks of

development, we were able to meet every milestone in less time than planned.

$ or #of hours

Planned hours to date 78

Actual hours to date 102

Approved total project hours 200

Estimated total hours at completion 120

Milestones

See appendix A for more information of the milestone.

Usability Testing/Evaluation

For the usability testing of our project we created a plan for each of the features that we

implemented in the application. This includes the member features like registration, login,

search, payment, and account profile. We wanted to ensure that our application was not only

error-free, but also simple to use and intuitive for our user base. We kept this in mind when

drafting our usability testing plan and the test cases for each component of the application. Each
20

test case for the components had a defined condition that is to be met to make sure it works

properly. For example, for the member login the requirements were that a member should have a

valid account and that a member should be on the login page. To go along with this, we also

created steps to take in order to test the condition.

Our testers were composed of target audience members, friends, and family. The main

tasks our testers performed a user registration, user login, admin login, user search, user payment

and ran admin reports. For more information, please see appendix A.

Final Implementation

KDkash web application implements the Cyclos user to user payment solution which

allow users of the platform to make payment to each other. KDkash also follows the Cyclos

Model-View-Controller concept.

In the KDkash web application, the model is the layer that connects to the data,

including the payMember(), getMember(), getMembers(), getAccountInfo(),

getTransactionById(), register(), login(), getmemberBalanceHistory(), addFund(),

getMembersBalances(). Essentially, these function are REST API calls to Cyclos various

endpoints. The model defines the entities, which are mapped to the database, and it defines the

services that respond to calls from the control layer. There is also a security layer for services,

which implement the service interface and is responsible for checking the permissions for each

method being invoked.

The view is composed of the JavaScript showing the pages and the pages themselves.

In the KDkash application all forms on the user and admin profile are all generated dynamically

when a button is clicked. For example, the following script loads the addFund form of the admin
21

profile.

/*
* Script to load the admin payment form
*/
$(document).ready(function(){
$("#addFund").click(function(){

//Reset current display on the profile


$(".SearchForm").empty();
$(".result").empty();

//Create and add the form the paymentform div on the user profile
var form =`
<h3>Payment To Member</h3></br>
<form>
Payment To:<input type="text" name="payee" id="payee">
Amount: <input type="text" name="amount" id="amount">
<input id="pay" onclick="addFundMember()" type="button" value="Pa
y">
</form>
<span style="color:red" id="errorMessage"></span>`
$(".SearchForm").append(form);
});
});

The view includes, the partials which are fragments of codes, the admin dashboard, admin login,
index, login, registration, user profile and the admin reports pages.
22

The controllers in the KDkash application are the node.js router classes, especially the

ones under the routers including the user and the admin routers. These routers define the way in

which the client requests are handled by the application endpoints. These routing methods

specify a callback function called when the application receives a request to the specified route

(endpoint) and HTTP method. In other words, the application “listens” for requests that match

the specified route(s) and method(s), and when it detects a match, it calls the specified callback

function.

During the design and implementation phases of KDkash, we had a lot issues with

conflicts because each members worked on a small part of each functions and UI. We also faced
23

some issue with displaying the Json response from the Cyclos REST API calls. But overall, the

project went on according to the project timeline with no major setback.

To roll out the application to the user, we registered a domain on Godaddy called

kdkash.com and we also deploy a node.js web server on an AWS Windows 2012 server. Using

Certify the Web a free certificate authority, we created a public certificate that we imported into

our webserver. Finally, we added a DNS record in our Godaddy domain configuration to point to

our webserver which make the web application accessible to user from the internet. To access the

application, the user needs to browse to the secure URL https://kdkash.com, then Godaddy

redirects seamlessly to the web server. In addition, we deployed a Cyclos server which is

required as it provides the API and the Rest endpoints that KDkash uses to perform it various

activities.

We implemented the following functionalities in the order listed. Each of these functions

are invoked in a similar fashion. The user clicks on a button on the user profile which in turn

triggers a call to our utils.js a set of JavaScript functions. The JavaScript function collect all

necessary data and sends it to either the admin or user route which finally calls Cyclos and

performs a GET or POST request. The return message is sent back to the view which display the

information to the user.

Functions

1. Implement system
login/registration
functionality.
2. Implement system search
functionality.
`
24

3. Implement system
payment/transfer
functionality.

4. Implement admin cash


in/out functionality.
5. Implement web UI/account
information.

Each route is protected with a session to ensure only authenticated users are able to

perform user activities. The session is implemented using express.js framework which we store

to a local MYSQL server instead of the browser to prevent unauthorized access to it. Once a user

is authenticated, we update the session information with the user Cyclos session token which is

required to be passed on every Cyclos calls.

KDkash various profile pages and forms use HTML programming language. Some pages

are static and others are built dynamically using AJAX. The login, registration and the profiles

are static, but all the different forms are created dynamically by AJAX. This allow us to provide

the user with a single interface and make the application less confusing.
25

Conclusion

According to a World Bank report on the use of financial services, a vast majority of

people living in developing countries are still unbanked. However, an overwhelming number of

them own a mobile phone with internet access (Cornish). The use of smartphones in developing

countries has given rise to a multitude of services, one of which is the mobile payment and

remittance service. The advent and growth of the telecom technology in these countries, and

particularly the convenience associated with mobile technologies, presents an opportunity to

provide solutions for many deficiencies, such as a lack of adequate transportation and limited

access to services. We want to take advantage of the widespread internet service to provide a

payment solution to unbank communities.

As the world moves forward into a cashless society, a web banking application is a must

for small businesses. This is another avenue for financial institutions to maximize their portfolios

as well as help underserved users. This is a great opportunity to tap into this underserved user

base. With digital payments and electronic transactions, we help lift communities into more

prosperous financial levels.


26

To address the banking gap, we are creating an accessible and fair web banking

application KDkash. Our web application can be accessed via the internet on mobile devices. It

will help leverage a microservice architecture. While leveraging an open payment REST API we

can build a valuable product. This would be a great opportunity for both financial institutions and

society.

KDkash will allow users to pay and transfer funds to each other. This will grant the

unbanked community’s financial freedom. This will also provide the small business community

an easy and royalty free interface. The application we designed was built on the Cyclos open

source API platform. We also created a client server architecture application. The web client

application would communicate with the Cyclos server via APIs.

As a team we closely collaborated on many phases of the project. We successfully

tracked, assigned, and completed project tasks. As a distributed team we leveraged many

standard team development tools. In terms of future development there are enhancements we

would like to add to the application. A marketplace to offer services and expanding to other

African countries are on the application roadmap.

References

Chironga, Mutsa. “Mobile Financial Services in Africa: Winning the Battle for the Customer.”

McKinsey & Company, www.mckinsey.com/industries/financial-services/our-insights/mobile-

financial-services-in-africa-winning-the-battle-for-the-customer.

GIABA. (2012). Anti-Money Laundering and Combating the Financing of Terrorism [PDF File].

Retrieved from https://www.giaba.org/media/f/501_ENG-REM%20Guinea.pdf


27

Cornish, L. (2018, April 20). Insights from the World Bank's 2017 Global Findex database.

Retrieved from https://www.devex.com/news/insights-from-the-world-bank-s-2017-global-

findex-database-92589

Ajmal, S. (2020, March 16). How Agile Scrum Training Transformed These 5 Companies.

Retrieved from https://www.quickstart.com/blog/how-agile-scrum-training-transformed-these-5-

companies/

Editor (2019, July 17) Voguepay wins 2019 African online payment platform

Retrieved from https://guardian.ng/technology/communications/voguepay-wins-2019-

african-online-payment-platform/

The World Bank Group, https://globalfindex.worldbank.org/

Appendix A

Usability Testing/Evaluation

PROJECT KDkash
VERSION Version 1.0
Operating System Microsoft Windows and macOS
Browser Microsoft Internet Explorer, Google Chrome, Mozilla Firefox

SCENARIO TEST CASE ID PRECONDITION TEST CASE NAME

Member Registration MR_001 1. Member should be Registration_Member


on the registration
page

Member Login ML_001 1. Member should Member_Login


28

have a valid
account
2. Member should be
on the login page

Member Search MS_001 1. Member should be Member_Search


in the member
profile
2. Member should
have a valid
account
3. Member should be
on the search form

Member Payment MP_001 1. Member should Member_Payment


have a valid
account
2. Member should
have a valid long
3. Member should be
on the payment
form

Profile Information PI_001 1. Member should Profile_information


have a valid login
2. Member should
have a valid
account

TEST CASE DOCUMENT

Description Test Steps Test Data

Payment to member 1. Enter Login Name and 1. Login name = Test


Amount as mentioned 2. Amount =20.00
in test data
2. Click on Submit
button
3. Confirm the payment

Login 1. Enter login as 1. Login name - Test


provided in the test 2. Password- 11111
data
29

2. Click Login button

Registration 1. Enter account 1. Username - TestReg


information as 2. Name display -
provided in the test TestReg
data 3. Email-
2. Click on Register TestReg@test.com
button 4. Password- 11111

Search 1. Enter valid login name 1. Logon name- TestSer


2. Click on Search
button

Milestone

Task Status Comments Completion Core


Deliverable,
Dependency

Phase 1: Brainstorming Session

Brainstorming Discussed use Week 1 Brainstorming


session and cases, limitation meeting and
planning and time calls
constraint, create
a repo, setup
environment

Compile design Design Week 1 Brainstorming


documents document meeting and
addressing calls
functionalities,
use case and
deliverable
30

MILESTONE: Phase 1 Completion Design Document Deliverable.

Phase 2: Building Test Environment

Build Test Acquire all Week 1 Cyclos license


Environment software
components for Windows server
building where to install
test/backup Cyclos and
environments. MYSQL.Cyclos
Cyclos, server is a
MYSQL, critical
Node.js, component to the
Express.js, entire project
Testing
Framework

MILESTONE: Phase 2, Completion of two (2) VMs comprising of Cyclos and MySQL

Phase 3: KDkash Web App Development

Registration Implement Week 2 Development


Functionality Registration environment,
mechanism phase 1 and
phase 2

Login Implement Login Week 2 Member account


31

Functionality system registration


process

Search Implement Week 3 Data to search,


Functionality Search functions member account

Payment/Transfer Implement Week 4 Registration and


functionality Payment and search functions
Transfer features

Admin Implement Week 3 Data to report


Functionality Admin reports on, member
account,
transaction
information

MILESTONE: Phase 3, KDkash Barebones Functionality Completion

Phase 4: Web UI / Account Information Completion

Web UI Implement Week 5 phase 1, 2 and 3


Member and
Admin UI

Profile Implement Week 3 phase 1, 2 and 3


Member and
Admin profile
32

MILESTONE: Phase 3, KDkash UI, Profile Completion

Phase 4: KDkash Web App Regression Test

Test Cases Implement test Week 6 phase 1, 2, 3 and


cases and 4
perform testing

MILESTONE: KDkash Web App Testing Completion

Team members and tasks


33