React Video Chat App | WebRTC Video Chat Zoom Clone | Tabnine

Поділитися
Вставка
  • Опубліковано 6 січ 2025

КОМЕНТАРІ • 705

  • @fraction37
    @fraction37 3 роки тому +291

    You’re the reason I made it to the third round interview for a software engineering role. Thank you for all of your videos!

    • @javascriptmastery
      @javascriptmastery  3 роки тому +28

      Amazing man!

    • @surendrajat7290
      @surendrajat7290 3 роки тому +3

      wow

    • @ujjawal.pandey
      @ujjawal.pandey 3 роки тому +2

      Bro did you put this project in your resume? 'Cause I am also thinking of putting this one in my resume but I am confused like the HR might say "bruh this is a very small project"!

    • @ceriusgeek2749
      @ceriusgeek2749 3 роки тому +8

      @@beastboy.. That's why you're supposed to create your own version of it from scratch after following the tutorial. If this is done anyone taking this course will be able to create it from scratch.

    • @javascriptmastery
      @javascriptmastery  2 роки тому +6

      Hi there, I like your comment so much that I'd like to include it as a testimonial for my upcoming JSM Pro website. Do I have your permission to do that? :)

  • @CodeDreamer68
    @CodeDreamer68 3 роки тому +28

    Wow, cloned repo, did yarn install, made a couple minor bugfixes, and presto, it actually worked for me. Thank you! Now I get to really have some fun adding features like mute and disable camera, etc.

    • @javascriptmastery
      @javascriptmastery  3 роки тому +2

      Great, glad you like it!

    • @djobverse2140
      @djobverse2140 3 роки тому +1

      hey were you successful in adding features like mute and control audio? Im following this tutorial only for voice communication and need some resources that might help me do that .

  • @27sosite73
    @27sosite73 Рік тому +3

    You’re the reason I made it to the third round interview for a software engineering role. Thanky ou!

  • @jayakishore1234
    @jayakishore1234 3 роки тому +18

    JSM you are the reason I made it into the third round for a software developer role. I love your channel. Keep doing what you do. You have massively helped me in creating a good-looking portfolio as well. Bless you my man

  • @placideirandora7405
    @placideirandora7405 3 роки тому +9

    Thank you for sharing this video content. I have been searching for helpful content to help me implement WebRTC in my current project for the Video Chat feature and here comes your tutorial today. I'm lucky because the rest tutorials were not clear enough as yours. Thank you once again, you've saved me a lot of time!

  • @strawhat1583
    @strawhat1583 3 роки тому +11

    Thanks, bro! I requested the video and you really created a video on it. Thank you so much ❤❤❤

  • @orenalon5340
    @orenalon5340 2 роки тому +1

    Been looking for a tutorial for a month and this was the only one that actually hellped.

  • @HasanAli-vp6ci
    @HasanAli-vp6ci 3 роки тому +7

    Please add extra features like sharing screen,turn off video,audio.. fantastic tutorial by the way❤️

  • @softwares3080
    @softwares3080 3 роки тому +6

    let's not skip any add for JSM to help him create more content..

  • @c4g3dB34st
    @c4g3dB34st 2 роки тому +5

    As a beginner React programmer, I always wondered for a solution for a problem I faced in another one of my projects where I needed to get variables which I passed from another component. Using props didnt work. I learnt about useContext from this video, which was helpful for me. Thank you very much, you're doing a good job at teaching

    • @Emmb276
      @Emmb276 2 роки тому

      Hey @PapaStone, I am really struggling on this error and I don't know if you had this error before, I was wondering if you can help me. I received a error on 54:00, Uncaught (in promise) TypeError: Cannot set properties of undefined (setting 'srcObject'). Any possible solution?

    • @bpfxxlboy
      @bpfxxlboy 2 роки тому

      @@Emmb276 same here, it seems like the JSX is rendered after the SocketContext's job, so you might need to set a timeout before setting the srcObject in SocketContext.js, like this:
      useEffect(() => {
      navigator.mediaDevices.getUserMedia({ video: true, audio: true })
      .then((currentStream) => {
      setStream(currentStream);
      if (myVideo.current) {
      myVideo.current.srcObject = currentStream;
      } else {
      setTimeout(function(){
      myVideo.current.srcObject = currentStream;
      }, 1000);
      }
      });
      // ...

  • @bba4769
    @bba4769 2 роки тому +1

    Learning this alongside ChatGPT is a game changer

  • @art_of_bayar
    @art_of_bayar 3 роки тому +5

    One of the best JavaScript tutorials I have ever seen! Totally high-level polished, great content and easy explanation. Even thought I did not understand the SocketContext and Socket part, I really loved the tutorial. Waiting for more amazing tutorials!

    • @javascriptmastery
      @javascriptmastery  2 роки тому

      I love your comment! May I use it as a testimonial for my upcoming course platform? :)

    • @art_of_bayar
      @art_of_bayar 2 роки тому

      @@javascriptmastery yeah sure! Please continue creating such amazing tutorials!

    • @javascriptmastery
      @javascriptmastery  2 роки тому

      @@art_of_bayar awesome, contact me at javascriptmastery00@gmail.com please 👌

  • @Mahadev-x7u
    @Mahadev-x7u 3 роки тому +2

    One of the Best channels with amazing projects.... Thank you so much for your self-giving

  • @mohithguptakorangi1766
    @mohithguptakorangi1766 3 роки тому +6

    Your subscribe graph will become exponential in no time...good content!!!!!!

  • @soulfulmusic1080
    @soulfulmusic1080 3 роки тому +3

    Finally I host this application.
    I am thankful to you for this awesome project. I took help from ur's netlify video as well for hosting. Thank you so much!!!

    • @javascriptmastery
      @javascriptmastery  3 роки тому +1

      I'm glad, thanks!

    • @madhusaini22
      @madhusaini22 3 роки тому

      Hey dear one, please help me in notification section my code is running totally fine with no error but at last while clicking call button, I'm unable to get notification also and not getting call.... Plz 🙏 help really need this!!

    • @snehpipariya1259
      @snehpipariya1259 3 роки тому

      I am also facing this same problem.

    • @madhusaini22
      @madhusaini22 3 роки тому

      @@snehpipariya1259 had u fixed this bug? If so then plz help me🙏

    • @snehpipariya1259
      @snehpipariya1259 3 роки тому

      @@madhusaini22 not yet

  • @ratul1125
    @ratul1125 3 роки тому +5

    WOah! Thanks JSM for this video. I was looking for that :)

  • @Aryan-oc1fq
    @Aryan-oc1fq 2 місяці тому

    Thank you so much, now i get to add a project to my resume. I will let you know when i get placed.

  • @muftaudeenjimoh9678
    @muftaudeenjimoh9678 2 роки тому

    I have to say, your contents are beyond Golden...You are the best

  • @amirshammasov5479
    @amirshammasov5479 3 роки тому +5

    Another awesome project
    Damn, you really are good at this, thanks for all the valuable content)

  • @saticin
    @saticin 11 місяців тому

    Thank you for the Video. I'm new to the WebRTC. But I'm gain more and more withing a short time period. Thank you again.

  • @adante407
    @adante407 3 роки тому +29

    This is phenomenal. How do you know, and learn about the specific libraries and packages? Fantastic tutorial. You're continuously setting the bar. 👍

    • @javascriptmastery
      @javascriptmastery  3 роки тому +11

      Thank you Sean! I also keep learning and improving. A lot of interesting things on the internet :)

  • @niknacknutthapon4373
    @niknacknutthapon4373 Рік тому

    thank you so much for the VDO, i'm a junior dev and this helps me understand context and socket so much better. very well explain

    • @dhananjay7937
      @dhananjay7937 Рік тому

      Hey, have you successfully implemented this project?
      If yes, please share me the link

  • @rohitghosal3868
    @rohitghosal3868 3 роки тому +1

    You are just amazing and you are the bone of God to us... seeing your videos we all get inspired. Thanks. Love from India ❤️

  • @VivekSingh-cy9hy
    @VivekSingh-cy9hy 3 роки тому +1

    Sir you just became savior for me . I am looking for webrtc tutorial specifically in react and wondering if you will build this and now got this can't beleive this .❤️ lots of love huge fan

  • @cristionbrown
    @cristionbrown 3 роки тому +2

    Cant lie pretty good content. I actually woke up today wondering how to deploy a backend application and threw it on the "agenda" for whenever I got to it. You killed two birds with one stone. Thanks man

  • @arbigobiaalu
    @arbigobiaalu 2 роки тому

    Thank you for this course, had a really amazing time making this project.

  • @akinkunmi__
    @akinkunmi__ 3 роки тому +1

    Thanks a lot, exactly what I've been waiting for.
    Please can you make part two where a passcode is required to join a video chat and audio can be muted, video too, and also a little chat tab by the side.
    I will really appreciate it and others will too. God bless you.

  • @shudhanshushekhar3676
    @shudhanshushekhar3676 3 роки тому

    I have learned a lot from this channel.
    Keep it up JSM sir...

  • @marioibarra668
    @marioibarra668 3 роки тому +2

    Adrian, great tutorial. Amazing I learned a lot from this one. Thanks for the efforts.

  • @Codehood
    @Codehood 2 роки тому

    I can't thank you enough man for creating just awesome tutorials.

  • @thebeerministry
    @thebeerministry 3 роки тому +2

    Youuuu ore unbelievable , oh my words. we love you 💜

  • @holeinsingularity03
    @holeinsingularity03 2 місяці тому

    It's working , just need to update the material ui syntax , Good video, Thanks

  • @strawhat1583
    @strawhat1583 3 роки тому +5

    100k soon 💥💥💥

  • @Abhishek-uf5qp
    @Abhishek-uf5qp 3 роки тому +2

    This was really awaited❤️
    Thank you👍👍

  • @hamedjbbri
    @hamedjbbri 3 роки тому +1

    Thank you for the great tutorial.
    I am a fan of your channel.
    Please continue your fantastic job!

  • @MR-ww8ce
    @MR-ww8ce 3 роки тому +1

    Hey bro you have full filled my purpose of life I have been waiting for this tutorial a lot, there is few tutorial over the UA-cam

  • @juwonousk
    @juwonousk 3 роки тому +1

    Build Complete Quiz app with react. Your tutorial is very awesome and helping me to learn about react. Thank you.. 👍👍👍

  • @surendrajat7290
    @surendrajat7290 3 роки тому +1

    today i found your channel , it's great , i liked your video and subscribed

  • @codingprograms2078
    @codingprograms2078 2 роки тому

    That tab 9 is savage af 🔥 👌

  • @Emmb276
    @Emmb276 2 роки тому +5

    Hi guys! I was wondering if anyone could help me with this error that I received, I got an Uncaught (in promise) TypeError: Cannot set properties of null (setting 'srcObject') in 54:30. Help would be much appreciated, thanks!

  • @davithchhung7577
    @davithchhung7577 3 роки тому +1

    Great video tutorial! hopefully you add multiple users and chat box to this project :)

  • @adityaanand6910
    @adityaanand6910 3 роки тому +3

    Why are you so awesome sir? Guys don't buy courses, just come here🙂

  • @HarshX7726
    @HarshX7726 3 роки тому +1

    Superb JSM you are building awesome stuff very soon 100K
    Can you add Screen sharing and multiple users to stream at the same time.... That would make the app even more powerful and Insane

  • @RNMERIA
    @RNMERIA 3 роки тому +1

    Thank you soo much, such quality content . I keep waiting for your videos everyday

  • @karaoudriadh7419
    @karaoudriadh7419 3 роки тому +5

    Always making such awesome projects,you are simply BRILLIANT jsmastery,thank you.

  • @godfreyndiritu369
    @godfreyndiritu369 3 роки тому

    Thanks for sharing this helpful content for free. This will help me sharpen my js and nodejs skills. Thanks so much Man ☺️

  • @vivekmohan4271
    @vivekmohan4271 3 роки тому +28

    Hey JSM , it'll be cool to integrate this in your Microsoft Teams app

    • @javascriptmastery
      @javascriptmastery  3 роки тому +9

      Great idea Vivek!

    • @mickaelrichard7255
      @mickaelrichard7255 3 роки тому +2

      @@javascriptmastery even a quick video integrating this to your Teams app will save my futur career xD

    • @cristionbrown
      @cristionbrown 3 роки тому

      That was actually a thought of mine as well

  • @abubakardev3066
    @abubakardev3066 3 роки тому +1

    O sir you are amazing. I really liked your video. Best ever on UA-cam

  • @khandoor7228
    @khandoor7228 3 роки тому +2

    JSM your content is amazing!

  • @shashankojha3452
    @shashankojha3452 3 роки тому +74

    In the video, when you are installing the npm packages for the React App(like @material-ui/core @material-ui/icons ...) then you are inside the main project folder and not inside the client folder because of which when we use or in our React App there is an error thrown that states "Error: Invalid hook call. Hooks can only be called inside of the body of a function component...." .The following error is hard to judge and it might cause many peoples to get frustated and leave the project in between.
    How to fix it : Install the npm packages for the React App(like @material-ui/core @material-ui/icons ...) inside the /client folder .
    PS: I myself is not completely able to detect the real meaning behind the error displayed. Is it because there are two different versions of React available in same Project?? If yes, then How?? Could someone please provide an explanation for it.

    • @thebrewingtea1527
      @thebrewingtea1527 3 роки тому +9

      This comment should be pined at the top thank you for mentioning this

    • @kshitijprakhar1779
      @kshitijprakhar1779 3 роки тому +6

      Thanks man for this solution, i wonder how many tutorials i left just because of this problem, i was never able to find the right solution for this error.

    • @thekoder_prayas
      @thekoder_prayas 3 роки тому +3

      Appreciate It Man. Thanks a Lot. In total I wasted 1 Hour in Searching Stack Overflow and Bugs.

    • @shashankojha3452
      @shashankojha3452 3 роки тому

      @@054_heenaahmed8 try running "npm audit fix"

    • @mohcineamzyl7051
      @mohcineamzyl7051 3 роки тому +4

      all you need to do is to stop the server and run it after installing material ui package

  • @sumeethmoolya8773
    @sumeethmoolya8773 3 роки тому +11

    Please add mute option, screen sharing,emojis option like in teams app and recording options and also multi user.Looking forward to implement and release the video because we are learning a lot from you and my placement season is starting so it will be very helpful if you can add some mentioned features or others so that I can learn something more.Please make a part 2 of it.

  • @aravindks7636
    @aravindks7636 3 роки тому +1

    I loved his way of teaching :)

  • @reazourrahamanrabbi5594
    @reazourrahamanrabbi5594 2 роки тому +1

    You are my inspiartion. Love you bro

  • @legendssmarthub6805
    @legendssmarthub6805 2 роки тому

    Hey JavaScript mastery very amazing videos since 2 years u are the best uploading soo many videos usefully . May can u add a feature adding more than two people in a video call
    Thank u For ur videos !!!!!!

  • @47hacks40
    @47hacks40 3 роки тому +2

    Thank you so much. Your content is always unique and amazing. Please keep uploading react and nodejs videos. Can you make a video on payment gateway integration video in react and nodejs.

    • @javascriptmastery
      @javascriptmastery  3 роки тому

      Great idea!

    • @47hacks40
      @47hacks40 3 роки тому

      @@javascriptmastery Love you brother. Will be waiting for that. Bless you.

  • @bba4769
    @bba4769 2 роки тому +5

    For those having difficulty rendering the video, what worked for me was adding this to my ContextProvider:
    useEffect(() => {
    if (myVideo.current) {
    myVideo.current.srcObject = stream;
    }
    }, [myVideo, stream]);
    Essentially what I think happened was a looping error where:
    1. stream was null
    2. component was unmounted from the DOM
    3. the ref couldn't be set
    4. stream couldn't be passed to the unset ref
    The useEffect fixes this by keeping track of ref and state changes and updating it if a change occurs. So my understanding is:
    1. the stream gets set initially using:
    navigator.mediaDevices
    .getUserMedia({ video: true, audio: true })
    .then((currentStream) => {
    setStream(currentStream);
    });
    (but at this point there's still no ref so you cant set it here)
    2. the

    • @rsoorajs
      @rsoorajs Рік тому

      worked. thank you

    • @xlgablx
      @xlgablx Рік тому

      Thanks bro, even GPT4 couldn't come with a solution so simple like this one. God bless you

    • @manilal002
      @manilal002 10 місяців тому +1

      i change in existing useEffect or add new useEffect@@xlgablx

  • @sonurajp2766
    @sonurajp2766 3 роки тому

    As always awesome video mahn. Please make a video where we could disable the video and audio. Also would be great if this could be turned into a pwa app..
    Have been here from the start glad you are reaching 100k. Always here to support your quality contents.

    • @juniordev4190
      @juniordev4190 3 роки тому

      There is MDN documentation about mediaDevices API. Don't just rely on the video tutorials.

  • @skaramicke
    @skaramicke 2 роки тому +2

    To be able to connect another call without reloading the page you just need to remove the callaccepted hook on the socket.
    Notice that the callUser function has a socket.on('callaccepted', {}) part? That needs to be removed when the peer is destroyed.
    In the callUser function, after initializing the Peer, just do this:
    peer.on('close', () => {
    socket.off('callaccepted')
    })

    • @skaramicke
      @skaramicke 2 роки тому +1

      You might also want to reset all those call related state vars:
      peer.on('close', () => {
      setCallAccepted(false)
      setCallEnded(true)
      setCall(null)
      socket.off('callaccepted')
      })

  • @azizbekboyhamdamov994
    @azizbekboyhamdamov994 3 роки тому +1

    Thank you so much I am learning much interesting projects from your tutorials

  • @deepanshutejan9117
    @deepanshutejan9117 3 роки тому +3

    I have subscribed u with all my youtube accounts😁.And also ,Bro we need more features in it pls.(like screen sharing,chat).

  • @SUNYBOI
    @SUNYBOI 3 роки тому +2

    I eagerly wait for your videos

    • @javascriptmastery
      @javascriptmastery  3 роки тому +1

      Now you have it :)

    • @SUNYBOI
      @SUNYBOI 3 роки тому +1

      @@javascriptmastery you upload video weekly ....it will be very helpful for me

    • @SUNYBOI
      @SUNYBOI 3 роки тому +2

      @@javascriptmastery i have completed and deployed.....it is working awesome

    • @javascriptmastery
      @javascriptmastery  3 роки тому +1

      Awesome!

    • @SUNYBOI
      @SUNYBOI 3 роки тому +1

      @@javascriptmastery i have made and deployed all of your projects.....all are good

  • @richiemawunyo5493
    @richiemawunyo5493 3 роки тому +1

    Sir, I like your videos, you deserve ⭐️⭐️⭐️⭐️⭐️ 🔥
    You’re are awesome 👏

  • @mahendranath2504
    @mahendranath2504 3 роки тому +1

    I Loving it, nice, great work, I like the way you try to keep things exciting and interest

  • @ujjwol
    @ujjwol 3 роки тому +1

    Great video.
    I will like you to do a Zoom clone after this..
    It will be the ultimate challenge..
    Thank you

  • @SACHIN-gd6zy
    @SACHIN-gd6zy 3 роки тому +1

    You are a legend, You have a nice setup as well !!

  • @areyoukidding6274
    @areyoukidding6274 3 роки тому +2

    if possible help me . when i was clicking on call button then there was no response. neither a error nor the notification. i followed the same procedure as shown

  • @Aditya-ms1ll
    @Aditya-ms1ll 11 днів тому

    thanks man you saved a lot of time of mine

  • @ashisbhowmik348
    @ashisbhowmik348 3 роки тому +1

    Want more upgrade version. 👌👌👌

  • @ayushijain3340
    @ayushijain3340 3 роки тому +3

    Thank you so much for the video, really needed it :-D

  • @rajeshsingh-oh6zk
    @rajeshsingh-oh6zk 3 роки тому

    sir make a complete react tutorial from basic to advanced. sir your teaching technique is very impressive.

  • @ApurvKhare
    @ApurvKhare 3 роки тому +2

    Yes to more features

  • @aogunnaike
    @aogunnaike 3 роки тому +1

    Very valuable content, thanks for this bro. Now I gotta learn react

  • @Daddasoft
    @Daddasoft 3 роки тому +1

    super excited to create this thank's for this beautiful content

  • @sina-qh8wm
    @sina-qh8wm 2 роки тому

    thank a lot... please teach more about Socket & webRTC, like (mute microphone or webcam & ...) 😍

  • @ganeshkshet5631
    @ganeshkshet5631 3 роки тому +1

    I like ur video, great tutorial, you are fabulous, continue to upload more vedios

  • @up-beat-music
    @up-beat-music 3 роки тому +1

    you are the best teacher :)

  • @arbigobiaalu
    @arbigobiaalu 2 роки тому

    If you are having an issue with the dependencies, it has been addressed at 56:20

  • @chakrasactivation4663
    @chakrasactivation4663 3 роки тому +4

    I think client side is not listening to callended event broadcasted from the server.. in that case the app for the user who pressed the hang up button will work fine, but the other one will have to refresh manually....I think we can do the same as leavecall function while listening for callEnded event in useEffect hook...please lemme know whether I am right or wrong....excellent work btw

    • @akeelabbas2051
      @akeelabbas2051 Рік тому

      I was thinking the same thing. No one caught this mistake. Perfect that's exactly what I did and works. Thanks

  • @ethenGold
    @ethenGold 3 роки тому

    Nice explanation of steps bro👌

  • @imPriyankCoder
    @imPriyankCoder 3 роки тому +1

    this is one of the top channel. I hope you get lot more view very unique tutorials. How can you add screen sharing with video chat functionality. Could you please show us that on top of this

  • @ErAmolARokade07
    @ErAmolARokade07 2 роки тому

    I'm your biggest fan of theirs and I'm also following

  • @awaisraza2285
    @awaisraza2285 3 роки тому +1

    Man your content is gold

  • @changdaejung8411
    @changdaejung8411 3 роки тому +1

    Awesome tutorial. Thank you so much !! :)

  • @erikshumkov4848
    @erikshumkov4848 3 роки тому

    Thank you for sharing your knowledge. Now i'm gonna build something similar :)

  • @ashraf6850
    @ashraf6850 3 роки тому

    Your knowledge is wonderful ❤️

  • @szilardmolnar4232
    @szilardmolnar4232 3 роки тому +1

    Thank you! Great content as always!

  • @mdkutubail8848
    @mdkutubail8848 2 роки тому

    Thank you bro..... for your all videos

  • @surya.kasibhatla
    @surya.kasibhatla 3 роки тому +1

    Thank you so much for building this. I request this you created it

  • @sohamsaha5398
    @sohamsaha5398 3 роки тому +1

    Ah man !!!
    Thanks for this one♥️

  • @kirant9339
    @kirant9339 3 роки тому

    Thank you so much I am waiting for ur videos it's very useful

  • @hanbin4817
    @hanbin4817 3 роки тому +1

    Thanks you very much for your awesome and valuable content

  • @pranjalpatil8354
    @pranjalpatil8354 3 роки тому +1

    Can you please help, I am getting these errors :
    index.js:1 Uncaught Error: The error you provided does not contain a stack trace.
    localhost/:1 Uncaught (in promise) DOMException: Permission denied
    I am not able to move past 54:46

    • @ArunVutnoori
      @ArunVutnoori 3 роки тому

      You need to give camera & audio permissions , click the info on left of url and give permissions

  • @icewater3701
    @icewater3701 3 роки тому

    I LOVEEE YOU ! Mad Respect Bro!

  • @amrosaad9730
    @amrosaad9730 3 роки тому +1

    thanks for all the valuable content.

  • @xiaohushu7034
    @xiaohushu7034 3 роки тому +4

    Hey JSM, can you teach us something about how to create a stream media platform? such as a simpler UA-cam!

  • @jaedon01
    @jaedon01 3 роки тому

    Good day sir once again love this video.
    I suggest you add a sign up page

  • @saeedtlb4171
    @saeedtlb4171 3 роки тому

    It's the best webRTC app. thanks

  • @sarangkkl214
    @sarangkkl214 2 роки тому

    Thank you so much for this quality product

  • @axxellblaze
    @axxellblaze 3 роки тому +1

    Amazing tutorial, thank you :)

  • @coderazlan
    @coderazlan 2 роки тому

    Wonderful Done, Very Helpful