Chat Application2
Chat Application2
B.Sc.
In
Computer Science [Software Engineering]
By
To
The Department of Computer Science
Baze University, Abuja
DECEMBER, 2020
DECLARATION
This is to certify that this Thesis entitled Design and Implementation of a Real Time
Chat Application, which is submitted by Eric Obadjere Nyerhovwo in partial fulfilment
of the requirement for the award of degree for B.Sc. in Information Technology to the
Department of Computer Science, Baze University Abuja, Nigeria, comprises of only
my original work and due acknowledgment has been made in the text to all other
materials used.
APPROVED BY …..…………………
Head
Dept. of Computer Science
ii
CERTIFICATION
This is to certify that this Thesis entitled Design and Implementation of a Real Time
Chat Application, which is submitted by Eric Obadjere Nyerhovwo in partial fulfilment
of the requirement for the award of degree for B.Sc. in Information Technology to the
Department of Computer Science, Baze University Abuja, Nigeria is a record of the
candidate’s own work carried out by the candidate under my/our supervision. The
matter embodied in this thesis is original and has not been submitted for the award of
any o ther degree.
3
APPROVAL
This is to certify that the research work, Dental Management System and the
subsequent preparation by Eric Obadjere Nyerhovwo with BU/18A/IT/3034 has been
approved by the Department of Computer Science, Faculty of Computing and Applied
Science, Baze University, Abuja, Nigeria.
By
4
DEDICATION
5
ABSTRACT
CHATTY was created with the mind set to not just be another chat application but to
add a level of clean UI (user interface) or a solid app structure function over a secure
broadcast network. CHATTY is an effort for a more modern approach to internet
security on a communication medium. The design of the UI (user interface) was greatly
influenced by the Already exiting Chat Applications so as to give it users a fresh but
familiar UI (user interface) design. The Implementation of CHATTY was based on a
new but effective set up of flutter, node, hive, and MongoDB where flutter was for the
app structure and UI (user interface) tool, node for the server setup, hive for flutter local
database and MongoDB for the central network database. An end to end connection
stream was used for data transfer from client to server and back to client. In conclusion
the application worked well without a lag and having a 95% acceptance when tested with
a potential user.
6
TABLE OF CONTENTS
ABSTRACT....................................................................................................................VI
LIST OF TABLE………………………….....………………………………………….IX
LIST OF FIGURES……….... ……………………………………………………………X
CHAPTER 1: INTRODUCTION .................................................................................... 1
BACKGROUND AND MOTIVATION ......................................................................... 1
STATEMENT OF PROBLEMS ..................................................................................... 2
AIMS AND OBJECTIVE. .............................................................................................. 2
MESSAGING ................................................................................................................ 2
FILE TRANSFER .......................................................................................................... 3
CHAPTER 2: LITERATURE REVIEW ....................................................................... 5
2.1 INTRODUCTION.................................................................................................... 5
2.2 HISTORICAL OVERVIEW....................................................................................... 5
2.2.1 INSTANT MESSAGING: CHILD OF THE 90’S ................................................. 5
2.2.3. THE SLOW GROWTH OF ENTERPRISE CHAT APPS .................................... 8
2.2.3.1 ENTERPRISE CHAT: THE NEXT GENERATION .......................................... 8
2.2.4 REGIONAL AND DEMOGRAPHIC STRONGHOLDS...................................... 9
2.2.5 INDUSTRY CHALLENGES .............................................................................. 10
2.2.6 INDUSTRY OPPORTUNITIES ......................................................................... 10
2.3 RELATED WORK ...................................................................................................... 11
2.3.1 WHAT THE FUTURE HOLDS .......................................................................... 11
2.3.1.1 THE GROWING IMPORTANCE OF SECURITY, CIRCUMVENTION, AND
DATA RESTRICTIONS ............................................................................................ 11
2.3.1.2 THE EMERGENCE OF REGIONALIZED AND LOCAL MESSAGING -APP
ECOSYSTEMS ......................................................................................................... 11
2.3.1.3 MESSAGING WILL BECOME LIKE ELECTRICITY .................................. 11
2.4 SUMMARY......................................................................................................... 12
CHAPTER 3: REQUIREMENTS, ANALYSIS, AND DESIGN .................................. 13
3.1 OVERVIEW ........................................................................................................ 13
REQUIREMENTS SPECIFICATIONS ................................................................................... 13
3.3 Use case Diagram ......................................................................................... 15
3.3.1 Use case Table .............................................................................................. 15
3.3.2 Authentication Service................................................................................... 15
3.3.3 Contact Form ................................................................................................ 16
3.3.4 Chat Form .................................................................................................... 16
3.8 SYSTEM DESIGN ................................................................................................ 17
3.8.1 Application Architecture .............................................................................. 17
3.8.2 Project Entity Relationship Diagram (ERD) .................................................. 17
3.8.3 Monitor ......................................................................................................... 18
3.8.4 User Interface Design ................................................................................... 18
CHAPTER 4: IMPLEMENTATION AND TESTING ................................................ 21
4.1 OVERVIEW ........................................................................................................ 21
vii
4.2 PROJECT SCOPE AND FEATURES ......................................................................... 21
4.3 METHODOLOGY ................................................................................................ 21
4.3.1 PROJECT WORKABILITY .................................................................................... 21
4.3.2 PROJECT DELIVERABLES................................................................................... 21
4.3.3 HARDWARE INTERFACE .................................................................................... 22
4.3.4 CONSTRAINTS & LIMITATIONS .......................................................................... 22
4.3.5 PROJECT RISK MANAGEMENT ............................................................................. 22
4.4 TOOLS AND TECHNOLOGY ................................................................................. 22
4.5 TESTING............................................................................................................ 23
4.6 USE GUIDE........................................................................................................ 24
4.6.1 PROCESSES........................................................................................................ 24
4.6.2 REGISTRATION FOR NEW MEMBERS ................................................................... 25
4.6.1 LOGIN FEATURES ............................................................................................. 26
4.6.4 ADDING FRIENDS .............................................................................................. 27
4.6.5 CHAT FORM ...................................................................................................... 28
4.6.6 ACCOUNT SETTINGS .......................................................................................... 28
4.7 SUMMARY......................................................................................................... 29
CHAPTER 5: DISCUSSION, CONCLUSION, AND RECOMMENDATIONS ........ 30
5.1 OVERVIEW ........................................................................................................ 30
5.2 OBJECTIVE ASSESSMENT ................................................................................... 30
5.3 LIMITATIONS AND CHALLENGES ........................................................................ 31
5.4 FUTURE ENHANCEMENTS .................................................................................. 31
5.5 RECOMMENDATIONS ......................................................................................... 31
5.6 SUMMARY......................................................................................................... 32
REFERENCES ............................................................................................................... 33
APPENDICES ................................................................................................................ 36
DETAILED PROJECT DOCUMENTATION ............................................................ 36
8
LIST OF TABLES
9
LIST OF FIGURES
10
LIST OF ABBREVIATIONS
IT Information Technology
11
CHAPTER 1: INTRODUCTION
CHATY is a social-networking tool that leverages on technology advancement
thereby allowing its users communicate and share media. It offers a wonderful one stop
shop experience for keeping in touch with people you know. It can be used for messaging,
placing voice messages, making voice and video calls, share updates and photos, share
locations, enhance local socializing in pidgin English, play games and make monetary
financial transactions.
CHATY has the potential to become a widely used socializing app in Africa with specific
focus on the West African sub region with a grass root pilot scheme take off in Nigeria due
to the continent rich multi ethnic culture and a wide range of her special way of
communication called pidgin English in Nigeria. The numerical strength of the
Nigerian population which is estimated to be above 200million people presently affords a
viable economic space as a rallying point for this application.
With the gradual acceptance of adult literacy gaining roots in Africa and the various
government policies to drive education to the grass roots, CHATY will be a welcome
development and very user friendly to the average Nigerian citizen among which includes
the local peasant farmers, market women, artisans, the low-income earners, less privilege
and the lower social stratification individuals who are numerous in population. The
introduction of the Pidgin English feature is a primary drive and force of attraction as it
helps break the rank of the academic division between those who claim the Queens
English is the best, thereby creating fun and increased cross fertilization of ideas, with a
resultant economic boost.
While emphasis must be made to fore runners of similar inventions, which cuts across
technology divides, it must be well understood that the basic fundamental of the
CHATY
1
which is embedded in messaging service, evolve as an app where you can comfortably
make financial transactions as well.
STATEMENT OF PROBLEMS
Starting any application or service has many problems but one of the main problems is
which tool, language, stack or framework to build one’s service or application on. As
building a real time application has to do with slow latency message delivery which in
turn means latency, data transfer size over the network must be as low as possible. Other
problems include sms messaging, cross platform permissions for android and IOS.
MESSAGING
One of the primary use of CHATTY is messaging. Just like other social apps, you have a
list of conversations that you’re engaged in. This feature is pivotal as you can add people
in a variety of ways aside the conventional way of details collection. When fully
operational, you will be amazed how individuals will have to scan their phones during
details collection.
This is made possible as each CHATTY user will have a unique barcode known as a QR
code. One person can scan the other user’s QR code to add them to CHATTY. Users of
CHATTY can also use a phone number to add a person to their contact list and even
search for people nearby.
CHATTY enormous social power will be let loosed as it will translate to become one of
the main ways people will have to communicate in Nigeria and sub-Sahara Africa. Even
when doing business, people will prefer CHATTY to email. With inbuilt plug ins that
allows individuals to load pictures and videos and their contacts can make comments
about them,
2
then the barrier of environmental distance will be broken and knowledge will increase
as people will be able to explore the beautiful landscape of Africa without really travelling
to those regions physically.
FILE TRANSFER
With the sophistication design of the CHATTY app, individuals will be able to share files
without size constrains ranging from images, videos, to large documents files like zip,
dmg, and so on. As long as you have a smart phone with android or iOS running on it, it
can be linked to your CHATTY app to achieve this.
The uniqueness of this app is that is works seamlessly with your use case for it and saves
you the stress of uploading and downloading the file as the mobile device become a host
you can download files from with the simple aid of your smart phone at download
cost, thereby helping the world become a closer with ease.
With the introduction of the Pidgin English feature, CHATTY is intended to ensure we all
socialize within our limits and create more friends irrespective of our ranks and file. Just
like the BBC pidgin that is bringing the news room closer to the lower strata, CHATTY
hopes to rekindle the spirit of humanity in her natural state devoid of privileges some
individuals have over others. In conceptualizing this app, careful thought and study has
been given to a methodology of really defining the peaceful co-existence of human and,
CHATTY will really serve as a means of promoting and forestalling unity as it helps in
defining the place of equality of the human race devoid of sentiment, religion and
ethnicity.
3
DELIVERABLES
There are 5 major things I hope to achieve with this application, which include.
I. Speed in usage
II. Easy and friendly UI
III. Privacy Protection
IV. Promoting Unity
V. Economic boost
PRE-DEVELOPMENT ANALYSIS
Kindly introduce the table from the SOURCE.
App
Presentatio
n
and
Delivery
4
CHAPTER 2: LITERATURE REVIEW
2.1
Introduction
Messaging apps now have more global users than traditional social networks —which mean
they will play an increasingly important role in the distribution of digital information in the
future. In 2016, over 2.5 billion people used at least one messaging app. That’s one-third of
the world’s entire population, with users ranging from various age grades. Today, it’s common
place for offices to use a messaging app for internal communication in order to coordinate
meetings, share pitch decks, and plan happy hours. And with the latest bot technology, chat
apps are becoming a hub for employees to do work in their apps without leaving the chat
console. For many people, chat apps are a given part of their workday. But how did these chat
apps become so popular?
Chat apps (and their subsets, chat rooms) bring to remembrance images of the 1990s,
with its dial-up internet and classic sitcoms, however, commercial chat apps date back
to the
1980s. CompuServe released CB Simulator in 1980, and 1985 brought the launch of
Commodore’s Quantum Link (also known as Q-Link). An online service, it allowed
multi- user chat, email, file sharing, and games.
If Q-Link sounds familiar, that’s because it is: in 1991, the company changed its name
to America Online (AOL). But AOL wouldn’t launch its signature product, AOL Instant
Messenger (AIM), until 1997. In the meantime, the Vodafone GSM network enabled the
first SMS in 1992. And in 1996, ICQ launched as the first widely-adopted instant
messaging platform.
5
The late 1990s brought dramatic changes in the chat app market. Both Yahoo! And MSN
launched their own instant messengers (in 1998 and 1999, respectively), and AOL
bought out competitor ICQ’s parent company, Mirabilis, for a fee around $287 million
upfront, with an additional $120 million paid out later. That’s about $612.7
million today!
As AIM pioneered Chabot, like SmarterChild, it also increased its market share. Its rivalry
with MSN Messenger began almost as soon as the competitor launched in 1999. By 2006,
AIM controlled 52% of the IM market. Its dominance, however, was short lived.
Struggling to monetize and facing increasing competition from new apps like Skype and
Google Talk, AIM fell out of favour, eventually eliminating its entire development team in
2012.
6
2.2.2. COMMERCIAL CHAT APPS IN THE 10s
With the inception of smart phones, chat apps continued to thrive; in 2013, chat apps
finally surpassed SMS in message volume. By 2015, WhatsApp alone hosted 30 billion
messages per day; SMS logged only 20 billion. And in the summer of 2016, Facebook
Messenger hit one billion users.
7
2.2.3. THE SLOW GROWTH OF ENTERPRISE CHAT APPS
Despite developing around the same time, the history of enterprise chat apps is
markedly different than the story of their consumer-facing counterparts. The very first
enterprise chat apps do not enjoy the same place in our collective memory as AIM and
ICQ.
Early contender Yammer launched in 2008; Microsoft acquired the platform in 2012.
Clearspace began in 2006, rebranding several times until its rebirth as Jive six years later.
Other enterprise chat programs, usually integrated with other social features like blogs and
wikis, blipped in and out of existence.
None of this initial crop of enterprise apps proved a runaway success, and many theories
exist as to why later programs have overshadowed them. One thing is certain: these
programs predated the rise of smart phones, and mobility certainly fomented the creation
of second- generation commercial apps like WhatsApp and Snapchat.
As the first decade of the new millennium closed, an enterprise chat app renaissance
slowly began. Though email had been widely used for the previous twenty years,
companies soon began looking for a better way to communicate quickly; email-based
workflows are slower and do not allow for many business functions that are now
critical to work, like screen- sharing or video calls. Some one-to-one chat applications
existed, like GChat and Outlook Messenger, but group messaging applications had yet to
take off.
Slack–with its channels, DMs, and private groups–is reminiscent of IRC, which might
help explain its popularity. A host of similar apps have since incorporated these features.
2015 saw the launch of Cisco Spark, which has since evolved into an entire ecosystem of
SDKs, APIs, and a developer site.
Microsoft designed MS Teams to compete directly with Slack; it launched in early 2017
as an integrated component of Office 365.
When devising one’s strategy for messaging apps, it's vital to select the right platform
mix for the targeted populace, based on TWO core criteria:
1. Regional Strongholds: Only a small group of apps like WhatsApp, Facebook Messenger,
and Viber can be said to be truly global—and even those platforms struggle in certain
countries. Meanwhile, messengers like WeChat, LINE, and KakaoTalk completely
dominate specific markets but have negligible traction in others.
9
2. Demographics: It's a common misconception that messaging apps are a uniformly
millennial phenomenon. Some apps like Snapchat and LINE skew both young and
female, but others like Tango (which boasts 100 million monthly, active users, by
estimate) predominantly appeal to those aged 25–54 and strongly over-index with
Hispanic and African-American users.
2. ANALYTICS: For organizations accustomed to robust, real-time data, the lack of good
analytics tools for messaging apps remains a major deterrent to adoption. The challenge
is twofold: Strong analytics dashboards take time to build, and many messengers are
privacy- centric by nature.
1. HIGHER ENGAGEMENT: Since many chat apps provide publishers with push
notifications or chatbot experiences (programmable robots that converse with users), they
can deliver significantly higher engagement rates.
10
2.3 Related Work
2.3.1 WHAT THE FUTURE HOLDS
Predictions are always prone to inevitable ridicule and failure, but there are some that
are worth making.
As government snooping, personal privacy, and security become issues for many people
globally, those living in countries where these are particular concerns will inc
reasingly look for platforms that enable them to both communicate securely and
receive accurate information, unfiltered by government censors.
This is the era to launch CHATTY as it focuses on specific target audience in Africa.
While messaging is currently a clearly defined function of specific apps, the future is
likely to be one wherein the capability is baked-in to nearly all digital technologies and
services. The point where a messaging app begins and ends will begin to blur. Already,
app classification is getting trickier, especially as social media platforms update their in
-app messaging capabilities, moving them closer to chat app experiences.
11
2.4 Summary
CHATTY is a social-networking tool that leverages on technology advancement thereby
allowing its users communicate and share media. It offers a wonderful one stop shop
experience for keeping in touch with people you know. It can be use for messaging, placing
voice messages, making voice and video calls, share updates and photos, share locations,
enhance local socializing in pidgin English, play games and make monetary financial
transactions.
CHATTY has the potential to become a widely used socializing app in Africa with
specific focus on the West African sub region with a grass root pilot scheme take off
in Nigeria due to the continent rich multi ethnic culture and a wide range of her special
way of communication called pidgin English in Nigeria. The numerical strength of the
Nigerian population which is estimated to be above 200million people presently
affords a viable economic space as a rallying point for this application.
With the gradual acceptance of adult literacy gaining roots in Africa and the
various government policies to drive education to the grass roots, CHATTY will be a
welcome development and very user friendly to the average Nigerian citizen among
which includes the local peasant farmers, market women, artisans, the low-income
earners, less privilege and the lower social stratification individuals who are numerous
in population. The introduction of the Pidgin English feature is a primary drive and
force of attraction as it helps break the rank of the academic division between those
who claim the Queens English is the best, thereby creating fun and increased cross
fertilization of ideas, with a resultant economic boost.
While emphasis must be made to fore runners of similar inventions, which cuts across
technology divides, it must be well understood that the basic fundamental of the
CHATTY which is embedded in messaging service, evolve as an app where you
can comfortably make financial transactions as well.
12
CHAPTER 3: REQUIREMENTS, ANALYSIS, AND DESIGN
3.1 Overview
Communication is a means for people to exchange messages. It has started since the
beginning of human creation. Distant communication began as early as 1800 century with
the introduction of televisions, telegraphs and then telephony. Interestingly enough,
telephone communication stands out as the fastest growing technology, from fixed lines to
mobile wireless, from voice call to data transfer. The emergence of computer network and
telecommunication technologies bears the same objective that is to allow people to
communicate. All this while, much efforts has been drawn towards consolidating the
device into one and therefore indiscriminate the service. Chatting is a method of using
technology to bring people and ideas together despite of the geographical barriers. The
technology has been available for years, but the acceptance was quite recent. This project is
an example of a real time chat app, it is made up of the user application which runs on the
user mobile and the server application, which runs on any PC on the network. To start
chatting the user should get connected to a server where he can do group and private
chatting.
13
0.03 Logout Yes Functionality for user to delete High User
session
0.04 Add friend Yes Functionality to be friend with Medium User
each other
0.05 Friend list Yes Functionality to see list of High User
friends
0.06 Remove Yes Functionality to remove friend Medium User
friend
0.07 Find friend Yes To search/find High User
0.08 Block friend Yes Functions to block friend Medium User
0.09 Best friend Yes To make close friend Low User
0.10 Profile Yes User profile Medium User
0.11 Send Yes To send message High User
message
0.12 Message Yes To show message time Medium User
status
0.13 Delete Yes To delete message Medium User
message
0.14 History Yes See past message High User
0.15 Feedback Yes User can send feedback Low User &
Admin
0.16 Privacy Yes User privacy High Admin
0.17 Robustness Yes Dealing with errors High Admin
0.18 Performanc Yes Application performance must High Admin
e be better
0.19 Usability Yes Easy for newbies High Admin
0.20 Reliability Yes Trusted by users High Admin
0.21 Supportabili Yes Being supportive High Admin
ty
0.22 portability Yes Application runs in different High admin
systems
14
3.3 Use case Diagram
3.3.1 Use case Table
Register user
Chat Authentication Login
application system logout
Registration
Login
User
Logout
15
3.3.3 Contact Form
Friend list
Find friend
Add friend
User
Remove friend
Block
Send message
Group chat
User
Best friend
16
3.8 System Design
17
3.8.3 Monitor
Check
history
User
Admin
Feedback
18
Figure 3.8: Register Screen
19
Figure 3.9: Steps to take to reach the chat screen
20
CHAPTER 4: IMPLEMENTATION AND TESTING
4.1 Overview
This document provides the requirement for the design and implementation of a chat
application. Both functional and non-functional requirements are being documented.
This project will create a chat application with a server and allow users to be able to chat
with themselves. Instant messaging solution will be proffered so that users will be able to
communicate seamlessly and ensuring that even a novice can use this chatting application,
thereby ensuring it is not too complex, so that it can cut across a wide range of audience
while specifically considering African population with the interaction using Pidgin
English.
4.3 Methodology
21
4.3.3 Hardware Interface
Android phone
256 MB minimum RAM required
Internet or LAN connections
Processor with speed of 500MHz
Identifying the necessary threat of the project either internal or external will help a
great deal in ensuring the success of the project. To guide again risk significantly much
brainstorming was carried out to factor in all facets of the project details.
Product Innovation
Brainstorming, Mind-Map, TRIZ/ARIZ, Innovative algorithms
Software Analysis
Brainstorming
Mind-Map
Design patterns
UML tools and technique
22
Database modelling tools
Mongodb Compass, Mongoose, Mongodb Driver
Programming Language
Typescript, JavaScript, Dart, Json, yaml, swift, java
4.5 Testing
Installation test, Functional test, Load test, Performance profiling, Data integrity test,
&
automated test.
1 User Profile
2 Chatting
3 Add Friend
23
4 Remove Friend
5 Find Friend
6 Registrar
7 Login
8 verification
9 biometric Login
10 Logout
4.6.1 Processes
Installing the chatty on an android mobile device is as simple as installing the apk file.
24
4.6.2 Registration for new Members
To register a new user, Chatty app require the using to provide their email and phone
number. It checks if the phone number or email already has a user in the database, if it
doesn’t the user is then taken to a screen where they fill in their details which include full
name, date of birth and a short description of themselves. The user is then asked to
confirm their email and phone number through the email message or SMS sent to them
which contains a verification code link to their account. Finally, the user goes through it
local
25
biometric lock and adds their profile picture if need be, then done. The user will now have
a full active account.
Chatty uses a two-factor login system which includes biometric authentication and email
or phone number verification. First the phone number is verified to belong to a user and
then a verification code is sent to both the users’ email and phone number if the phone
number
was found to belong to a user. Next the user is asking to continue with the login process
with the device local biometric authentication, which could be either face id or
fingerprint authentication.
26
4.6.4 Adding Friends
Adding friends through the chatty app can be done by clicking floating button at the
bottom right corner of the app which after giving the app permission brings a list of all
your contact list saved on your mobile phone.
27
4.6.5 Chat Form
The Chat Form hold and displays the current conversation going on between two users of
the app, this conversation is not saved locally or on a live server, so a new session is
created for every new instance in time. The chat form has two main items which are the
message areas which on-going conversations can be seen and the chat form which carry an
input
field to send new messages area.
4.7 Summary
There is always room for improvement in any application. This project deals extensively
with text communication with special feature addition of Pidgin English which makes
it user friendly to those at the bottom of the societal pyramid as well, thereby capturing a
sizeable numerical group within the West Africa region. With the app’s friendly user
interface, it brings technology closer to the general populace and the grass-rooters.
29
CHAPTER 5: DISCUSSION, CONCLUSION, AND
RECOMMENDATIONS
5.1 Overview
The project successfully delivered on all requirement specification specified by the user.
Care was ensured during the design to make sure data integrity is maintained and to
avoid all forms of redundancies associated with data.
The user is assured a very friendly interface, behind which there are wide ranging
technical details that went in. The user guide is a mere formality because, the project
was specially created bearing in mind interaction and designs that would make users feel
as though they have used a system such as this.
This project has also been built in such a manner that future changes or modifications
that are required can easily be implemented without affecting the functionality of the
system. This project is used on android environment, and can be used on any version so
it can be used by individuals with different levels of android devices. The technical
document that is provided in the report of this project will help developers understand
the internal workings of the system.
30
5.3 Limitations and Challenges
The following challenges were observed after development of this system
• Only registered users can use the system
• There must be minimum of two users per time for interactive chatting
• Introduction of animations
5.5 Recommendations
Research done in regard to this project, coupled with the fact that we now live in a world
that everything is now becoming digitalized, the following recommendations were derived:
• The development of chat application shouldn’t and wouldn’t stop
here, constant improvement and research needs to be conducted to
make sure it is in line with best technology practices.
31
5.6 Summary
Messaging apps now have more global users than traditional social networks—which
mean they will play an increasingly important role in the distribution of information in
the future. While chat platforms initially rose to prominence by offering a low -cost,
web- based alternative to SMS, over time they evolved into multimedia hubs that
support photos, videos, games, payments, and more. To harness the growing population
of Africa in general and Nigeria in particular was the introduction of the Pidgen
English ch atting leverage, which is unique in its own right.
32
REFERENCES
4. Bairam, W., (2020) “Making the switch from making the switch from node.js to
golang.” http://blog.digg.com/post/141552444676/ making-the-switch-from-
nodejs- to-golang, mar 2016. Accessed: 2016-10- 19.
5. Callum, S., (2020) “Sinon - best practices for spies, stubs and mocks.”
https://semaphoreci.com/community/tutorials/best-practices-for-spies-
stubsand- mocks-in-sinon-js, 2016. Accessed: 2016-10-03.
8. Dashin, O., & Shanda, R., (2020) “Exploring the different types of nosql
databases.” https://www. 3pillarglobal.com/insights/exploring-the-different-
types- of-nosql-databases, may 2015. Accessed: 2017-04-29.
33
12. Gandale, A., (2020) “6 rules of thumb for mongodb schema design.”
http://blog.mongodb.org/post/87200945828/ 6-rules-of-thumb-for-
mongodb- schema-design-part-1, may 2014. Accessed: 2016-10-18.
15. Icharus, H.,“Crud cycle (create, read, update and delete cycle).” http://
searchdatamanagement.techtarget.com/definition/CRUD-cycle. Accessed: 2016-11-
08.
18. K.D, & Ernest, A.,(2020)“Rfc 5789 - patch method for http.”
https://tools.ietf.org/html/rfc5789, mar 2010. Accessed: 2016-12-18.
21. Oisin, H., (2020) “Html5 websocket: A quantum leap in scalability for the web.”
http://www. websocket.org/quantum.html. Accessed: 2016-11-13.
34
24. T’Marius, A., (2020)“Dynamic testing.”
https://www.tutorialspoint.com/software_testing_
dictionary/dynamic_testing.htm, apr 2017. Accessed: 2017-04-03.
35
APPENDICES
The project documentation for an application for online commodity and delivery
system
36
Appendix B - Source Code
37
38
39
40
41
42
Appendix C – Test Cases
1 User Profile
2 Chatting
3 Add Friend
4 Remove Friend
5 Find Friend
6 Registrar
7 Login
8 verification
9 biometric Login
10 Logout
43
Appendix D – Pictorial User Guide/Manual
44
45