🔮 Let's build SLACK 2.0 with REACT.JS! (REDUX, Styled components & Firebase Hooks)

SdĂ­let
VloĆŸit
  • čas pƙidĂĄn 9. 05. 2024
  • 🚹 Join the world’s BEST developer community & course Zero to Full Stack Hero: www.papareact.com/course
    đŸ«‚ Join my Community, "University of Code" for FREE: www.universityofcode.com
    🔮 LOOKING FOR THE CODE? đŸ› ïž
    links.papareact.com/github
    đŸ“© Want coding problems (with solutions!) delivered to your inbox daily? www.papareact.com/dailycoding...
    Join me as I build a SLACK 2.0 REACT.JS Clone! (With Redux, styled components & NEW Firebase HOOKS functionality)
    đŸŽ™ïž PODCAST
    links.papareact.com/podcast
    🌍 SOCIALS:
    Instagram: links.papareact.com/instagram
    Facebook: links.papareact.com/facebook
    LinkedIn: links.papareact.com/linkedin
    Twitter: links.papareact.com/twitter
    Discord: links.papareact.com/discord
    Newsletter: links.papareact.com/newsletter
    ❀ SUPPORT
    PAPA Merch: links.papareact.com/merch
    Donate: links.papareact.com/donate
    🕐 TIMESTAMPS:
    00:00 Introduction
    01:20 Build Showcase
    03:03 Building Slack
    05:21 Setting up Firebase
    08:42 Starting the Build
    14:25 React Router
    23:34 Styled Components
    32:22 Building the Header Section
    53:36 Building the Sidebar Section
    1:41:45 Using Redux for Sidebar
    1:54:15 Building the Chat Section
    2:06:44 Building the Chat Box
    2:32:25 Building the Messaging Section
    2:46:56 Building the Login
    3:13:58 Deploying the App
    03:18:00 Final Build Demo
    03:19:55 Outro
    DISCLAIMER: This Video is made for informational and educational purposes only. We do not own or affiliate with Slack and it's subsidiaries in any form. Copyright Disclaimer under section 107 of the Copyright Act 1976, allowance is made for “fair use” of this video for education purposes.
    #reactjs #developer #slack

Komentáƙe • 246

  • @SonnySangha
    @SonnySangha  Pƙed rokem +1

    📬Do you want DAILY coding problems sent DIRECTLY to your Inbox? (with solutions the next day) 👉 links.papareact.com/university

  • @yashchauhan5710
    @yashchauhan5710 Pƙed 3 lety +19

    the most loved and most valued react dev on youtube ...tyyy u changed my life , I finally got a job

  • @andyb9990
    @andyb9990 Pƙed 3 lety +28

    Imma start calling Sonny 'The Mailman' because he always delivers! Thanks Sonny, I needed to work on styled components more.

    • @govindbchandran8681
      @govindbchandran8681 Pƙed 3 lety +2

      Or we could call him PostMan 😉

    • @alaahashem8900
      @alaahashem8900 Pƙed 2 lety +1

      can you help me bro ,
      when I write that, const [ user, loading ] = useAuthState(auth);
      this message is shown to me : auth.onAuthStateChanged is not a function
      i don't why

  • @nardopolo101
    @nardopolo101 Pƙed 2 lety +1

    Not even 10 minutes in and the energy is definitely up. You've got me for the long haul on this one.

  • @DirectionerMallou
    @DirectionerMallou Pƙed 3 lety +1

    I love the energy and the content , very clear explanations :D thank youuuu

  • @Ziva523
    @Ziva523 Pƙed 3 lety

    Good job. just finished rebuilding. thank you for your sevices

  • @superjke718
    @superjke718 Pƙed 2 lety +4

    Amazing energy. I'm an experienced backend developer however relatively new to React - just over halfway and loving this build so far. Keep up the good work Sonny.

  • @towaerio3355
    @towaerio3355 Pƙed 3 lety

    That was one of the best tuts I ever seen. Gj Sonny!

  • @abhinavdhama3014
    @abhinavdhama3014 Pƙed 3 lety +1

    sonny you killed it man .You are providing awesome content . Only thing got positive in my life during this corona is YOUR VIDEOS,TUTORIALS,CLONE BUILDS and now you are deleivering the styled components

  • @Vivekkumar-sy6te
    @Vivekkumar-sy6te Pƙed 3 lety

    Love this clone man.
    It taught me a lot
    Thanks bro

  • @velhobodegueiro7717
    @velhobodegueiro7717 Pƙed 3 lety

    Its great tĂŽ see you back on the online mentor track mate.... You are the One and only Mr Sonny! All the best from Brazil Man.... Cheers

  • @awakenwithoutcoffee
    @awakenwithoutcoffee Pƙed 2 měsĂ­ci

    now its ON! love the energy.

  • @DrewNorman
    @DrewNorman Pƙed 3 lety

    Papa FAM is the best community in the world. and we have the best teacher. Sonny you are blessed with coaching talent. Keep up this positive energy guys. I never in a million years figured I would be able to learn this stuff so fast.

  • @techware4649
    @techware4649 Pƙed 3 lety +1

    It's a Good move to do your own thing, your fire is burning hot enough to last a lifetime, keep on keeping on!

  • @TheDeeStain
    @TheDeeStain Pƙed 3 lety

    So happy you're on your own man! Much more efficient!

  • @crazeislive_cil
    @crazeislive_cil Pƙed 2 lety +2

    Hey sunny.
    Pretty awesome stuff. You are literally helping lot developers to make there careers.
    I have a small request, if you get some time please make a detailed video on ReactJs testing. I know its very important, and I am having pretty tough time on it, and I believe so does other developers.
    Thanks man for everything you are giving for free.

  • @towaerio3355
    @towaerio3355 Pƙed 3 lety

    Damn dude! This is awesome!

  • @irakiselyova4446
    @irakiselyova4446 Pƙed rokem

    Thank you! The best React app making tutorials on CZcams!

  • @johngalt3526
    @johngalt3526 Pƙed 3 lety

    Awesome dude, congrats!

  • @weixing8985
    @weixing8985 Pƙed 5 měsĂ­ci

    Thanks for doing this for free! I've been working as a full stack engineer for years and still can learn a lot from your video!

  • @subinneupane9223
    @subinneupane9223 Pƙed 3 lety +6

    I have learned so much from Sonny in 2 weeks than from my Uni in 2 years
    LMAO

  • @CandyMoney1000
    @CandyMoney1000 Pƙed 3 lety +6

    Holy shit.... so much better than the Clever Programmer collabs

  • @rohandeysarkar8443
    @rohandeysarkar8443 Pƙed 3 lety +2

    whenever I get stressed out :( ,
    I watch one of ur videos and code.
    Stress gone :)

  • @changdaejung8411
    @changdaejung8411 Pƙed 3 lety

    Amazing !! great content!

  • @nomanzafarzafar7912
    @nomanzafarzafar7912 Pƙed 3 lety

    Great effort bro. Keep it up.

  • @rreay724
    @rreay724 Pƙed 3 lety +7

    Man I'm so glad you broke off to do your own thing. I think it's much better quality and more focused when you're solo doing your own thing. Good for you, dude and thanks for all the content.

  • @sad6368
    @sad6368 Pƙed rokem

    Helped me alot.. Thank you so much Sonny 🙏

  • @rikipebrianto560
    @rikipebrianto560 Pƙed 3 lety +1

    wow, awesome project

  • @bhashkarjyanath2532
    @bhashkarjyanath2532 Pƙed 3 lety

    This was the first stream that I followed and I'm pretty sure that I will comeback to watch the future streams of you...#papa_fam

  • @star3am
    @star3am Pƙed 2 měsĂ­ci

    Your videos are so cool and very helpful thank you! Let's crush this thing!

  • @sadiedickinson7151
    @sadiedickinson7151 Pƙed rokem

    Love this clone man.

  • @nickbricewolfgang5857
    @nickbricewolfgang5857 Pƙed 2 lety

    We really love PAPA React

  • @setimarz
    @setimarz Pƙed 2 lety +5

    thanks for the great content! If someone is getting this error: Module not found: Error: Package path . is not exported from package try this in the firebase.js file
    import firebase from 'firebase/compat/app';
    import 'firebase/compat/auth';
    import 'firebase/compat/firestore';
    it worked for me:)

    • @kriptonVIP
      @kriptonVIP Pƙed rokem

      Thanks, and for correct working GoogleAuthProvider i add,
      import { GoogleAuthProvider } from "firebase/auth";
      and replace
      const provider = firebase.auth.GoogleAuthProvider();
      on
      const provider = new GoogleAuthProvider();

  • @devsmith948
    @devsmith948 Pƙed rokem

    Really really amazing video. I am sure it is so helpful to all developer.
    Thanks. Sonny

  • @nardopolo101
    @nardopolo101 Pƙed 2 lety +1

    And good morning btw. Gotta turn in, but I did crack the 10 minute mark, and will get through it anon!

  • @shivankpal
    @shivankpal Pƙed 2 lety

    Dude you are the best
    Thanks man

  • @daviddunnington6534
    @daviddunnington6534 Pƙed 3 lety +20

    Sonny can you add segments to your videos? It will help us find sections we need when re watching it also helps you show up better in search results.

  • @jayswaldisha4811
    @jayswaldisha4811 Pƙed 3 lety +1

    Ultimate content

  • @includeno
    @includeno Pƙed 3 lety

    😃it's amazing!!!

  • @TokenTreasure
    @TokenTreasure Pƙed rokem

    Just learning new things for you Sir⭐❀

  • @ganesha3559
    @ganesha3559 Pƙed 3 lety +7

    Nice tutorial. Recently in our office we tried to implement a Full Office Messaging Clone with a look of Slack. Though we succeeded in making the frontend with ease (it was done in Electron React) the messaging backend engine which could perform at scale was very difficult and needed quite a lot of research. Still there are cracks! But all in all good experience.
    So the take away what i got was, frontend could be materialized easily but to make a full product it takes whole lot more than just a simple tutorial.

    • @awakenwithoutcoffee
      @awakenwithoutcoffee Pƙed 2 měsĂ­ci

      good insights! looking back what would you recommend for a dev looking to prevent these issues ?

  • @sad6368
    @sad6368 Pƙed rokem

    Thanks man!! 🙏

  • @AlexanderAlemayhu
    @AlexanderAlemayhu Pƙed 3 lety

    Amazing!

  • @gabrielalejandromartinezla327

    Honestly man, i learn so much with this project, i going to recreate more things like this, really like. Your a genius, thanks for sharing your knowledge

  • @MultiTelefono
    @MultiTelefono Pƙed 3 lety

    Excellent video!!!!

  • @surendrajat7290
    @surendrajat7290 Pƙed 2 lety +2

    nice video papa fan

  • @DarkShadow-oh5di
    @DarkShadow-oh5di Pƙed 3 lety

    Wow That's Amazing 👏 😍. Expecting MS TEAMS Clone in the future. I am working on it but as a newbie I am not really getting it. I learned a lot from this tutorial. Thanks, Love from Pakistan đŸ‡”đŸ‡°

  • @tavcode
    @tavcode Pƙed rokem

    ALV este bato es un crack!!!!!❀❀

  • @TheDeeStain
    @TheDeeStain Pƙed 3 lety

    I can 100% tell Sonny you are a fan of Peter Mckinnon haha Thanks for the quality content!

  • @philipphilip5472
    @philipphilip5472 Pƙed 3 lety

    ur the best tutorials

  • @shopsrise5137
    @shopsrise5137 Pƙed 2 lety

    Learn so much. Thnku ReactGod #PAPAfam

  • @beefcakees
    @beefcakees Pƙed 2 lety

    I like your no nonsense policy, but you are still chillin' .

  • @perfectigbadumhe113
    @perfectigbadumhe113 Pƙed 3 lety

    this awesome

  • @chiroto
    @chiroto Pƙed 3 lety +1

    Amazed by your work but it is just the Slack interface with the chatrooms as the only functionality. I would like to see more than the chat (same as the facebook tutorial), more functionality and responsiveness!
    Good work on this part though, I've learned a lot, thanks!

  • @chelseas9974
    @chelseas9974 Pƙed 2 lety

    Just discovered this channel. I followed a bunch of the clones last year with Clever Programmer and honestly I got extremely annoyed by the constant yelling and interrupting during the whole videos. You were constantly interrupted and it just disrupted the whole flow for me. They were almost impossible to watch and enjoy but I watched it because you and the content itself was soooo worth it. But THIS is ideal. I’m literally so excited to find your channel. This is the best of both worlds!!! Thank you so so so much for this - you were the best part of clever programmer and I wouldn’t watch without you!
    No hate to the clever programmer team - the content was always pure gold. Especially for free!

  • @saadsheikh9395
    @saadsheikh9395 Pƙed 3 lety

    Man you are great 👍

  • @slavigeorgiev19
    @slavigeorgiev19 Pƙed 3 lety +1

    Sonny thanks for all the free amazing value content! Just an idea for future projects - the UK Freetrade app clone - react native :)

  • @mustaneerhaider515
    @mustaneerhaider515 Pƙed 2 lety +9

    It feels good to listen Sonny building the app from the scratch without Qazi irritating. I hate those build where everytime Qazi was disturbing and talking shit. But this build is amazing.

  • @ani68
    @ani68 Pƙed 3 lety

    I was bit late to the party.....but watching it now....😇

  • @zubairlohar3557
    @zubairlohar3557 Pƙed 3 lety

    You da best bruhh!!!!! Here is your like 👍👍👍👍👍👍👍👍 ... Infinite...

  • @krishgarg2806
    @krishgarg2806 Pƙed 2 lety +2

    1st of all, thank you so much for this tutorial.
    2nd for people watching it now, firebase's sdk has changed a bit so refer to the docs and change accordingly.
    Update: The react-firebase-hooks is not yet compatible with firebase 9.0.
    Update 2: react-firebase-hooks now supports Firebase v9.

    • @apollosurfer
      @apollosurfer Pƙed 2 lety

      As of November 3rd: React Firebase Hooks v4 has been released which supports v9 and also requires React 16.8.0 or later and Firebase v9.0.0 or later.

    • @krishgarg2806
      @krishgarg2806 Pƙed 2 lety +1

      @@apollosurfer yup, forgot to update the comment, thanks :)

  • @gabrieludo3092
    @gabrieludo3092 Pƙed 2 lety

    Interesting and Impressive good job Sonny

    • @gabrieludo3092
      @gabrieludo3092 Pƙed 2 lety

      But I've been trying to install FIREBASE all along but isn't working
      Any help offer is highly welcome and acceptable

  • @deeerby_
    @deeerby_ Pƙed 3 lety +1

    Great content Sonny! You're amazing buddy.
    One question, does using the firestore instead of realtime db works for messages and instant updates?

    • @zurkik
      @zurkik Pƙed 3 lety +1

      yes, it works very well for any type of chat applications.

    • @deeerby_
      @deeerby_ Pƙed 3 lety

      @@zurkik thanks for the reply mate, appreciated.
      So no need for realtime database at all?

    • @SonnySangha
      @SonnySangha  Pƙed 3 lety +2

      Hey! Thanks dude!
      Firestore is essentially the successor to real-time DB it has everything + more! (So yes!!!)

  • @abderahimaitchraa8497
    @abderahimaitchraa8497 Pƙed 3 lety

    thank you bro from morocco #Reactjs

  • @nardopolo101
    @nardopolo101 Pƙed 2 lety

    Still getting the energy up, even though you had crested 200 likes by the time I clicked.

  • @bandhandey2594
    @bandhandey2594 Pƙed 2 lety

    This is my first build. Created this whole app, deployed it! It is great!!!

    • @krishgarg2806
      @krishgarg2806 Pƙed 2 lety

      how did you work around with firebase hooks? As the firebase hooks don't support firebase 9.0 yet.

    • @bandhandey2594
      @bandhandey2594 Pƙed 2 lety

      @@krishgarg2806 are you getting errors importing?

    • @bandhandey2594
      @bandhandey2594 Pƙed 2 lety +1

      @@krishgarg2806 yes I ran into same errors and solved exactly like you did.

    • @AshishSharma-xc3iq
      @AshishSharma-xc3iq Pƙed 2 lety

      @@bandhandey2594 how did you solve all of this?

    • @bandhandey2594
      @bandhandey2594 Pƙed 2 lety

      @@AshishSharma-xc3iq what problems are you getting?

  • @elmoutaouakkilmohammed1432

    Thanks a lot

  • @JohnDoe-ru3um
    @JohnDoe-ru3um Pƙed 3 lety

    Awesome

  • @emilfagerholmfrzovic6576
    @emilfagerholmfrzovic6576 Pƙed 3 lety

    Awesome code bro! You're something special, could you add private chats between users next time? :)

  • @barklaysdon376
    @barklaysdon376 Pƙed 3 lety

    thank you sony

  • @brotat0
    @brotat0 Pƙed 3 lety

    Cool man

  • @devinlounge
    @devinlounge Pƙed 3 lety

    We can use nextJS with redux unless just react application? Because I'm with in love with nextJS... and love use with redux

  • @rahmeer655
    @rahmeer655 Pƙed 3 lety

    when I reach to sign in section I just found out that my header component is not rendering any solution

  • @letscode4011
    @letscode4011 Pƙed 3 lety

    I am the newest papa fam member

  • @zakialfaridzi3529
    @zakialfaridzi3529 Pƙed 3 lety

    can you make a tutorial on how to build a google forms clone using react? as i feel its quiet a challenge for beginner react devs because it had a bit complex forms, data storing, etc

  • @isaacsarte2708
    @isaacsarte2708 Pƙed 2 lety

    Hello, I am having this error even though I installed firebase:
    ./src/firebase.js
    Module not found: Can't resolve 'firebase'

  • @gokulkannan7883
    @gokulkannan7883 Pƙed 3 lety

    Hy Sonny, How to do action on click (Inbox, Draft etc) on the sidebar

  • @bidishadas832
    @bidishadas832 Pƙed 2 lety

    I could do almost everything apart from the real time update of the UI on sending chat. This is because I had to fall back on the traditional way as orderBy was not available on firestore latest version. I am getting useeffect loop if I try to update data realtme on ui

  • @Tipsy_Nomad
    @Tipsy_Nomad Pƙed 2 lety

    amazing ....

  • @namangupta092
    @namangupta092 Pƙed 3 lety

    at 1:39:03 on line 49 in the map function, how is it returning the SidebarOption element without actually providing the 'return' keyword?

  • @nehakumari-ub9rs
    @nehakumari-ub9rs Pƙed 3 lety

    Awesome content you made.. it would be great if there would be some contents on socket.io.

  • @asmitkumar9068
    @asmitkumar9068 Pƙed 3 lety

    Sir i am getting some firebase error when i try to query db of firebase it says data() is not a function db.docs.data() is not a function i tried a lot but can't solve thisđŸ˜«đŸ˜«đŸ˜«

  • @jaisalshah7731
    @jaisalshah7731 Pƙed 2 lety +2

    As always @Sonny Sangha is React God!
    What a fabulous build!
    Started my day with this awesome build.
    PS: Please share your playlist "Epidemic"

    • @SonnySangha
      @SonnySangha  Pƙed 2 lety

      Links.PapaReact.com/newsletter (simply sign up and you’ll get the playlist!)

  • @jandurcak8500
    @jandurcak8500 Pƙed 3 lety

    how do you import components on click?

  • @abdullashafi580
    @abdullashafi580 Pƙed 3 lety

    A real clever programmer

  • @chiragarora1700
    @chiragarora1700 Pƙed 6 měsĂ­ci

    @here I want to ask I am new in React so is the
    Guy using Redux in this??? As i knw nothing abt redux

  • @entertechinc
    @entertechinc Pƙed 11 měsĂ­ci

    lateest react-firebase-hooks :
    import {useCollectionData} from "react-firebase-hooks/firestore";
    import {collection } from "firebase/firestore";
    import { db } from "../firebase";
    const [channels, loading, error] = useCollectionData(collection(db, "rooms"));

    • @papakalasch2423
      @papakalasch2423 Pƙed 9 měsĂ­ci

      There was a problem with the .map-method. I got the following error: Cannot read properties of undefined (reading 'map').
      ChatGPT fixed it with:
      {channels && channels.map((channel) => (

      ))}

    • @papakalasch2423
      @papakalasch2423 Pƙed 9 měsĂ­ci

      The function const selectChannel = () => {
      if (id) {
      dispatch(enterRoom({
      roomId: id,
      }))
      }
      doesnt create an entry in the redux dev tools by clicking on a channel. I'm stuck here. does anyone have any ideas or can help?

  • @bhashkarjyanath2532
    @bhashkarjyanath2532 Pƙed 3 lety +5

    Although the messages are being added in the firebase database, but I'm unable to render and display it using React. Someone please help.

    • @TUR595
      @TUR595 Pƙed 3 lety +2

      Same. E: Turns out while iterating through each "doc" I used curlies instead of regular parentheses.

  • @Anto-mi5pn
    @Anto-mi5pn Pƙed 3 lety

    How much energy do you have to have to do this much consistently

  • @ronananderson
    @ronananderson Pƙed 2 lety

    Attempted import error: 'getDoc' is not exported from 'firebase/firestore'.
    Anyone have the solution for the above error? Thanks

  • @dsuniverse132
    @dsuniverse132 Pƙed 2 lety

    1:37:17 Keys for the win

  • @denilsonribeiro6862
    @denilsonribeiro6862 Pƙed 3 lety

    Hi! I love your codes. Can you clone pipefy or trello complete responsive website?

  • @kartikkapoor3599
    @kartikkapoor3599 Pƙed 3 lety

    Hey i liked it very much but what if i want to upload image along with normal text message
    Please guide if possible.

  • @abhinavdhama3014
    @abhinavdhama3014 Pƙed 3 lety +2

    hope you will use serverside rendering in future videos...

  • @nadir2k
    @nadir2k Pƙed 3 lety

    how many times are you gonna recreate slack?

  • @fastmovies1019
    @fastmovies1019 Pƙed 3 lety

    Go for mern stack too..why react only?we need node mongo too

  • @johndoe034
    @johndoe034 Pƙed 2 lety

    We need your music playlist, dude! :D

    • @SonnySangha
      @SonnySangha  Pƙed 2 lety +1

      Sign up to the newsletter and you’ll get it automatically dude!

  • @Fbabali
    @Fbabali Pƙed 3 lety

    Which color theme are you using?
    Ps. Awesome tutorial!

    • @SonnySangha
      @SonnySangha  Pƙed 3 lety +1

      The dark VS code theme!

    • @Fbabali
      @Fbabali Pƙed 3 lety

      @@SonnySangha đŸ™đŸ™‹đŸ»â€â™€ïž

  • @deltarunelancer2950
    @deltarunelancer2950 Pƙed 2 lety +4

    WHY IS THIS IN MY HISTORY????

  • @amantayal5709
    @amantayal5709 Pƙed 3 lety

    I am not able to import one js file into other js file in visual studio