Format
Format
1. Font type (Times New Roman) size 12 must be same as in this report.
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)).
Submitted by
DEEPANSHU KAMBOJ,
CHIRAG GOEL,
ANKITA SHARMA,
AYUSH KUMAR
ASSISTANT PROFESSOR
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.
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.
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.
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
iii
LIST OF TABLES
iv
LIST OF FIGURES
v
6.3. ABBREVIATIONS
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 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.
(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.
(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.
Representation
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.
HTTP/WebSocket’s
WEB
4
HTTP/WebSocket’s
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
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
8
CHAPTER 5
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)
10
References
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).
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).
13. Pazzani, M., Billsus, D.: Learning and Revising User Profiles: The Identification of
Interesting Web Sites. Machine Learning 27(3), 313–331 (1997).
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.
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.
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