{"id":11276,"date":"2026-08-10T10:30:05","date_gmt":"2026-08-10T10:30:05","guid":{"rendered":"https:\/\/nokobox.com\/index.php\/item\/udemy-building-video-call-app-with-javascript-supabase-and-webrtc-2025-5\/"},"modified":"2026-08-10T10:30:05","modified_gmt":"2026-08-10T10:30:05","slug":"udemy-building-video-call-app-with-javascript-supabase-and-webrtc-2025-5","status":"publish","type":"digital_item","link":"https:\/\/nokobox.com\/index.php\/item\/udemy-building-video-call-app-with-javascript-supabase-and-webrtc-2025-5\/","title":{"rendered":"Udemy \u2013 Building Video Call App with Javascript, Supabase and WebRTC 2025-5"},"content":{"rendered":"<div class=\"w-post-elm post_content\">\n<h2 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Description<\/span><\/h2>\n<p dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Building Video Call App with Javascript, Supabase and WebRTC course. This comprehensive, project-based course teaches you how to develop a real-time video call app similar to Zoom and WhatsApp using Javascript, Supabase and WebRTC. First, you will learn the basic concepts of WebRTC, including its uses, limitations and key features. Then, you will learn the steps of building the app, from capturing user media and establishing a peer-to-peer connection to managing signaling and media streaming. Next, you will implement core project features such as user authentication, real-time audio and video communication, host-controlled call, and audio and video disconnection and reconnection. You will start by building the backend and integrating authentication with Supabase to ensure secure user access. Then, you will create a signaling system for seamless communication between users using Socket.IO. Next, you\u2019ll set up a peer-to-peer connection with WebRTC so that users can communicate with minimal latency without the need for a central server. You\u2019ll also add the ability to control audio and video during the call and design an attractive user interface with HTML and CSS. Finally, you\u2019ll test the application with performance and functionality testing to ensure it works properly. This project will not only strengthen your understanding of real-time communications, but also teach you valuable skills such as managing peer-to-peer connections, signaling, and authentication, which are useful in developing chat platforms, live streaming, and online education.<\/span><\/p>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">What you will learn<\/span><\/h3>\n<ul dir=\"ltr\" style=\"text-align: left\">\n<li><span style=\"vertical-align: inherit\">Building a video calling application using Socket IO and WebRTC.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">Learn the fundamentals of WebRTC, including its use cases, technical limitations, and key features.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">How to create a Socket server and the logic for joining the room.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">How to create an SDP offer-response exchange using Socket IO.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">How to set up Supabase Storage for user authentication.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">Building a basic user authentication system.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">How to create functions for login, registration, and logout.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">How to create functions to initiate a video call and access user media.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">How to create a function to join a video call room and structure the host approval workflow.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">How to establish a WebRTC peer-to-peer connection and send an SDP offer.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">How to create functions to manage SDP offers and responses.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">How to create functions to generate meeting room IDs, mute microphones, and switch camera images on and off.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">How to design a video calling app dashboard.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">How to design a login and registration page.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">How to style the video calling app\u2019s UI with CSS.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">How to conduct performance and capability tests.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">How WebRTC works in a video calling application by capturing user media, establishing peer-to-peer connections, exchanging metadata, and establishing peer-to-peer streams.<\/span><\/li>\n<\/ul>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">This course is suitable for people who:<\/span><\/h3>\n<ul dir=\"ltr\" style=\"text-align: left\">\n<li><span style=\"vertical-align: inherit\">Software engineers interested in building video calling applications with WebRTC and Socket IO.<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">Tech entrepreneurs who are interested in adding video calling features to their apps or software.<\/span><\/li>\n<\/ul>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Course details: Building Video Call App with Javascript Supabase and WebRTC<\/span><\/h3>\n<ul dir=\"ltr\" style=\"text-align: left\">\n<li><span style=\"vertical-align: inherit\">Publisher:&nbsp; <\/span><a href=\"https:\/\/href.li\/?https:\/\/www.udemy.com\/course\/building-video-call-app-with-javascript-supabase-and-webrtc\/?couponCode=LETSLEARNNOW\" target=\"_blank\" rel=\"noopener\"><span style=\"vertical-align: inherit\">Udemy<\/span><\/a><\/li>\n<li><span style=\"vertical-align: inherit\">Instructor:&nbsp; <\/span><a class=\"ud-btn ud-btn-medium ud-btn-link ud-heading-sm ud-text-sm ud-instructor-links\" href=\"https:\/\/downloadlynet.ir\/tag\/christ-raharja\/\" data-position=\"1\"><span class=\"ud-btn-label\"><span style=\"vertical-align: inherit\">Christ Raharja<\/span><\/span><\/a><\/li>\n<li><span style=\"vertical-align: inherit\">Training level: Beginner to advanced<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">Training duration: 5 hours<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">Number of lessons: 23<\/span><\/li>\n<\/ul>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Course headings<\/span><\/h3>\n<h3 dir=\"ltr\" style=\"text-align: left\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-994775 size-full\" src=\"https:\/\/downloadly.ir\/wp-content\/uploads\/2025\/07\/Building-Video-Call-App-with-Javascript-Supabase-and-WebRTC-1.png\" alt=\"Building Video Call App with Javascript Supabase and WebRTC\" width=\"880\" height=\"1480\"><\/h3>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Prerequisites for the Building Video Call App with Javascript Supabase and WebRTC course<\/span><\/h3>\n<ul dir=\"ltr\" style=\"text-align: left\">\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">No previous experience in WebRTC is required<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Basic knowledge in Javascript and HTML<\/span><\/li>\n<\/ul>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Course images<\/span><\/h3>\n<h3 dir=\"ltr\" style=\"text-align: left\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-994776 size-full\" src=\"https:\/\/downloadly.ir\/wp-content\/uploads\/2025\/07\/Building-Video-Call-App-with-Javascript-Supabase-and-WebRTC.png\" alt=\"Building Video Call App with Javascript Supabase and WebRTC\" width=\"885\" height=\"392\"><\/h3>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Sample course video<\/span><\/h3>\n<div style=\"width: 640px;\" class=\"wp-video\"><span class=\"mejs-offscreen\">Video Player<\/span><\/p>\n<div id=\"mep_0\" class=\"mejs-container mejs-container-keyboard-inactive wp-video-shortcode mejs-video\" tabindex=\"0\" role=\"application\" aria-label=\"Video Player\" style=\"width: 640px; height: 360px; min-width: 217px;\">\n<div class=\"mejs-inner\">\n<div class=\"mejs-mediaelement\"><mediaelementwrapper id=\"video-170552-1\"><video class=\"wp-video-shortcode\" id=\"video-170552-1_html5\" width=\"640\" height=\"360\" preload=\"metadata\" src=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Building_Video_Call_App_with_Javascript_Supabase_and_WebRTC_Downloadly.ir.mp4?_=1\" style=\"width: 640px; height: 360px;\"><source type=\"video\/mp4\" src=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Building_Video_Call_App_with_Javascript_Supabase_and_WebRTC_Downloadly.ir.mp4?_=1\"><a href=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Building_Video_Call_App_with_Javascript_Supabase_and_WebRTC_Downloadly.ir.mp4?nocache=1786140390137\">https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Building_Video_Call_App_with_Javascript_Supabase_and_WebRTC_Downloadly.ir.mp4<\/a><\/video><\/mediaelementwrapper><\/div>\n<div class=\"mejs-layers\">\n<div class=\"mejs-poster mejs-layer\" style=\"display: none; width: 100%; height: 100%;\"><\/div>\n<div class=\"mejs-overlay mejs-layer\" style=\"display: none; width: 100%; height: 100%;\">\n<div class=\"mejs-overlay-loading\"><span class=\"mejs-overlay-loading-bg-img\"><\/span><\/div>\n<\/div>\n<div class=\"mejs-overlay mejs-layer\" style=\"display: none; width: 100%; height: 100%;\">\n<div class=\"mejs-overlay-error\"><\/div>\n<\/div>\n<div class=\"mejs-overlay mejs-layer mejs-overlay-play\" style=\"width: 100%; height: 100%;\">\n<div class=\"mejs-overlay-button\" role=\"button\" tabindex=\"0\" aria-label=\"Play\" aria-pressed=\"false\"><\/div>\n<\/div>\n<\/div>\n<div class=\"mejs-controls\">\n<div class=\"mejs-button mejs-playpause-button mejs-play\"><button type=\"button\" aria-controls=\"mep_0\" title=\"Play\" aria-label=\"Play\" tabindex=\"0\"><\/button><\/div>\n<div class=\"mejs-time mejs-currenttime-container\" role=\"timer\" aria-live=\"off\"><span class=\"mejs-currenttime\">00:00<\/span><\/div>\n<div class=\"mejs-time-rail\"><span class=\"mejs-time-total mejs-time-slider\" role=\"slider\" tabindex=\"0\" aria-label=\"Time Slider\" aria-valuemin=\"0\" aria-valuemax=\"0\" aria-valuenow=\"0\" aria-valuetext=\"00:00\"><span class=\"mejs-time-buffering\" style=\"display: none;\"><\/span><span class=\"mejs-time-loaded\"><\/span><span class=\"mejs-time-current\"><\/span><span class=\"mejs-time-hovered no-hover\"><\/span><span class=\"mejs-time-handle\"><span class=\"mejs-time-handle-content\"><\/span><\/span><span class=\"mejs-time-float\"><span class=\"mejs-time-float-current\">00:00<\/span><span class=\"mejs-time-float-corner\"><\/span><\/span><\/span><\/div>\n<div class=\"mejs-time mejs-duration-container\"><span class=\"mejs-duration\">00:00<\/span><\/div>\n<div class=\"mejs-button mejs-volume-button mejs-mute\"><button type=\"button\" aria-controls=\"mep_0\" title=\"Mute\" aria-label=\"Mute\" tabindex=\"0\"><\/button><a href=\"javascript:void(0);\" class=\"mejs-volume-slider\" aria-label=\"Volume Slider\" aria-valuemin=\"0\" aria-valuemax=\"100\" role=\"slider\" aria-orientation=\"vertical\"><span class=\"mejs-offscreen\">Use Up\/Down Arrow keys to increase or decrease volume.<\/span><\/p>\n<div class=\"mejs-volume-total\">\n<div class=\"mejs-volume-current\" style=\"bottom: 0px; height: 100%;\"><\/div>\n<div class=\"mejs-volume-handle\" style=\"bottom: 100%; margin-bottom: -3px;\"><\/div>\n<\/div>\n<p><\/a><\/div>\n<div class=\"mejs-button mejs-fullscreen-button\"><button type=\"button\" aria-controls=\"mep_0\" title=\"Fullscreen\" aria-label=\"Fullscreen\" tabindex=\"0\"><\/button><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div dir=\"ltr\" style=\"text-align: left\">\n<h3><span style=\"vertical-align: inherit\">Installation Guide<\/span><\/h3>\n<p><span style=\"vertical-align: inherit\">After Extract, view with your favorite player.<\/span><\/p>\n<p><span style=\"vertical-align: inherit\">Subtitles: None<\/span><\/p>\n<p><span style=\"vertical-align: inherit\">Quality: 720p<\/span><\/p>\n<\/div>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Download link<\/span><\/h3>\n<p dir=\"ltr\" style=\"text-align: left\"><a href=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Udemy_Building_Video_Call_App_with_Javascript_Supabase_and_WebRTC_2025-5.part1_Downloadly.ir.rar?nocache=1786140389\"><span style=\"vertical-align: inherit\">Download Part 1 \u2013 1 GB<\/span><\/a><\/p>\n<p dir=\"ltr\" style=\"text-align: left\"><a href=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Udemy_Building_Video_Call_App_with_Javascript_Supabase_and_WebRTC_2025-5.part2_Downloadly.ir.rar?nocache=1786140389\"><span style=\"vertical-align: inherit\">Download Part 2 \u2013 804 MB<\/span><\/a><\/p>\n<p dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">File(s) password: www.downloadly.ira<\/span><\/p>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">File size<\/span><\/h3>\n<p dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">1.8 GB<\/span><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Description Building Video Call App with Javascript, Supabase and WebRTC course. This comprehensive, project-based course teaches you how to develop a real-time<\/p>\n","protected":false},"author":1,"template":"","dgi_category":[10458],"dgi_tag":[45187,94222,94223,94224,94225,94226],"class_list":["post-11276","digital_item","type-digital_item","status-publish","has-post-thumbnail","hentry","dgi_category-video-tutorials","dgi_tag-christ-raharja","dgi_tag-course-building-video-call-app-with-javascript-supabase-and-webrtc","dgi_tag-download-building-video-call-app-with-javascript-supabase-and-webrtc","dgi_tag-download-course-building-video-call-app-with-javascript-supabase-and-webrtc","dgi_tag-free-building-video-call-app-with-javascript-supabase-and-webrtc","dgi_tag-free-download-building-video-call-app-with-javascript-supabase-and-webrtc"],"_links":{"self":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/digital_item\/11276","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/digital_item"}],"about":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/types\/digital_item"}],"author":[{"embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":0,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/digital_item\/11276\/revisions"}],"wp:attachment":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/media?parent=11276"}],"wp:term":[{"taxonomy":"dgi_category","embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/dgi_category?post=11276"},{"taxonomy":"dgi_tag","embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/dgi_tag?post=11276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}