0% found this document useful (0 votes)
8 views23 pages

Format

Uploaded by

Chirag Goel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views23 pages

Format

Uploaded by

Chirag Goel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 23

Instruction for writing project Report:

1. Font type (Times New Roman) size 12 must be same as in this report.

2. Index for figures and tables must be separate as given in project.

3. If figure or table comes in chapter one then title will be Figure 1.1,
Figure1.2, ... so on and Table 1.1, Table 2.1,..so on. For chapter two
Figure 2.1, Figure 2.2,…and Table 2.1, Table 2.2,…. and so on.

4. Normal Text of font Size 12 in Times New Roman font style, not bold
and justify format(Ctrl z).

5. Chapter number and name with font size 18 in Times New Roman
font style (Bold letters, each letter is in Uppercase, aligned to centre).

6. Main Heading of chapters are with font size 16 in Times New Roman
font style (Bold letters, each letter is in Uppercase and justify format
(Ctrl z)).

7. Sub heading of chapters are with font size 14 in Times New Roman
font style (without Bold, each word is in sentence case and justify
format (Ctrl z)).

8. Code of project must be added as part of appendix.

9. Snapshot must be taken from running project.


VIRTUAL MEET APPLICATION WITH CONTENT
RECOMMENDATION FOR FINAL PROJECT
SUBMISSION
(For the partial fulfilment of Bachelor of Technology Degree in Computer Science &
Engineering)

Submitted by

DEEPANSHU KAMBOJ,
CHIRAG GOEL,
ANKITA SHARMA,
AYUSH KUMAR

Under the guidance of

Dr. Indrajeet Kumar

ASSISTANT PROFESSOR

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

GRAPHIC ERA HILL UNIVERSITY


May, 2023
CERTIFICATE

This is to certify that the thesis titled “Virtual Meet Application with Content
Recommendation” submitted by Deepanshu Kamboj, Chirag Goel, Ankita Sharma,
Ayush Kumar, to Graphic Era Hill University for the award of the degree of Bachelor
of Technology, is a bona fide record of the research work done by him/her under our
supervision. The contents of this project in full or in parts have not been submitted to any
other Institute or University for the award of any degree or diploma.

Name of guide
Project Guide
(Designation)
GEHU,Dehradun
Place: Dehradun
Date:
ACKNOWLEDGEMENT

I would like to express my sincere gratitude to all those who have contributed to the
successful completion of this project report. Without their support, guidance, and
encouragement, this report would not have been possible.

First and foremost, I would like to thank my supervisor [Supervisor's Name] for their
invaluable guidance and expertise throughout the project. Their continuous support,
constructive feedback, and timely suggestions have been instrumental in shaping this
report.

I extend my appreciation to my colleagues and friends who provided assistance and


encouragement throughout the project. Their valuable insights, brainstorming sessions,
and discussions have immensely contributed to the quality of this report.
.

Finally, I would like to express my heartfelt gratitude to my family for their unwavering
support, understanding, and patience during the entire project. Their encouragement and
belief in my abilities kept me motivated during challenging times.

Once again, I would like to thank everyone who has played a part, no matter how big or
small, in the completion of this project report. Your contributions have been invaluable,
and I am sincerely grateful for your support.

Deepanshu Kamboj Chirag Goel


Roll no. 1918317 Roll no. 1918307

Ankita Sharma Ayush Kumar


Roll no. 1918230 Roll no. 1918287

i
ABSTRACT

Developing an application on which users can connect with their friends or strangers with
similar interests and can enjoy various features while connected together online, like
watching movies, listening to music, or playing online games while connected together.
The application will also recommend different games, music, and movies as per the user's
interest.

Developing software on which the first user can log in or register himself. Then the user
will be asked about his interests, we will be providing some options like Action,
Adventure, Animation, Comedy, Crime, Documentary, Drama, Family, Fantasy, History,
Horror, Suspense, Romance, Sci-Fi, TV Movies, Thriller, War, and more. As per the
user's interest, he will be able to see people with similar interests globally and can make
them friends and can join them in the virtual groups. The virtual groups will be
recommending movies and music as per the common interest (which they have selected
at the start of the project) of all the people in the group so everyone can enjoy with each
other similar interests. The users will be given the feature to chat and talk with the
members of the group while watching movies or playing games.

Keywords: React JS; Socket.io; WebRTC; Flask;

ii
TABLE OF CONTENTS

ACKNOWLEDGEMENT i
ABSTRACT ii
LIST OF TABLES iv
LIST OF FIGURES v
ABBREVIATIONS vi
1. INTRODUCTION 1
2. REQUIREMENT ANALYSIS
2.1----WebRTC

2.1.1----Key Features

2.1.2----Architecture

3. SOFTWARE / PROJECT DESIGN


4. RESULT / TESTING OF PROJECT
5. CONCLUSION AND FUTURE SCOPE
6. REFERENCES

iii
LIST OF TABLES

2.1: Comparison between the Mesh, MCU, SFU

iv
LIST OF FIGURES

6.1. Figure 2.1: WebRTC Structure

6.2. Figure 2.2: WebRTC Structure

v
6.3. ABBREVIATIONS

GEHU Graphic Era Hill University

MWW Microsoft Word is Wonderful

vi
CHAPTER 1

INTRODUCTION
(OR ANY OTHER HEADING)

In most of the existing applications, they provide only live video sessions, they can’t
provide the chatting during the session and can’t watch videos on the platform. Our
application provides live video sessions, and plays videos and games during the call with
the help of machine learning it’s possible to make a platform, it provides entertainment to
the user. The technology used to make web applications like ReactJS, NodeJS, flask,
MongoDB and firebase.

The real motivation behind this project is to develop a platform where a group of friends
connect to watch movies, chat with each other in a secure manner play games watch
videos. Hence the motivation is to develop a platform where a group of friends entertain
through the application while watching movies play games with our friends virtually.
Develop an application on which users can connect with their friends or strangers with
similar interests and can enjoy various features while connected online, like watching
movies, listening to music, or playing games while connected. The application will also
recommend different games, music, and movies as per the user's interest.

The main objective behind our project is to provide an entertainment application on


which the user would be able to meet his friends virtually and could enjoy his free time
with them. As most of the time when people watch movies or play online games, they
might feel lonely, especially in the games which do not provide real-time live voice
chatting, so to overcome this problem we build this project.

The main goal is to provide users with an interface where a whole group of friends will
get movie, game or music recommendations based on the similar interests of the whole
group. The users will also be able to chat with each other while watching the movie or
playing any online game.
CHAPTER 2

REQUIREMENT ANALYSIS
(SRS should be included in this chapter ie use case, DFD, Class
Diagram ,ER diagram etc)
The virtual meet application aims to prioritize user-friendliness and accessibility, catering
to individuals with varying levels of technical proficiency. With a secure login and
authentication system, the application ensures the protection of user data and prevents
unauthorized access. The user interface is designed to be responsive and intuitive,
adapting seamlessly to different screen sizes and resolutions. The application's server-
side architecture is optimized to efficiently handle concurrent user connections, ensuring
a seamless and smooth meeting experience. Real-time audio and video communication
capabilities, along with screen sharing options, enable effective collaboration.
Additionally, the application strives for low latency, providing a smooth and responsive
user experience during both meetings and content browsing, enhancing overall usability.

6.1. WebRTC
WebRTC stands for Web Real-Time Communication and is an open-source technology
that enables real-time communication such as audio, video, and data sharing over the
Internet. It was first released by Google in 2011 and has since been widely recognized for
its ease of use and flexibility.

2.1.1 Key Features: WebRTC is based on several key technologies such as Real Time
Transport Protocol (RTP), Session Description Protocol (SDP) and Interactive
Connection Establishment (ICE). These technologies enable WebRTC to provide several
key features:

1. Audio and Video Communication: WebRTC enables real-time audio and video
communication between two or more users through their web browsers. It
supports high-quality audio and video codecs such as Opus and VP8 and also
enables screen sharing and file transfer.
2. Data Sharing: WebRTC supports data sharing between two or more users. This
allows for real-time collaboration, such as working on a document or a
whiteboard.

2
3. Security: WebRTC uses Secure Real-Time Transport Protocol (SRTP) for secure
communication, and also provides encryption of media streams to protect user
privacy.

2.1.2 Architecture: The WebRTC architecture consists of three main components:

(i) Application Programming Interfaces (APIs): WebRTC provides several APIs that
allow web developers to add real-time communication capabilities to their web
applications. These APIs include getUserMedia, which enables access to the user's
camera and microphone, and RTCPeerConnection, which establishes a connection
between two or more users.

(ii) Signalling: WebRTC requires a signalling server to facilitate communication


between users. Signalling is used to exchange information such as session descriptions
and ICE candidates between users. This information is necessary for establishing a
connection between users.

(iii) Media Servers: Media servers are used to process and transmit media streams
between users. Media servers are responsible for transcoding, scaling, and filtering media
streams to ensure high-quality communication.

Table 2.1: Comparison between the Mesh, MCU, SFU

Mesh MCU SFU

Connection 4|10 1|5 5|25

Uplink 4 MBPS 1 MBPS 1 MBPS

Downlink 4 MBPS 1 MBPS 4 MBPS

Total 20 MBPS 10 MBPS 25 MBPS

Representation

(i) (ii) (iii)

Description: Table 1 shows us the key approaches for scaling webRTC.


3
Applications: WebRTC has several applications in various industries, including
healthcare, education, and entertainment. Some of the most common applications of
WebRTC include

1. Video Conferencing: WebRTC enables high-quality video conferencing for


remote meetings and collaboration.
2. Telemedicine: WebRTC can be used for real-time communication between
doctors and patients, allowing for remote consultations and diagnoses.
3. Online Education: WebRTC can be used for online education, enabling real-time
collaboration between students and teachers.

WebRTC is a powerful technology that enables real-time communication and


collaboration over the internet. Its flexibility and ease of use have made it popular among
web developers and users alike. With its wide range of applications, WebRTC plays a
very crucial role in the way we communicate and collaborate in the future. WebRTC uses
a set of APIs that allow developers to integrate real-time communication capabilities into
web applications. This technology uses a combination of audio and video codecs to
compress and transmit audio and video data between web browsers. It also encrypts data
using security protocols to ensure privacy and security.

WebRTC is designed to be easy to use and accessible to both developers and end users. It
provides a simple and intuitive interface for creating real-time communication
applications accessible from anywhere with an Internet connection. One of the main
advantages of WebRTC is its ability to work on different platforms and devices,
including desktops, laptops, smartphones, and tablets. It allows developers to create web
applications that can be accessed from various devices, making it easier for users to
interact with each other.

Signalling Path (i.e., SIP)

HTTP/WebSocket’s

WEB
4
HTTP/WebSocket’s

Figure 2.1: WebRTC Structure

Figure 2.2: WebRTC Structure

Description: Figure 2.2 shows how WebRTC is used for the real-time communication of
the data streams to be sent between the modern browsers which enable peer-to-peer
connection between the browsers and exchange data which helps us to develop
applications with audio and video calling features.

5
6
CHAPTER 3

SOFTWRAE / PROJECT DESIGN


( Algo and blue print should be included in this chapter with
proper diagram)

The new paragraph can start in the next line, with no gap. There is an indentation of
0.2” at the beginning of the paragraph. Paragraph in the thesis will always be justified,
not left-centered.

7
CHAPTER 4

RESULT/TESTING OF PROJECT / SOFTWARE


TEST CASES WITH WHITE AND BLACK BOX TESTING ETC

8
CHAPTER 5

CONCLUSION AND FUTURE SCOPE

To conclude the project, it would be a single platform where the friends could meet with
each other online, play games while on call and could also chat during the same. The user
would be able to make new friends with similar interests and could connect with them
through the groups. The user will get recommendations of movies, games and music as
per his interest. We would like to conclude our project as, this application is designed to
perform two different types of tasks on a single platform that is, the first one is a content
recommendation system and the second one is a virtual meeting with chatting and video
calling. We got the idea to build this application and bring these two entities together by
thinking that how great it would be if we could join our friends online and also get
recommendations of movies, games, and music as per the whole friend group's interest.

Finally, we made this application in which we took the help of various research papers in
the field of recommendation systems and virtual chatting rooms from where we got to
learn the concepts of these fields and then finally, we combined these two functions in a
single application where the user can log in and meet with his friends online and together,
they can have a good time by enjoying the entertainment content which is being
recommended by the recommendation system model. In conclusion content
recommendation systems and virtual meetings have become important parts of our digital
lives. With the proliferation of digital content and the rise of remote working, these
technologies have become essential tools for improving productivity, collaboration and
communication.

However, both techniques also present unique challenges and limitations. Content
recommendation systems must address issues such as data privacy and the risk of
algorithmic bias. Likewise, virtual meetings need to address issues such as technical
errors, security issues, and the need to facilitate efficiently.

9
APPENDIX A

(Code)

It will contain code of project/software.

10
References

1. Thorat, Adhiksha, and Avinash Bhute. "SquashCord: Video Conferencing


Application Using WebRTC." High Performance Computing and Networking.
Springer, Singapore, 2022.

2. Karam, Sameer Jasim, and Bikhtiyar Friyad Abdulrahman. "Using Socket. io


Approach for Many-to-Many Bi-Directional Video Conferencing." AL-Rafidain
Journal of Computer Sciences and Mathematics 16.1 (2022): 81-86.

3. Kumar, Manoj, et al. "A movie recommender system: Movrec." International Journal
of Computer Applications 124.3 (2015).

4. Cheuque, Germán, José Guzmán, and Denis Parra. "Recommender systems for
Online video game platforms: The case of STEAM." Companion Proceedings of the
2020 World Wide Web Conference. 2020.

5. Okada, Keisuke, Phan Xuan Tan, and Eiji Kamioka. "Five-Factor Musical Preference
Prediction for Solving New User Cold-Start Problem in Content-Based Music
11
Recommender System." 2021 12th International Conference on Information,
Intelligence, Systems & Applications (IISA). IEEE, 2021.

6. Ali, K., van Stam, W.: TiVo: Making Show Recommendations Using a Distributed
Collaborative Filtering Architecture. In: Proceedings of the Tenth ACM SIGKDD
International Conference on Knowledge Discovery and Data Mining, Seattle, pp.
394–401. ACM Press, New York (2004).

7. Balabanovic, M., Shoham, Y.: FAB: Content-based, Collaborative Recommendation.


Communications of the Association for Computing Machinery 40(3), 66–72 (1997).

8. Billsus, D., Pazzani, M.: Learning Collaborative Information Filters. In: Proceedings
of the International Conference on Machine Learning, Madison, WI, pp. 46–54.
Morgan Kaufmann, San Francisco (1998).

9. Burke, R.: Hybrid Web Recommender Systems. In: Brusilovsky, P., Kobsa, A.,
Nejdl, W. (eds.) The Adaptive Web: Methods and Strategies of Web Personalization.
LNCS, vol. 4321, pp. 377–408. Springer, Heidelberg (2007).

10. Joachims, T.: Text Categorization with Support Vector Machines: Learning with
Many Relevant Features. In: European Conference on Machine Learning, Chemnitz,
Germany, pp. 137–142 (1998).

11. Loeb, S.: Architecting Personal Delivery of Multimedia Information.


Communications of the ACM 35(12), 39–48 (1992).

12. Mitchell, T.: Machine Learning. McGraw-Hill, New York (1997).

13. Pazzani, M., Billsus, D.: Learning and Revising User Profiles: The Identification of
Interesting Web Sites. Machine Learning 27(3), 313–331 (1997).

14. G. Lekakos and P. Caravelas. A hybrid approach for movie recommendation.


Multimedia tools and applications, 36(1):55-70, 2008.

15. B.N. Miller, I. Albert, S.K. Lam, J.A. Konstan, and J. Riedl. Movielens unplugged:
experiences with an occasionally connected recommender system. In Proceedings of
the 8th international conference on Intelligent user interfaces, pages 263-266. ACM,
2003.

16. M. Pazzani and D. Billsus. Learning and revising user profiles: The identification of
interesting web sites. Machine learning, 27(3):313-331, 1997.

12
17. P. Resnick, N. Iacovou, M. Suchak, P. Bergstrom, and J. Riedl. Grouplens: an open
architecture for collaborative filtering of netnews. In Proceedings of the 1994 ACM
conference on Computer supported cooperative work, pages 175-186. ACM, 1994.

18. S. Breese, D. Heckerman, and C. Kadie. Empirical analysis of predictive algorithms


for collaborative filtering. In Proceedings of the Fourteenth conference on
Uncertainty in artificial intelligence, pages 43-52. Morgan Kaufmann Publishers Inc.,
1998.

19. Stafford SA. Music in the Digital Age: The Emergence of Digital Music and Its
Repercussions on the Music Industry. The Elon Journal of Undergraduate Research
in Communications Vol. 1 No. 2. 2010.

20. Aggarwal CC. Recommender Systems: The Textbook. 1st ed.: Springer; 2016.

21. Ricci F, Rokach L, Shapira B. Recommender Systems Handbook: Springer Science;


2010.

22. O’Bryant J. A survey of music recommendation and possible improvements. In ;


2017.

23. Davis J, Goadrich M. The Relationship Between Precision-Recall and ROC Curves.
In ICML'06 Proceedings of the 23rd international conference on Machine learning;
2006. p. 233-240.

24. Arditi D. Digital Subscriptions: The Unending Consumption of Music in the Digital
Era. Popular Music and Society. 2017.

25. Ekstrand MD, Riedl JT, Konstan JA. Collaborative Filtering Recommender Systems.
Foundations and Trends in Human–Computer Interaction. 2010; 4(2): p. 81–173.

13
14

You might also like