Video chat application using vue.js, Study Guides, Projects, Research of Software Development

This is a precise documents containing all research questions, project description and conclusion on ow i created a video chat application using the vue.js framwork

Typology: Study Guides, Projects, Research

2020/2021

Uploaded on 05/06/2022

nkimbeng-christian
nkimbeng-christian 🇨🇲

2

(1)

1 document

1 / 41

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
SCHOOL OF INFORMATION TECHNOLOGY
DEPARTMENT OF INFORMATION TECHNOLOGY
SCHOOL OF SOFTWARE ENGINEERING
FOR INTERNSHIP CARRIED OUT AT AKIVAS DOUALA MAKEPE RHON-POULIN
FROM THE 7th April to 5th July
DONE BY
FRU NKIMBENG CHRISTIAN
18SI-004126
TOPIC
A LIVE VIDEO CHAT APPLICATION USING VUE.JS AND WEBRTC
INTERNSHIP SUPERVISOR: ACADEMIC SUPERVISOR:
MR. MUA N. LAURENT DR. MOKOM FELICITAS
ACADEMIC YEAR
2021 - 2022
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29

Partial preview of the text

Download Video chat application using vue.js and more Study Guides, Projects, Research Software Development in PDF only on Docsity!

SCHOOL OF INFORMATION TECHNOLOGY

DEPARTMENT OF INFORMATION TECHNOLOGY SCHOOL OF SOFTWARE ENGINEERING FOR INTERNSHIP CARRIED OUT AT AKIVAS DOUALA MAKEPE RHON-POULIN FROM THE 7th^ April to 5th^ July DONE BY FRU NKIMBENG CHRISTIAN 18SI-

TOPIC

A LIVE VIDEO CHAT APPLICATION USING VUE.JS AND WEBRTC

INTERNSHIP SUPERVISOR: ACADEMIC SUPERVISOR: MR. MUA N. LAURENT DR. MOKOM FELICITAS ACADEMIC YEAR 2021 - 2022

DEDICATION

I dedicate this to my Parents for all their support and attention which has made it possible for me to make it up to this point and as well as the Internship supervisor, Mr.Mua Laurent, who bestowed me with the courage, the commitment and the awareness to follow the best possible route, by his unmatchable style and by best possible training. Finally to all the staff of AKIVAS without them i will not be able to have gone this far..

ACKNOWLEDGEMENT

First of all, I have the pleasure to express my gratitude to Almighty God for giving me the opportunity and strength to complete my first internship and finally to prepare this report. I would also like to express my thanks and gratitude to the internship coordinators/ academic supervisors Dr.Mokom Felicitas , Mme.Tiako Fani Michele and Mr. Peter Achankeng L. for giving me permission for an internship and providing various guidelines about the report. This internship report might never have been completed without the necessary practical knowledge, assistance from many books, articles, and websites. I would like to express my special gratitude to my internship supervisor Mr.Mua Laurent for being the perfect internship supervisor guiding me and teaching me a lot, not forgetting the presence of Akivas staff members especially Mr.lontsi jordan for his constant support. I will be forever grateful for their time and effort which they invested in me.

ABSTRACT

Studies of video conferencing systems generally focus on scenarios where users communicate using an audio channel. However, text chat serves users in a wide variety of contexts, and is commonly included in multimedia conferencing systems as a complement to the audio channel. This report introduces a prototype application which integrates video and text communication, and describes a formative evaluation of the prototype using a webrtc library and as framework vue.js. Where a host is able to create a room and invite friends to join and enable communication. The host then has to checkin the users where they will be able to join the chat and communicate. discuss how the findings from this evaluation can inform the design of future video chat applications. The video chat application uses google firebase as server and database in order to store and transmit user ids. Finally the video chat app was hosted on the internet using a free hosting platform Heroku.

  • Figure 1-Auxplay Webview………………………………………………………………….
  • Figure 2-Auxplay Webview………………………………………………………………….
  • Figure 3,4-Auxplay mobile view…………………………………………………………….
  • Figure 5,6 -Akivas pay mobile view…………………………………………………………
  • Figure 7-Akivas organisation chart…………………………………………………………..
  • Figure 8-Todo login page…………………………………………………………………….
  • Figure 9-Todo signup page…………………………………………………………………...
  • Figure 10-Todo homepage……………………………………………………………………
  • Figure 11-phpMyAdmin……………………………………………………………………...
  • Figure 12-phpMyAdmin structure……………………………………………………………
  • Figure 13-Visual studio code sidebar…………………………………………………………
  • Figure 14-Use case diagram…………………………………………………………………..
  • Figure 15-Video chat homepage………………………………………………………………
  • Figure 16-Video chat Login page……………………………………………………………..
  • Figure 17-Video chat Register page…………………………………………………………..
  • Figure 18-Video chat Room page……………………………………………………………..
  • Figure 19-Firebase sdk setup and configuration……………………………………………....
  • Figure 20-firestore Authentication…………………………………………………………….
  • Figure 21- Cloud firestore……………………………………………………………………..
  • Figure 22-User waiting Room………………………………………………………………....
  • Figure 23-User’s chat page…………………………………………………………………….
  • Figure 24-Host’s chat page…………………………………………………………………….
  • Figure 25-Video communication………………………………………………………………
  • Figure 26 - Heroku videochat deployment page……………………………………………….
  • DEDICATION……………………………………………………………………………….... TABLE OF CONTENT
  • CERTIFICATION………………………………………………………….......……………....
  • ACKNOWLEDGEMENT……………………………………………………………………..
  • ABSTRACT…….………………………………………………………….......……………....
  • LIST OF FIGURES……………………………………………………………………….…....
  • CHAPTER I : INTRODUCTION……………………………………………………………...
  • 1.1 OBJECTIVES OF INTERNSHIP………………………………………………………….
  • 1.2 BACKGROUND OF PLACE OF INTERNSHIP………………………………………….
  • 1.3 OVERVIEW OF AKIVAS……………………………………………………………….....
  • 1.4 HISTORY…………………………………………………………………………..............
  • 1.5 Objectives and activities of AKIVAS…………….………………………………………..
  • 1.5.1 AUXPLAY……………………………………………………………………………………..
  • 1.5.2 AKIVAS PAY…………………………………………………………………………….……..
  • 1.6 Structural organization of the company……………………………………………………
  • CHAPTER II: TECHNICAL AND TECHNOLOGICAL REVIEW .……..........................
  • 2.1 TECHNOLOGIES USED IN THE PROJECT…………...……………………………..…..
  • 2.1.1VUE.JS…………..…………...…………………………………………………………….
  • 2.1.2 LARAVEL………………………………………………………………………………....
  • 2.1.3 WEBRTC…………………………………………………………………………………..
  • 2.1.4 PHP………………………………………………………………………………………...
  • 2.1.5 NODE.JS…………………………………………………………………………………...
  • 2.1.6 HEROKU…………………………………………………………………………………..
  • 2.1.7 GOOGLE FIREBASE……………………………………………………………………..
  • 2.1.8 BOOTSTRAP……………………………………………………………………………...
  • 3.1 INTRODUCTION……………………………..………………………………………….. CHAPTER III: ACTIVITIES DURING INTERNSHIP
  • 3.2 ACTIVITIES CARRIED………………..………………………………………………....
  • 3.3 PROJECTS …………………………..……………………………………………………
  • 3.3.1 TODO LOGIN/CREATE ACCOUNT PAGE………………………………………………...
  • SIGNUP PAGE……………………………………………………………………………………....
  • TODO HOMEPAGE………………………………………………………………………………...
  • MYSQL DATABASE………………………………………………………………………………..
  • 3.3.2 VIDEO CHAT APP…………………………………………………………………………….
  • LOGIN/REGISTER PAGE ……………………………………………………..………....
  • FIREBASE………………………………………………………………………………....
  • CHAT PAGE……………………………………………………………………………….
  • WEBRTC…………………………………………………………………………………..
  • HEROKU…………………………………………………………………………………..
  • 4.1 RECOMMENDATION…………………………………………………………………....... CHAPTER IV : CONCLUSION AND RECOMMENDATION
  • 4.2 PROBLEMS FACED……………………………………………………………………......
  • 4.3 CONCLUSION……………………………………………………………………………...
  • 4.4 REFERENCE…………………………………………………………………………....…..
  • 4.5 APPENDIX………………………………………………………………………………….

with fans and get their fair share.Where, fans can purchase and stream content from their favorite artists with their local payment options like MTN mobile money, Orange Money and also by using credit/debit cards. Figure 1 auxplay home page Figure 2 Auxplay user menu

Auxplay mobile view: Figure 3 Auxplay mobile view Figure4 user menu on Auxpay

AKIVAS ORGANISATION CHART

An organisation chart is a diagram that shows the structure of an organization and the relationships and relative ranks of its parts and positions/jobs. It is also used to show the relation of one department to another or function of an organization to another. Figure 7 AKIVAS Organisation Chart

CHAPTER II

TECHNICAL AND TECHNOLOGICAL REVIEW

Here are some Technical and Technological Concepts pertaining to the activities during the three month internship program. ● VUE.js: Vue.js is an open source javascript framework for building frontend user interfaces and single page applications. It provides a way to build components that encapsulate data or state in Javascript and connect that state reactively to a template in html. These components are called declarative views, because the same data inputs will always produce the same output in the visual user Interface. Thus vue.js is very reactive. A value or expression can be interpolated using double braces and there are a variety of directives to control the behavior of the HTML based on the data. using; V-if to only render an element when the value on the right side is true and though it might have a fall back element after that is only rendered when the value is false with V-else. To make the app more interactive by listening to events using the V-on:click , listen to events on an element then run some code to handle that event on the right side. Its plugin system allows its users to easily drop in things like a router, state manager, firebase support and more. The Vue framework is loved by developers for its simplicity and also its ability to scale up in complexity. ● LARAVEL: Laravel is an open source PHP framework intended for the development of web applications.it follows the model-view-controller design pattern. Laravel reuses existing components of different frameworks which help in creating a web application thus making the web application more structured and pragmatic. Some advantages of Laravel include: Websites built in Laravel tend to be more secure and prevent web attacks.

flexible, and easy to use, offering developers the simplest path to getting their apps to market. ● GOOGLE FIREBASE: The Firebase Realtime Database is a cloud-hosted database in which data is stored as JSON. The data is synchronized in real-time to every connected client. All of our clients share one Realtime Database instance and automatically receive updates with the newest data, when we build cross-platform applications with our iOS, and JavaScript SDKs. The Firebase Realtime Database is a NoSQL database from which we can store and sync the data between our users in real-time. It is a big JSON object which the developers can manage in real-time. By using a single API, the Firebase database provides the application with the current value of the data and updates to that data. Real-time syncing makes it easy for our users to access their data from any device, be it web or mobile. The Realtime database helps our users collaborate with one another. ● GITHUB: GitHub is a Git repository hosting service, but it adds many of its own features. While Git is a command line tool, GitHub provides a Web-based graphical interface. It also provides access control and several collaboration features, such as a wikis and basic task management tools for every project. Git simplifies the process of working with other people and makes it easy to collaborate on projects. Team members can work on files and easily merge their changes in with the master branch of the project. ● BOOTSTRAP: Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript based design templates for typography, forms, buttons, navigation, and other interface components. Bootstrap is a potent front-end framework used to create modern websites and web apps. It is open-source and free to use, yet features numerous HTML and CSS templates for UI interface elements such as buttons and forms. Bootstrap also supports JavaScript extensions.

CHAPTER III

ACTIVITIES CARRIED DURING INTERNSHIP

3.1 INTRODUCTION

In this chapter, work carried out during three months of internship at Akivas will be described.. ACTIVITIES

  • Todo application using php and Javascript.
  • Todo application using Vue.js and php.
  • Learned new frameworks,Vue.js and Laravel.
  • My main internship project was to work on a Video chat app using Vue.js. PROJECTS Todo application using php and Javascript A ToDo App is a simple and awesome way to organize your tasks with a very easy to use interface. ToDo can help its users make a list of their tasks and also,they can set Reminders with specific tasks. It reminds users at a specified Time. The Todo application was a simple app with the following functions;
  • Users can Login to get access to the Todo app if they don't have an account they can create an account in order to login.
  • When logged in, users can add tasks which are saved in the database.
  • Users can edit a task
  • Users can delete task
  • Users can set a task as done

**

🔑 <input type="password"name="txtpassword"placeholder="Enter passwrd">





**

Signup page

Figure 9 sign up page for todo app

Todo’s home page(index.php)

Here, the users can add, modify and delete tasks when completed, and the tasks are stored in the database. Figure 10 **index page where users can add task, delete and modify CODE SNIPPET:

insertRecord($_POST); }** **_/*delete record*/_** **if (isset($_GET['deleteid'])){ $delid = $_GET['deleteid']; $obj->deleteRecord($delid); } session_start();**