🔴 Let’s build ChatGPT Messenger 2.0 with REACT! (Next.js 13, Firebase, Tailwind CSS, TypeScript)
🔥 Save 10% on Hostinger using code SONNY here 👉 www.hostinger.com/sonny
🚨 Upgrade your coding skills by joining the world’s BEST developer community & course “Zero to Full Stack Hero”: www.papareact.com/course
📩 Want coding problems (with solutions!) delivered to your inbox daily!?
Sign Up Here: www.papareact.com/universityo...
Join me as show you how to build a ChatGPT Messenger 2.0 app with Next.js 13. You'll learn the following in this build:
👉 How to use the ChatGPT API to create your own AI chat bot!
👉 How to use different ChatGPT models when prompting the OpenAI API's
👉 Create API endpoints in your Next.js app to securely manage requests
👉 Connect Firebase v9 to your Next.js 13 application to create & store REALTIME chats with chatGPT
👉 How to build a fully responsive site with Tailwind CSS
👉 Leverage the power of Server components in Next.js 13 (and how to use client components alongside them correctly!)
👉 How to use the new App folder structure in Next.js 13!
👉 Dynamic page routing in Next.js 13
👉 Add HeroIcons to level up your app's UI!
👉 How to use TypeScript to reduce the overall number of Bugs and Errors
👉 How to deploy the final build on Vercel!
👉 How to connect the deployed domain name to a CUSTOM domain name with Hostinger
+ So Much More!
🔴 LOOKING FOR THE CODE? 🛠️
links.papareact.com/github
🎵 WANT TO LISTEN TO THE EXCLUSIVE PAPAFAM PLAYLIST?
Sign up for the PAPAFAM Newsletter here 👉 links.papareact.com/newsletter
👇🏻 FOLLOW ME HERE:
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
💰 WANT TO SUPPORT THE CHANNEL?
Donate here: links.papareact.com/donate
Grab some PAPA Merch: links.papareact.com/merch
🕐 TIMESTAMPS:
00:00 Introduction
01:03 Build Showcase
06:01 Build Tech
08:35 Hostinger Sponsorship
09:50 Zero to Full Stack Hero & University of Code
11:08 Setting up OpenAI API Key (1/3)
13:00 Setting up Firebase
14:45 Setting up Next.js & Tailwind CSS
17:16 Implementing Next.js v13 Features
23:18 Build Layout
27:49 Building the Home Page (1/2)
31:57 Implementing Heroicons
33:59 Building the Home Page (1/2)
39:03 Building the Side Bar Component (1/5)
42:40 Building the New Chat Component
46:16 Building the Side Bar Component (2/5)
49:31 Implementing NextAuth Authentication with Firebase
1:04:23 Building the Login Screen & Functionality
1:14:01 Building the Side Bar Component (3/5)
1:18:01 Setting up & Implementing Cloud Firestore
1:23:34 Implementing Create New Chat Functionality
1:33:13 Connecting to the Cloud Firestore Database
1:37:43 Building the Chat Row Component
1:50:32 Building the Side Bar Component (4/5)
1:52:09 Implementing Delete Chat Functionality
1:55:11 Building the Chat Section of the Home Page
1:58:50 Building the Chat Component (1/3)
1:59:11 Building the Chat Input Component (1/2)
2:08:15 Implementing Messaging Functionality (1/2)
2:11:58 Setting up Type Definitions
2:12:27 Implementing Messaging Functionality (2/2)
2:13:48 Implementing React Hot Toast Library for Notifications
2:21:19 Setting up OpenAI API Key (2/3)
2:35:12 Setting up Firebase Admin
2:43:56 Setting up OpenAI API Key (3/3)
2:50:56 Building the Chat Component (2/3)
2:53:33 Building the Message Component
2:59:03 Building the Chat Component (3/3)
3:05:26 Creating the Model Selection Component
3:05:57 Explaining & Implementing useSWR
3:09:18 Implementing React Select Library
3:15:05 Building the Side Bar Component (5/5)
3:16:43 Building the Chat Input Component (1/2)
3:19:38 Testing Different ChatGPT Models
3:23:33 Deploying to Vercel
3:28:37 Final Build Demo
3:30:20 Implementing a Custom Domain Name using Hostinger
3:36:28 Build Summary
3:38:45 Outro
Let’s get it PAPAFAM 🔥.
DISCLAIMER: This Video is made for informational and educational purposes only. We do not own or affiliate with ChatGPT, OpenAI or/and any of 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.
#chatgpt #reactjs #nextjs #javascript #openai #javascript #tailwindcss #tutorial #android #reactjs #ai
Sonny, how are you? Here Simon from Chile. I work as a concierge and since 2021 I have been enduring mistreatment and bosses who seek to solve their problems at my expense, the last month and a half I am already directly ill (psychically, physically and financially), so I have been studying for a while to be a frontend developer and change my life. A few months ago I found your KZhead channel and I must say that it blew my mind. I am immensely grateful for what you do, from your project-based courses, clones of well-known platforms, and even the music you use in your videos (which I didn't know, and in these difficult times, songs like "Honesty" or "You Blow My Mind" by Hallman help me feel better). Somehow I wanted to thank you and let you know that there are people you are helping to see the light at the end of the tunnel. I hope you are well, greetings!
This is an incredibly powerful message - thank you for sharing your story and I’m grateful I was able to positively impact your life 🙏🏽 Keep growing brother!!! 🔥 #PAPAFAM
This is so true!!! Thanks a lot Sonny!!!
For those getting stuck at 2:48:00 and finding the app not returning the answers from the openai api. Sonny used next 12 in this tutorial and in latest next 13 version routing/route handlers have been changed so the await fetch("api/askQuestion") in the chatInput component in this video no longer works. Anyone who tries to do this tut on Next 13 will get stuck here unless they opt out of using the recommended /app and use /pages instead. I might do a solution video on my channel using next 13 if enough people want to see the fix, like this comment if you want to see it.
I am using page directory for api then also i am facing the same error. please provide a solution
@@tejaswavhal2626 which next version?
@@InfraiNFORM i am using 13.3.4, can you please give me your code
Can you please make a video on how to fix it or share your code repository? I spent my whole day doing this just for it to fail 🤦♂️😂
please do a video
I went through the whole thing and learned a lot. Thank you for the wonderful content!
You are great sir, your way of explanation while coding is just amazing, this channel will get millions of subscribers definitely! alot of wishes for you just keep getting more and more success and keep shining and keep making this type of content for us... really thankfull to you from bottom of my heart!!!
Nice, had huge Fun building this and learned a lot ! Sonny, you are the best ! Looking forward to new Builds 😎
Wow, Sonny, your course on building a blog with Next.js, Sanity, TypeScript, Tailwind CSS, Auth, CMS, and Preview Mode was truly amazing! I just finished it and I'm blown away by the knowledge and expertise you shared. Your passion for web development shines through in every aspect of the course. From morocco I am grateful for the opportunity to learn from you. I am now planning to connect Sanity with ChatGPT to generate content more efficiently. I stumbled upon your channel and found this video and I just had to leave a comment to express my gratitude. Keep up the fantastic work, Sonny! You are an inspiration to us all.
Thank you so much for the kind words! Keep crushing, Sanity x ChatGPT sounds like an awesome combo!!! 🔥 #PAPAFAM
typescript is used or firebase is used in this video for backend?? please answer !!
@@kedarvyas7134 firebase
Great code along, thanks for sharing this. learning loads from your tutorials. Keep up the great work!
Thank you Sonny for your super amazing video. I love all that you do for developers. Every time I code with you I feel great energy and flow. Thank you once again, bro. Czechia is with you!
typescript is used or firebase is used in this video for backend?? please answer !!
@@kedarvyas7134 This tutorial is TypeScript and FireBase. There is Next.JS which is FullStack = frontend+backend
Those who aren't getting any response at 2:48:00 is due to OPENAI has stopped giving free access to API'S. Solution: Just setup a payment method for your API and Tie it with limit so you don't overexceed the cost you can't bear, for example like $2. After doing this things your API will work And generate Response. And you will get your query resolved.
One of your best Sonny! Loved it, keep up the great work
This ChatGPT messenger app tutorial is so amazing! The tech stacks used are also fantastic. Truly appreciate!
Thank you I’m glad you enjoyed it!!!
sonny would loveeee you to go deeper on models and AI based projects. Thank you so so much for your time and effort. You're doing incredible work and i'm grateful to have found this channel! much love
typescript is used or firebase is used in this video for backend?? please answer !!
Brilliant! Love these builds!
Impressive and seamless tutorial Sonny. I'll be checking you out moving forward. Thanks for the incredible value 👍.
This thing is crazy... actually giving me realistic busisness insights... tried its advice.. and actually givin profit.. feels like ive unleashed the genie outta the bottle..
Your passion and work are very impressive and it has been helping me a lot. Thx a lot.
Just finished the build myself and deployed it to Vercel. It works! Now, I've got an awesome place to host my own fine-tuned OpenAI models. I trained it with rap-lyrics and made OpenAI slur like a drunk sailor. Thank you so much, Sonny.
Your github link please
Fake. Show your GitHub profile to prove lol. Just another spam text
typescript is used or firebase is used in this video for backend?? please answer !!
@@kedarvyas7134 both are different
can u share please ur github repo link i want to check some code error that i am facing
Sonny your channel is AWESOME 🔥🔥🔥 This is my first time following your stream. Thank you so much!
Wow, wow, wow. I have never enjoyed a tutorial as much as this. The energy and vibe is unreal from Sonny it felt like a live hackathon. How he manages to do this live for 3 hours along with keeping the stream pumped is next level. Can't wait for more.
Thank you I’m glad you liked it!!!
Definitely here for more AI tutorials. Great video as always, Sonny!
typescript is used or firebase is used in this video for backend?? please answer !!
Sony bro, I really want to thank you for helping so much with ur livestreams and videos i learn a lot from you. Your teaching skills are amazing bro. You have taken my coding skills to a professional level. You are doing a Great job brother keep it up !!
typescript is used or firebase is used in this video for backend?? please answer !!
@@kedarvyas7134 firebase as backend
This was a marvelous build. Thanks for sharing..
can't love you less Sonny, keep doing the amazing builds, you're really pushing our skills with more than the speed of light😄, can't be tired of referring you channel to others
can u provide ur github link bhai
typescript is used or firebase is used in this video for backend?? please answer !!
Hey sonny. Great video as usual!!! After watching you video i created my own, hosted on vercel and its working perfectly. Your .env file tip was really helpfull. Thanks a lot and keep it coming!!!
Would you please share your repo with me ? i need the code because sony sangha not providing the repo for free
Great job! Thank you a lot! My chat have problems with little bit complicated requests. If I ask distance from Earth to the Moon - it answers normally. But if I ask "Write VAST Tag using SIMID Framework" - I had no answer and 504 error. Usual ChatGPT give my correct answer without problems.
This build is sick 📈🔥
its cool, btw what tools do you use to record and drawing on the screen?
Thanks for tutorial, all feature is working from start to finish!
1100 likes in 4 hours! Sonny you are smashing it lad!!! Dubai style lol 😎 just landed my first react native developer interview cause of you! I owe you man. Been hard work grafted did your deliveoo but added way more features and design style spent ages on it. Learnt / learned so much. Thanks bro!
Already got a degree but finding your channel has really helped me. Your a legend 👏 🙌
This made my day thank you for sharing dude! #PAPAFAM
@@SonnySangha I owe you!!! You are epic! Don't get me wrong still plenty plenty of hard work and effort for me to do but last 4-5 months been cool. I love coding again. ♥️
@@jackmullin8962 you’ve already repaid me by smashing it in your career dude, keep growing! 💪🏽🔥
@@jackmullin8962 I am very happy for you, How can I get in contact with you. I'm also a reactjs developer, I will like to have a chat with you. Hoping for your positive response
Love your work, awesome
+1 for Solidity and Ethereum based tutorials (ethersjs, wagmi, rainbowkit). Huge fan of videos showcasing projects start to finish. Til the next one!
typescript is used or firebase is used in this video for backend?? please answer !!
@@kedarvyas7134 typescript is used but also fire base for backend
This video gained you a subscriber, crazy build loved it !!!!!!!!
you're a gift!!!! learned so much from you
I lov the way you enjoy what you do🔥
Very much liked watching Steve Carell create this ChatGPT Messenger. Fantastic character!
This tutorial looks really interesting, im definitely gonna come back after learning typescript.
typescript is used or firebase is used in this video for backend?? please answer !!
@SonnySangha you are with no doubt the best teacher out there! Is it possible to update the repo or create a new video where we can use GPT-4 instead of GPT-3 because its a bit out dated now after 2 months only 😅😂 Thank you so much bro !
I will be trying to make a react native app using your video as reference.. thanks for this video
This was massive 🔥🔥
Again. The best course you can find. GRACIAS
sonny you are the best. Great project.
I can't even explain how Papa React is changing the IT industry scene. I've been closely following him since the clever programmer days, Just completed building this app and deployed successfully. Sonny my Man, you have earn respect from us . ++Respect
plus, you did get me my job as a Junior Full Stack Engineer. so ty for that as well.
May I ask if you apply transformer architecture to gpt chat messages?
this is so sick build
Fantastic video! Thank you very much!!!
Uniquely beautiful content 🔥🔥🔥
Amazing. Thanks, Sonny! You really should have 2-3x the subs that you do!
I love the way you put music on the background. I am starting to build this. Love from 🇳🇵
Thank you so much 😀🙏🏽🔥
This is best tutorial ! Please build part 2 of this with more advanced features. Also include the capability to display images as output of BOT.
typescript is used or firebase is used in this video for backend?? please answer !!
pretty excited for this...going to start it today.
You got this! It’s a lot of fun!
How did it go? I just finished mine and have found a few bugs. Was wondering how you solved them.
15:37 when I run this command in the terminal it creates the project with npm although I already have yarn installed. How did he create the project with yarn instead?
Amazing content. Really educative.
Thank you so much! Enjoy!!
Hi @Sonny would you please let me know how did you resize the browser windows in 3 different sizes so quick : ) at video time 1:42:21 Thanks
session always return undifined, why?
Thank you sir, I learnt a lot. By the way how to format the replies same with chatgpt that it automatically format like code, list or table
Because this is my favorite channel on the whole internet, I'm going to get the best membership there is and I'm going to come out to Dubai and give it to Sunny personally. Maybe in the spring. Got to go to England anyway so might as well take a detour to Dubai.
Those who aren't getting any response at 2:48:00 is due to OPENAI has stopped giving free access to API'S. Solution: Just setup a payment method for your API and Tie it with limit so you don't overexceed the cost you can't bear, for example like $2.
personal note: 2:48:12 is where i left.
ty for the tutorial
I had forgotten why I was watching your videos, but what a reminder on who you are!!! BLASTED!!!!
I appreciate that & I’m glad you’re enjoying the content!!! #PAPAFAM 🔥
great job papa react love from Ethiopia
Sonny, wonderful work on the video and the explanations. Everything in a few hours must have been a nice challenge. Do you know whether the chatbot could be pre-trained with a certain "story"/data, so that it knows the context, before I embed it's ..."intelligence" into a website/app? And then maybe even instruct the GPT API to ask some specific questions, which somehow, whatever placed, understand context and unlock...levels. Using the same platform and tools you have suggested, of course. Thank you very much for sharing your knowledge with the world. You are doing a really humanity service. If only everyone could see what we see about the potential of intelligence, and even the current growth in data absorption per...day.
Amazing video Sonny, thank you. In firestore, the collections inside the document are not deleted, is there a way to do it?
It is deleted only when there are no messages, but if there are messages the information persists.
Same here
Hi, Sonny great video .What if I want to add video messages. Where do I store videos? Which video player library should I use?
If you asking for firebase, use storage
@Sonny Can you do a video on 404 and 500 error pages in app directory? Especially in context of nested dynamic routes for i18n routing :)
Greetings from Brazil, esse cara é muito foda! O entusiasmo dele é contagiante.
🙏🏽🔥
Almost 200K 🔥🔥
I really like your content. Can you please help me with this error 'yarn' is not recognized as an internal or external command, operable program or batch file.
I love this man
amazing indeed 💯🔥🔥
Thanks bruh! 🔥🤙🏽
This app doesn't seem to be work now, I made it along with you on the live stream it was working when, but now suddenly it crashes when chatgpt did something with openai API key configuration ig Can you please make video about that, its now working now or is it just me whose app is not working?
Just you
Nice, I want to learn a bit about backend and firebase so this is perfect.
Awesome!
76 thousand views and only 2.5 thousand likes. kinda fucked up considering this is super dope content as far as tutorials go, its modern, useful, and high energy. Def deserves more love.
Hey I’m stuck on the authentication portion. After i click my profile to log in it says secure connection failed ssl received a record that exceeded the maximum permissible length i check my .env.local file and everything is fine so is the firestore configurations. Please help!
Is there any way to only use 1 model? I want to use gpt-3.5-turbo
On 2:48:21 I'm always getting "ChatGPT was unable to find an answer to that! (Error: Request failed with status code 429)" 😟 Anyone know how to fix? It never worked even with first request and I havent sent any request before this point.
Same
Fix it?
@@autoauto3021 No, I still get the same thing
Have you been able to fix this
Any fix on this one guys?
Hello to everyone!! I`m asking for help. When specify collection() I face like this error at 1:36:00- FirebaseError: Expected type 'Query', but it was: a custom CollectionReference object. What is the reason of it? Thanks in advance!
i actually can't get past the terminal tailwind css installation. i'm on windows so when i use the command line, it says "'npx' is not recognized as an internal or external command, operable program or batch file." do you know what i'm doing wrong?
how to add a dark/light mode switcher in this?? i tried for hrs but failed
idk if this just an error for me but to use the OpenAI api I had to connect my credit card to my account. The error code I kept getting was 429 and going into the openai discord I searched up my error code and looked for solutions. Seems like the only solution.
Hello, I needed some help with the server set up it seems the server is processing my request but is not sending the response to the saying hat the document path is incorect
can you edit the prompts like in the current chatgpt?
Hey Sonny! Your projects are extremely good! Pls make Telegram clone!
One thing I dont understand in your build with firebase, is the useCollection hook in the frontend. I suppose the hook makes sure to not leak sensitive data like Firebase API key to the frontend right?
I have same doubt on this... I've searched about this for an hours but couldn't have clear answer. Can anyone have an answer on this?
@@deeepxhit Here comes ChatGPT's answer: The useCollection hook in Firebase is a React hook that is used to interact with a collection in a Firebase Cloud Firestore database from the frontend. It does not directly prevent the leakage of sensitive data like the Firebase API key to the frontend. However, Firebase does provide security rules that can be configured to control access to data in Firestore. These rules specify who can access the data and what actions they can perform on it. By properly configuring security rules, you can ensure that sensitive data is not leaked to unauthorized users. In addition, Firebase also provides a way to store sensitive data securely using the Firebase Functions service. Firebase Functions allows you to write server-side code that can interact with your Firebase project, including accessing sensitive data that should not be exposed to the frontend. So, while the useCollection hook itself does not prevent the leakage of sensitive data, Firebase provides several mechanisms that can be used to ensure that sensitive data is not exposed to unauthorized users.
typescript is used or firebase is used in this video for backend?? please answer !
beats slapss so haaaard
Appreciate the awesomeness and I am getting Error: React Context is unavailable in Server Components, what did I do wrong. Code is fine, is it the browser?
I ran into the same error and it took hour to debug. I was importing the built-in session provider from next-auth and not the custom session provider that contains 'use client' /facepalm
@@asher-youtube thanks man , you solved my same bug. Have a good day
I just love your intro 😄
Hi Sonny , You are amazing ! I got stuck in the auth part, when I click on the "SignIn" button that links to Google I am sent to Next's 404 and not to google account 404. 1:09:42 Does anyone know what could be the reason for this?
found a solution, it was because I requested by localhost:3001 due to localhost:3000 running another project. I repeated the same with localhost 3000 and with the same email.
have you find a solution? have the same problem
If you are using the src directory , make a new pages directory on the root of the project , then move the [...nextauth].ts file to pages/api/auth/ , Hope This helps :)
Hey! 'SessionProvider ' cannot be used as used as a jsx component. It's return type 'void' is not a valid jsx element.
Maaaaan this is great. Thank you!
Ingenious 🎉❤
Great man🎉
Holy shit man you're amazing! What software are you using to livestream/record? E.g. how you're transitioning back and forth between screens and such? I'm looking to build how-to videos for an app I'm building..
Streamlabs! Thank you dude!!
@@SonnySangha thank you sir! On it!
I'm creating the next app by folowing your instructions but i'm not getting the same files that you have in your ide
This happened to me: 1:13:04 when I successfully login, the page still rendered the Login component. How can I solve this?
after deploying it on vercel openApi didn't response even on the firebase i didn't anything can someone help me out pls? on the vercel functions log it shows error not able to call /api/askQuestion
Thank you sonny
This project able to create free
Got stuck on client IDs. Looks like your GCP had an autogenerated OAuth client ID that matches your firebase client ID. Mine didn't generate that -- tried creating new oAuthClientID in GCP then replacing the firebase one. Didn't work! Any tips?
if youre running into this -- click the little question mark icon next to web SDK configuration in firebase google sign-in method.. then you click the blue link to GCP and itll get the autogenerated projects to show up
@@parkerrex can't thank you enough bro. I was stuck in this error for about 2 days. Then i read your comment. Now this error is resolved.
@@parkerrex Legend! Saved me a day worth of work at least! Thank you.
just replace the old GOOGLE_ID and GOOGLE_SECRET in you .env file
hey guys can anybody help me with this , i'm getting ChatGPT was unable to find an answer for that! (Error: Request failed with status code 401)
Have you been able to solve it
@@adeolaadeniji2886 yes
How did you solve it
@@rajuraman5773 how did you solved it ? please help.
Hello how did you solve this issue?
Off the chain😁