Let's build WhatsApp with React Native and AWS Amplify [p2] 🔴

Поділитися
Вставка
  • Опубліковано 16 чер 2024
  • Let's build a Realtime Chat mobile application in React Native based on WhatsApp UI design.
    📚 Join the waitlist for "The Full-stack Mobile Developer" course
    academy.notjust.dev/
    🎒 Get the step-by-step guide and Asset Bundle
    assets.notjust.dev/whatsapp2
    Part 1: • Let's build WhatsApp w...
    If you are a beginner that wants to learn javascript and React Native, or an advanced javascript developer that wants to get into mobile development using react native then this tutorial is for you. This is a perfect opportunity to follow along and build this application together with us, and add it to your portfolio as it will help you land your next job.
    We will start building the WhatsApp clone from scratch, starting by setting up a React Native project using Expo all the way to building the backend using AWS Amplify. We will walk through designing the UI layout of the app, structuring everything in components, and putting everything together. We will also implement navigation between screens, header bars, and tab bars for the Whatsapp menu.
    For the backend, we will be using AWS Amplify, which is an amazing combination of tools and services from AWS, that helps us build mobile and web applications faster. It offers pre-made authentication components and flows, database, API (REST and GraphQL), storage, and much more. We will be using Graphql subscriptions for the real-time chat functionalities
    Doing the Whatsapp clone yourself is a great opportunity to practice React Native, modern Javascript, and AWS Amplify. We are always trying to use the latest technologies and best practices, so that's another opportunity to learn something new, being it functional components, hooks, state, navigations, or AWS and Amplify.
    🐱‍💻 Source code
    github.com/notJust-dev/whatsapp
    💬 Join the notJust Development gang and let's build together
    / discord
    Tag me on social media when you finish this build, and I will give you feedback on your project.
    Twitter: / vadimnotjustdev
    IG: / vadimnotjustdev
    LinkedIn: / vadimsavin
    Timecodes:
    0:00 Introduction
    0:38 Todays build
    06:03 prerequisite
    07:26 Create the amplify app
    15:19 Setup authentication
    43:23 Data model
    01:21:10 Users
    01:47:08 Chat rooms
    02:50:40 Chat
    03:16:47 Next week build ideas
    03:18:00 Outro
    Disclaimer: This build is for educational purposes only!! All views, opinions, technology choices expressed in this video are my own and do not represent the views, opinions, technology choices of any entity whatsoever with which I have been, am now, or will be affiliated.
    #notjustdev #whatsappclone #reactnative
  • Наука та технологія

КОМЕНТАРІ • 47

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

    Great Project, Great Pedagogical programming approach . A true Project Based Learning. Accessible for all beginner and even intermediate programmers. For the Backend part, I suggest Melt all the AWS DynamoBD Database schema into a SINGLE TABLE and use Partition Keys , SK and Even GSK to get rid of all those tables relations . Thanks

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

    Thank you very much, frankly I learned a lot following along, coding, making mistakes searching for problem source & correcting them, really it's was wonderful learning time

    • @notjustdev
      @notjustdev  10 місяців тому

      So happy to hear :) You rock

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

    Thank you for the detail in every video. Extraordinarily elaborate!

  • @ukaszmodzelewski7687
    @ukaszmodzelewski7687 Рік тому +3

    Great like always. Using ts would help with object fields and typos a lot, but I understand that you want to keep it as much simple as possible for new devs. You're doing awesome work here! Waiting for part 3

  • @thetechbrojoe
    @thetechbrojoe Рік тому +2

    I love your work. Nice work. I suggest adding the link to this video in the pt one description

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

    Man, thank you! your work is amazing

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

    Thank you please continue

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

    Nice work!! Waiting 3 part Greetings from Colombia

  • @joshbleijenberg4000
    @joshbleijenberg4000 8 місяців тому

    Great tutorial, are you planning on creating a course about the lambda function to combine the authenticated users with the users in the database?

  • @user-oq7rd2eu8r
    @user-oq7rd2eu8r Рік тому

    Nice Video! Looking forward your new update this Friday😄

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

    Would love to see a stocktwits clone next would be very interesting and something different!

  • @RohitKumar-rm3kc
    @RohitKumar-rm3kc 11 місяців тому

    such a great video
    loved your efforts ♥♥♥

  • @francoismonfret8108
    @francoismonfret8108 8 місяців тому

    Big GG

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

    Awesome man 👍. By the way can we use this one for production? And how to check and verify the scalibility, performance etc? If I wanted to check if it's applicable for production mode.

  • @bugsbunny3354
    @bugsbunny3354 8 місяців тому

    Really a good video but can you set this up using code not using the console of gui?

  • @kaydenangel3742
    @kaydenangel3742 3 місяці тому

    Hi there, great work! I would like to know if it's possible for two people or groups to chat on whatsApp then display on a QuickSight dashboard and for those same people in that group to also see the dashboard. Additionally, can others in another group see only their own dashboard? Is this possible?

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

    It would be great to see you TDD a project like this.

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

    Hi Vadim, I very much like your courses, I have watched many. Do you have a recorded course (even if it's a paid course) where you teach the backend implementation without shortcuts? I was left wondering how to do the proper linking between Cognito and Dynamo. I look forward to hearing from you. Thanks

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

    Hey mate. Love the React Native videos!!! Can you do a few Web 3.0 React Native apps please? Would love to see this :)

  • @b4uloveme
    @b4uloveme Рік тому +3

    Awesome video as always! I found that Amplify Content management page does not have view for selecting table and automatically generate data anymore, it only shows graphiql view, they have launched this new change on Nov 22, 2022 after your video, is there any other way to generate the test data in Amplify, so it would be easier for other viewers to follow.

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

    Great tutorial. I highly suggest to make Group screen and show the functionality of Mentioning people of that group. Reply on specific message and add reaction to message.

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

    Amazing Content! Please can you make read/unread messages? The blue tick that appear on the home screen saying that you have unread messages

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

    You are красавчик!

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

    Hello Vadim! I'm a bit late, but I'm still here!

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

    I'm thinking about signing up to your Senior plan, but first can you tell me what clones you have prepared in the future?

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

    Please, can you do a video about subscriptions and referral programs, is there a way to integrate referral programs with RevenuCat

  • @Wolfwarshadow
    @Wolfwarshadow Рік тому +3

    I'm also having problem with code at 2:01:40
    when creating userChatRoom
    new chat room is created, I have Id
    but when I'm adding user to that chat room, I get :
    Possible Unhandled Promise Rejection (id: 4):
    Object {
    "data": null,
    "errors": Array [
    Object {
    "locations": null,
    "message": "The variables input contains a field name 'chatRoomID' that is not defined for input object type 'CreateUserChatRoomInput' ",
    "path": null,
    },
    ],
    }
    and on amplify studio -> content-> chatRoom I see new room created....but no users in it
    I've also tried chatRoomId as name of the variable in input... but to no avail

    • @Sydrooo
      @Sydrooo Рік тому +7

      I also had this error and spent ages trying to find the solution. My solution was that 'chatRoomID' is no longer a field as of the date I am writing this comment, but instead you should use 'chatRoomId' with a small d. You can see this when you go into AWS AppSync -> Queries and when you open MyMutations and createUserChatRoom, you need to use the exact names of the fields. In other words: when Vadim made the video the fields for createUserChatRoom had 'chatRoomID' and 'userID', but now they are 'chatRoomId' and 'userId' so you need to use that instead (just change the big D into a small d in their names in your code). I spent way too long figuring this out cos I'm stupid.

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

      @@Sydrooo worked for me as well

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

      @@Sydrooothank you!!😊

    • @Ving-ex9yn
      @Ving-ex9yn Рік тому +1

      @@Sydrooo Thanks a lot mate
      😁

    • @GregT-gf9ny
      @GregT-gf9ny 10 місяців тому

      @@Sydrooo Yes, this worked for me as well. Thank you for explaining this to us!

  • @wandanichikanda5567
    @wandanichikanda5567 Рік тому +1

    hI iI'm getting an error for "Possible Unhandled Promise Rejection" at time 2:01:42. It's not navigating to the chat room and it's not creating a log in the AWS database

    • @Sydrooo
      @Sydrooo Рік тому +1

      I have the same problem, have you figured out what was wrong???

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

    Please add video calling voice calling and story uploading please complete it

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

    how to create aws account without debit or credit card?

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

    can we have the timestamps, please?

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

    Will i make any money after making this app.?

  • @BhoomikaR-rr1tt
    @BhoomikaR-rr1tt Рік тому

    how to resolve this error message : The variables input contains a field that is not defined for input object type 'CreateUserInput'

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

      you might want to ensure that you're passing a string for the fields in `CreateUserInput`. I think the phone number as the name field is kinda troublesome since that value would be recognized as an integer and not a string. This was how I found my solution.

  • @fperez.-
    @fperez.- Рік тому

    Hi! How you fix the message input text problem when keyboard show? 2:55:25

    • @fperez.-
      @fperez.- Рік тому

      I see that no issue in minute 3:08:48 but I didn't see where you fix that. Thank you in advance! 🤗

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

      are you use android platform??
      if yes, i can give my keyboardAvoidingView to you