Design and Implementation of a Multilingual Chat Application

Design and Implementation of a Multilingual Chat Application

Project / Seminar Material
Reference ID: PS-5955-TM

DEDICATION

This research material titled “Design and Implementation of a Multilingual Chat Application” is dedicated to God for his enabling grace, and to all computer enthusiasts who contributed to make life a pleasant experience during my research documentation.

ACKNOWLEDGEMENT

I extend my sincere gratitude to all those who contributed to the completion of this project. Special thanks to my Supervisor (Name of your Supervisor), the Head of Department (Name of your HOD), the Lecturers in the department of Computer Science (CS), Book Authors and Profound Scholars of existing or related project material on “Design and Implementation of a Multilingual Chat Application” for their invaluable guidance, support, and expertise throughout the journey.

I am also grateful to your study area (mention any funding organizations, if applicable) for their financial assistance. This research would not have been possible without the encouragement and assistance of some stakeholders (mention any mentors, teachers, or colleagues). Additionally, I would like to acknowledge the understanding and patience of my family and friends during this endeavor. Your unwavering support has been a constant source of motivation. Thank you all for being part of this meaningful endeavor.


Design and Implementation of a Multilingual Chat Application

TABLE OF CONTENTS

PRELIMINARY PAGES


CHAPTER ONE

INTRODUCTION

  • 1.1 Introduction
  • 1.2 Background of Study
  • 1.1.1 Basic Concepts
  • 1.3 Statement of the Problem
  • 1.4 Aim and Objectives of the Study
  • 1.5 Significance of the Study
  • 1.6 Scope of the study
  • 1.7 Limitation of the Study
  • 1.8 Definition of Terms

CHAPTER TWO

LITERATURE REVIEW

  • 2.1 Introduction
  • 2.2 Conceptual Review
  • 2.3 Client-Server and Other Models
  • 2.4 Client-Server Communication
  • 2.5 Hosts Identification and Service Ports
  • 2.6 Sockets and Socket-Based Communication
  • 2.7 TCP/IP Socket programming
  • 2.8 Overview of Secure Socket Layer (SSL)
  • 2.8.1 Security Features of Network Analyzer & Monitoring
  • 2.8.2 Types of Cryptographic Algorithms
  • 2.8.2.1 Hash Functions
  • 2.9 Empirical Review

CHAPTER THREE

SYSTEM ANALYSIS AND DESIGN

  • 3.1 Methodology Adopted
  • 3.2 Analysis of the Existing System
  • 3.2.1 Dataflow of the Existing System
  • 3.2.2 Disadvantages Of The Existing System
  • 3.2.3 Weakness of the existing System
  • 3.3 Analysis of the Proposed System
  • 3.4 System Design
  • 3.4.1 Advantages of the Proposed System
  • 3.4.2 Justification of the Proposed System
  • 3.5 Functional Requirements
  • 3.5 Data Requirements
  • 3.6 High Level Model of the Proposed System

CHAPTER FOUR

SYSTEM DESIGN AND IMPLEMENTATION

  • 4.1 Objectives of the Design
  • 4.2 Cohesion and Decomposition High level Model
  • 4.3 Control Center / Overall Dataflow Diagram
  • 4.3.1 Proposed System Operation Flowchart
  • 4.4 System Specification and Design
  • 4.4.1 Input and Output Specification
  • 4.4.2 Database Specification and Design
  • 4.5 Choice and Justification of Programming Language
  • 4.6 Program Documentation
  • 4.7 Implementation Techniques
  • 4.8 Programming Module Specification
  • 4.8.1 Installation
  • 4.9 Computer Hardware Minimum Requirement
  • 4.10 Software Requirement
  • 4.11 Personnel / User Training

CHAPTER FIVE

SUMMARY, CONCLUSION AND RECOMMENDATION

  • 5.1 Introduction
  • 5.2 Summary
  • 5.3 Conclusion
  • 5.4 Recommendation

REFERENCES

APPENDIX A - “SOURCE CODE”

APPENDIX B - "OBJECT PROGRAM"

ABSTRACT

Instant messaging has brought an effective and efficient real-time, text-based communication to the Internet community. The main aim is to Design and Implement a Multilingual Chat Application. In achieving this aim, the following specific objectives were laid out to design a multilingual chat application, incorporate all the languages in Nigeria into the chat application so that anybody who speaks any language of Nigeria origin can use it, and evaluate the existing literature of instant messaging and access the already made multilingual chat application and improve on their deficiencies. The methodology adopted in this study is the structured system analysis and design methodology (SSADM) which is a technical approach for analyzing and designing an application or system by applying object throughout the software development process. The programming language used is HTML, CSS, JAVASCRIPT, PHP, SQL and JQUERY. The reason why web programming languages was used is because, it is platform independent and it is a web based application. In this project we explore the various attempts to create a unified standard for instant messaging in conjunction with a language translator designed specifically for the three most common languages in Nigeria (Hausa, Yoruba and Igbo). We show the efforts of organizations such as the Internet Engineering Task Force (IETF) in this regard, in addition to some proprietary solutions. We also shed some light on the different types of protocols that are used to implement instant messaging applications. Furthermore, the practical uses of instant messaging are highlighted alongside the benefits that will be reaped by organizations adopting the technology. We dedicate some parts of this project to review current and future research in the field. Various research trends and directions are discussed to show the impact of instant messaging on users, businesses and the decision making process.


Design and Implementation of a Multilingual Chat Application

CHAPTER ONE

1.1 Introduction

Online chat may refer to any kind of communication over the Internet that offers a real-time transmission of text messages from sender to receiver. Chat messages are generally short in order to enable other participants to respond quickly. Thereby, a feeling similar to a spoken conversation is created, which distinguishes chatting from other text-based online communication forms such as Internet forums and email. Online chat may address point-to-point communications as well as multicast communications from one sender to many receivers and voice and video chat, or may be a feature of a web conferencing service. Several network chat application systems are built to communicate with one another and are made available through service-oriented architectures. In this project, we use the client server architecture to develop a secured Client-Server chat application. A chat application is created based on Transmission Control Protocol (TCP) where TCP is connection oriented protocol and in the end, multithreading is used to develop the application.

As a prelude to other parts of this study, this chapter will discuss the background upon which this study was initiated, the statement of problems that led to this study, the Aim and Objectives of the study. Others are Significance of the study, Scope of work, Limitations of the Study and Definition of technical terms.


1.2 Background of Study

The origin of the Internet begins with the invention and discovery of digital computers in the 1950s. Initial phenomenon of packet networking originated in several computer science laboratories in the United States, United Kingdom, and France. (Kim, Byung-Keun 2005) The US Department of Defence awarded contracts as early as the 1960s for packet network systems, including the development of the ARPANET. The first message was sent over the ARPANET from computer science Professor Leonard Kleinrock’s laboratory at University of California, Los Angeles (UCLA) to the second network node at Stanford Research Institute (SRI).

Packet switching networks such as ARPANET, NPL network, CYCLADES, Merit Network, Tymnet, and Telenet, were developed in the late 1960s and early 1970s using a variety of communications protocols. Donald Davies first designed a packet-switched network at the National Physics Laboratory in the UK, which became a testbed for UK research for almost two decades. (Couldry, Nick 2012) The ARPANET project led to the development of protocols for internetworking, in which multiple separate networks could be joined into a network of networks.

Access to the ARPANET was expanded in 1981 when the National Science Foundation (NSF) funded the Computer Science Network (CSNET). In 1982, the Internet protocol suite (TCP/IP) was introduced as the standard networking protocol on the ARPANET. In the early 1980s the NSF funded the establishment for national supercomputing centers at several universities, and provided interconnectivity in 1986 with the NSFNET project, which also created network access to the supercomputer sites in the United States from research and education organizations. Commercial Internet service providers (ISPs) began to emerge in the very late 1980s. The ARPANET was decommissioned in 1990. Limited private connections to parts of the Internet by officially commercial entities emerged in several American cities by late 1989 and 1990, (Baran, Paul 1991) and the NSFNET was decommissioned in 1995, removing the last restrictions on the use of the Internet to carry commercial traffic.

In the 1980s, research at CERN in Switzerland by British computer scientist Tim Berners-Lee resulted in the World Wide Web, linking hypertext documents into an information system, accessible from any node on the network. Since the mid-1990s, the Internet has had a revolutionary impact on culture, commerce, and technology, including the rise of near-instant communication by electronic mail, instant messaging, voice over Internet Protocol (VoIP) telephone calls, two-way interactive video calls, and the World Wide Web with its discussion forums, blogs, social networking, and online shopping sites. The research and education community continues to develop and use advanced networks such as NSF’s very high speed Backbone Network Service (vBNS), Internet2, and National LambdaRail. Increasing amounts of data are transmitted at higher and higher speeds over fiber optic networks operating at 1-Gbit/s, 10-Gbit/s, or more. The Internet’s takeover of the global communication landscape was almost instant in historical terms: it only communicated 1% of the information flowing through two-way telecommunications networks in the year 1993, already 51% by 2000, and more than 97% of the telecommunicated information by 2007. Today the Internet continues to grow, driven by ever greater amounts of online information, commerce, entertainment, and social networking.

The first online chat system was called Talkomatic, created by Doug Brown and David R. Woolley in 1973 on the PLATO System at the University of Illinois. It offered several channels, each of which could accommodate up to five people, with messages appearing on all users’ screens character-by-character as they were typed. Talkomatic was very popular among PLATO users into the mid-1980s. In 2014, Brown and Woolley released a web-based version of Talkomatic.

Instant messaging (IM) is a type of online chat that offers real-time text transmission over the Internet. A LAN messenger operates in a similar way over a local area network. Short messages are typically transmitted bi-directionally between two parties, when each user chooses to complete a thought and select “send”. Some IM applications can use push technology to provide real-time text, which transmits messages character by character, as they are composed. More advanced instant messaging can add file transfer, clickable hyperlinks, Voice over IP, or video chat.

Non-IM types of chat include multicast transmission, usually referred to as “chat rooms”, where participants might be anonymous or might be previously known to each other (for example collaborators on a project that is using chat to facilitate communication). Instant messaging systems tend to facilitate connections between specified known users (often using a contact list also known as a “buddy list” or “friend list”). Depending on the IM protocol, the technical architecture can be peer-to-peer (direct point-to-point transmission) or client-server (an Instant message service center retransmits messages from the sender to the communication device). One the problems faced by Instant messaging since its inception is its inability to instantly translate one language to another so that users speaking different language can easily communicate. It is on this background however that this research work was embarked on to design a multilingual chat application.


1.3 Statement of the Problem

Investigation reveals the problems of the existing multilingual chat application which entails that there is no security provided to data which is transferred between clients. Any unauthorized client can hack the client account and can change the data. Since the existing system implements only hash function with the password before the encryption and stored in the database, the password in the database can be hacked easily because hash function can be decrypted easily using hash calculator.

The instant messaging has shortened the geographical distance between people all over the world − the conversation is as easy as sitting in front of the computer and popping fingers to type − the text communication has become easy and efficient. However, the invisible distance − the barrier results from the different native-languages people speak has not been eliminated yet. Imagine that if there is a Hausa Internet users sitting in front of his computer, how to communicate through the instant messaging to have a conversation with him? So the language barrier during instant messaging is the reason behind this project.


1.4 Aim and Objectives of the Study

The main aim is to Design and Implement a Multilingual Chat Application. In achieving this aim, the following specific objectives were laid out as follows:

  1. To design a multilingual chat application
  2. To incorporate all the languages in Nigeria into the chat application so that anybody who speaks any language of Nigeria origin can use it
  3. To evaluate the existing literature of instant messaging and access the already made multilingual chat application and improve on their deficiencies.

1.5 Significance of the Study

Hundreds of millions of people use IM to stay connected. In many ways, IM epitomizes the notion of the always-connected, multitasking student, sending and receiving messages at all hours, from a wide spectrum of devices, while doing several other things at the same time. While this dynamic expands access to students who are uneasy with other types of communication, it also provides new modes of expression for students who are otherwise comfortable participating in class.

Instant Messaging (IM) creates an environment that approximates the sharing of a physical space, allowing distance students to engage in learning that approaches face-to-face meetings. The technology is also promoting the practice of creating “back channels,” or secondary conversations that happen at the same time, for example, as a lecture, board meeting, or conference call. Students in a lecture hall might use IM to ask each other questions about the lecture topic and share their thoughts without interrupting the professor. Eliminates use of additional multi-language tools in chat activities and users can retain mono-lingual typical chatting style, even in cross-lingual situations with chat normalization.


1.6 Scope of the study

This research work is limited to the development of a web based multilingual chat application. The implemented languages are; English, Igbo, Hausa, and Yoruba.


1.7 Limitation of the Study

During the course of this study, many things militated against its completion, some of which are:

  1. Time Constraint: The time frame given to accomplish this project was very short due to school academic calendar and it was carried out under pressure which made the researcher not to implement some necessary features.
  2. Research material: availability of research material is a major setback to the scope of the study.
  3. Frequent power failure: This made the researcher append more money on fuel to ensure sustainable power.
  4. Financial Constraint: Insufficient fund tends to impede the efficiency of the researcher in sourcing for the relevant materials, literature or information and in the process of data collection (internet).

1.8 Definition of Terms

Agent: The software that runs on a managed network device and implements the information and / or management functionality of a management system.

Managed Device: Any network device that is capable of participating in a network management system

Management Information Base (MIB): A hierarchical specification of the managment data on a managed network device.

Management Station: The software that sends requests to agents and receives traps on behalf of an administrator or management software.

Network-Management System (NMS): A complete hardware and software system that monitors and manages a network.

Application Programming Interface: In computer programming, an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building application

Basic Object Adapter: Basic Object Adapter (BOA) is an interface intended to be widely available and to support a wide variety of common object implementations.

Common Gateway Interface: In computing, Common Gateway Interface (CGI) offers a standard protocol for web servers to execute programs that execute like Console applications (also called Command-line interface programs) running on a server that generates web pages dynamically.

Simple Network Management Protocol (SNMP): A network protocol that is part of the internet protocol suite used to send and receive network management information.

Trap: Asynchronous messages sent by agents to managers. May be used for alerts or event notifications; also known as notification.

Instant Messaging: Instant messaging (IM) is a type of online chat that offers real-time text transmission over the Internet.

World Wide Web: The World Wide Web (abbreviated WWW or the Web) is an information space where documents and other web resources are identified by Uniform Resource Locators (URLs), interlinked by hypertext links, and can be accessed via the Internet.

Protocol: This can be defined as a set of rules and regulations that determine how data is transmitted in telecommunications and computer networking. Cryptographic protocol, a protocol for encrypting messages

URL: A Uniform Resource Locator (URL), colloquially termed a web address, is a reference to a web resource that specifies its location on a computer network and a mechanism for retrieving it. A URL is a specific type of Uniform Resource Identifier (URI), although many people use the two terms interchangeably.

CHAPTER TWO

2.0 Literature Review

2.1 Introduction

This chapter focuses on the review of related literature. A literature review includes the current knowledge as well as theoretical and methodological contributions to a particular topic. It documents the state of the art with respect to the topic you are writing. It surveys the literature in the topic selected. In this research work the literature review includes the …

Summary Headlines for Design and Implementation of a Multilingual Chat Application