Build a SaaS AI Platform with Next.js 13, React, Tailwind, Prisma, Stripe | Full Tutorial 2023

Поделиться
HTML-код
  • Опубликовано: 3 фев 2025

Комментарии • 1,6 тыс.

  • @codewithantonio
    @codewithantonio  Год назад +190

    Want to get mentored by me? Apply at www.codewithantonio.com/mentorship
    Hello everyone, thank you for choosing this video. In this tutorial you will learn how to build your own SaaS AI Platform and build 5 different AI tools using models like OpenAI and ReplicateAI. Checkout the description for links and subscribe to the newsletter! ❤

    • @durgashukla240
      @durgashukla240 Год назад +5

      Great brother

    • @Evil_E_ye
      @Evil_E_ye Год назад

      Music generation is not working in my case. I have checked everything even copy pasted your code. Still nothing works in replicate

    • @krishnachaitanya4067
      @krishnachaitanya4067 Год назад +3

      Your demo link is not working

    • @saurabhkumarsingh4628
      @saurabhkumarsingh4628 Год назад +1

      sir your website is showing error in live demo

    • @Evil_E_ye
      @Evil_E_ye Год назад

      @@saurabhkumarsingh4628 that is because he reached his set limit for spending in openapi and replicate

  • @Eventyret
    @Eventyret Год назад +82

    Amazing, next up will be the 10 hour E-commerce! Love the styling and the amount of details that goes into it.
    Can't belive this is free

    • @codewithantonio
      @codewithantonio  Год назад +12

      Glad you like it!

    • @felype_dev
      @felype_dev Год назад +3

      I also can't believe all this content is free. Congratulations on your excellent work.

  • @JorgeMenaDev
    @JorgeMenaDev Год назад +67

    Antonio, I must say, you are absolutely incredible! The quality of your content is truly unmatched, and I am genuinely excited for what is yet to come. Congratulations on your outstanding work!

    • @codewithantonio
      @codewithantonio  Год назад +2

      Glad you enjoy it!

    • @pandipatipavan3804
      @pandipatipavan3804 Год назад +1

      PLEASE provide the code files and the links in the description as soon as possible for free. ​@@codewithantonio Thank You so much ❤️

  • @danielkrsak4338
    @danielkrsak4338 Год назад +25

    Quality gets better by the day. I'm really enjoying the teaching approach you've decided to go for in your latest videos. Keep it up, Antonio!

  • @thedesigner987654321
    @thedesigner987654321 Год назад +209

    A note for anyone following along, the api code for openai has changed a bit since this video was posted, the api has the most differences so far. You need to use:
    const response = await openai.chat.completions.create({
    model: "gpt-3.5-turbo",
    messages});
    return NextResponse.json(response.choices[0].message);

    • @codewithantonio
      @codewithantonio  Год назад +11

      Thank you!

    • @rishabhgupta5974
      @rishabhgupta5974 Год назад +32

      or else you can force install older version of open AI by running `npm i openai@3.3.0` and follow the exact code in the tutorial.

    • @cricklightz
      @cricklightz Год назад +1

      @@rishabhgupta5974 bro still get the error AxiosError {message: 'Request failed with status code 500', name: 'AxiosError', code: 'ERR_BAD_RESPONSE', config: {…}, request: XMLHttpRequest, …}
      code
      :
      "ERR_BAD_RESPONSE" pls help

    • @jd2161
      @jd2161 Год назад +2

      @rishabhgupta5974 why would you do that? Its literally 10 times more expensive

    • @edutech8909
      @edutech8909 Год назад +1

      Hi please in the conversation/page.tsx I'm getting error: role does not exist in type OpenAI, same thing with content, I have updated my API to use the v4. Anyway around this ?

  • @nihal2516
    @nihal2516 Год назад +9

    I'm honestly blown away sir. This was my first ever proper project that was deployed and so well done. Your style of guiding us along was amazing and so well put out. Immensely grateful to you and these free top notch tutorials you put out.
    It took me 5-6 days to complete the project.

    • @avishtaukoorah9359
      @avishtaukoorah9359 Год назад

      can i have your github ?

    • @faisaliqbal6681
      @faisaliqbal6681 11 месяцев назад

      hello! As the Api key is free which he take from openai like for conversation,voice,image and video.

  • @adlerspencer
    @adlerspencer Год назад +84

    Congratulations, Sir Antonio Erdeljac, on your first sponsored video! 🎉
    You deserve this recognition for your amazing work as a developer and youtuber.
    I'm a huge fan of yours and I always watch your videos with great interest and admiration.
    This AI SaaS video is awesome! I was very excited about the content and the tips you shared.
    You are an inspiration to me and many other developers.
    Thank you so much for everything you have done for the community.
    I wish you much success in your journey and I hope to see more of your videos soon.
    🤗Veliki zagrljaj iz Recifea, Brazila! 🇧🇷

  • @yassinebenkhay
    @yassinebenkhay Год назад +19

    This is what startups build! I can't thank you enough, it's been a long time looking for complete tutorials like yours, Thank you so much Antonio for this great work! I am learning a lot from your channel so I can go and apply the knowledge to build my own SaaS.
    Keep up the good work.

  • @marciplan
    @marciplan Год назад +74

    You have to take a shot everytime Antonio says "Amazing" -- it's the law

  • @johnadriandodge
    @johnadriandodge Год назад +5

    Gosh Mr. Antonio, there are so many frameworks, libraries, packages, companies and services which are required for this Fullstack MAGNIFICENT APP.
    This has got to be the very best AI SAAS App, I have ever seen to date.

  • @Kevin-jc1fx
    @Kevin-jc1fx Год назад +9

    Antonio is back again with top quality content. Thank you very much bro. Happy for getting the first of a long list of sponsors. Upward and forward. 👏👏👏

  • @vksskssks
    @vksskssks Год назад +17

    As a CSE student, I highly commend your quality beginner-friendly tutorials for aiding web programming understanding, so smooth..

  • @skhomo
    @skhomo Год назад +4

    This video deserves views more than the longest video on youtube, i will keep on coming back to it - it is part of my playlist. so much value, i would recommend it for any entrepreneur venturing online.

  • @easilyCoded
    @easilyCoded Год назад +21

    Wow!! This is incredible! Thought JS Mastery was the only beast on RUclips, but your style and explanations are incredibly great. Thank you and Please keep it up. More subscribers are on their way.

    • @codewithantonio
      @codewithantonio  Год назад +6

      Glad you like it, JS Mastery is amazing!

    • @jafarghorbani-vh4qb
      @jafarghorbani-vh4qb Год назад

      Good Antonio 🎉 can I thief your ideas and mix with golang and svelte? ❤❤😊

    • @apnaCodingSchoolOfficial
      @apnaCodingSchoolOfficial Год назад +1

      Yea after ja mastery your video is very much helpful

    • @didosrukundo3271
      @didosrukundo3271 Год назад +3

      TRY Lama Dev, you will see

    • @easilyCoded
      @easilyCoded Год назад

      @@didosrukundo3271 Lama Dev only build navbar and bunch of divs. No quality project with APIs and Libraries

  • @guardian1243
    @guardian1243 Год назад +5

    I was just doing your twitter tutorial but when I saw this, I stopped and started straight away on making this! it is a dream of mine to make an AI! Thanks for all the amazing work!

  • @TheGaoNan
    @TheGaoNan Год назад +7

    As always, Antonio is providing tons of great value for the community, every time you upload something I just know its going to be awesome!
    Thank you!

  • @oscarokereke2675
    @oscarokereke2675 Год назад +3

    This is massive, I've been waiting for you to drop the video. Also congrats on your first sponsorship. You're doing very great

  • @avishekdas4947
    @avishekdas4947 Год назад +5

    I think this the first video on RUclips development of a whole SaaS. Love from India ❤️. Keep it up.

  • @dbenfouzari
    @dbenfouzari Год назад +2

    Congratz for your first sponsor Antonio, you deserve it!
    I'm looking forward to watch your video!

  • @mistersir3185
    @mistersir3185 Год назад +4

    Man what am I doing not subscribing to your channel?! Your channel is so underrated, I will tell my friends about your channel bro, I gotchu!

  • @SuperPompey77
    @SuperPompey77 Год назад +3

    wow another tutorial. what great timing just after i finished the ecommerce one yesterday. but I'm going to rest today and get started with this new one tomorrow or Friday. I am so grateful for all of this high quality tutorials from Antonio. Thankyou sir !

    • @codewithantonio
      @codewithantonio  Год назад +1

      You got this!

    • @RealityMXI
      @RealityMXI Год назад

      Hey the OpenAi Api is charging now, its not free anymore, Any alternative we can use?

  • @mehdichamiani6838
    @mehdichamiani6838 Год назад +8

    Man, words can not describe how I am grateful for your contents. Your desire and quality is exceptional, hope to have you always like this in coming years. Remain valuable please ❤

  • @SuperPompey77
    @SuperPompey77 Год назад +2

    finally got this build completed and it worked first time without any problems. once again i thank Antonio for his great tutorial and hard work in producing these tutorials. I am learning lots and am very grateful.

  • @GavinHHHH
    @GavinHHHH 11 месяцев назад +34

    add "asChild" to fix hydration errors,

    • @arkaacharya_7047
      @arkaacharya_7047 10 месяцев назад

      also the free tire of planetScale is gone

    • @junaiid0104
      @junaiid0104 5 месяцев назад

      thank you buddy!

  • @shorts_faceless
    @shorts_faceless Год назад +7

    love the fact that you're using shadcn -- not only because it looks good, but also because it allows you (and therefore us) to better focus on the core parts of the application instead of writing hundreds of tailwind classes and tens of small components

  • @mohitcodeswell
    @mohitcodeswell Год назад +9

    Really appreciate your teaching style and how you managed to teach side topics which generally become big issues and beginners have to look out of RUclips windows. I wish you would make an advanced projects that focuses on free tools and gives us detailed idea about Industry level software. Thank you for this one!

    • @ujjwalmaheshwari2327
      @ujjwalmaheshwari2327 Год назад

      can you tell me is openai api is free or not?

    • @mohitcodeswell
      @mohitcodeswell Год назад

      @@ujjwalmaheshwari2327 It's complimentary for newcomers, at least for a limited duration, I presume.

    • @ujjwalmaheshwari2327
      @ujjwalmaheshwari2327 Год назад +1

      @@mohitcodeswell ohk Thanks buddy!

  • @BransTiong
    @BransTiong Год назад +3

    Took me awhile, but finally done with this tutorial! Time to start selling this as a SaaS!! THanks bro

  • @aadarsh8306
    @aadarsh8306 Год назад +4

    Awesome @codewithantonio - Please make more videos for SAAS, its so helpful and we get to learn a lot about building saas from scratch

    • @jd2161
      @jd2161 Год назад

      I agree more

  • @ismailk7021
    @ismailk7021 Год назад +1

    My man you are absolutely the best! I have built a half assed saas product, following the docs, but now I can finally see how to do it. Thanks man. Keep up the good work.
    You got your self a new subscriber.

    • @codewithantonio
      @codewithantonio  Год назад

      Happy I could help!

    • @ismailk7021
      @ismailk7021 Год назад

      @@codewithantonio I do have 1 question though. I am going through the video, but for some reason I can't install shadcn...I get some error about a missing module called minimatch...Do you know how to fix that issue?

    • @ismailk7021
      @ismailk7021 Год назад +1

      Actually I ran the wrong command... 😅

  • @timattracts
    @timattracts Год назад +3

    You are wonderful at what you do! First time using Shadcn, Stripe & Clerk and I love it!! So fast!! Thank You

  • @aryanhegde9836
    @aryanhegde9836 Год назад +2

    Finally I Got some SaaS app... I have been searching for it for many days. There's no good SaaS app. thank you very much. I hope u keep doing these kinds of apps often😊

  • @jonathanramirez6187
    @jonathanramirez6187 Год назад +4

    Wonderful, I've been doing your tutorials so I can enter the industry. I've learnt so much from you. Thank you, thank you, thank you. Keep the excellent work Antonio! 👏👏👏

  • @becomeCTOwithmario
    @becomeCTOwithmario Год назад

    Woooooo! Congrats on the first sponsor. First of many. You've inspired and motivated me to what's possible and I thank you. Wishing you all of the success that is already determined for you bro

  • @jichaoan7484
    @jichaoan7484 Год назад +6

    I just finished my 1st app with Antonio🎉 I’m gonna list the challenges I have encountered during the past week: 1. OpenAI api has been changed, the pinned comment on the 1st page helped me out. 2. The image generation also changed, for me, I can only generate 1 image a time for the latest dall-e-3 model, if you want to have multiple image generations at 1 time, the doc says do parallel requests to achieve that(I’m lazy I just limited the option to 1 page only). Thanks again Antonio, amazing job! Wish you happy new year!🎉🎉🎉

    • @codewithantonio
      @codewithantonio  Год назад

      Great job!!

    • @sudhanshugautam425
      @sudhanshugautam425 Год назад

      No my image option is working fine, I am able to generate 4image too, and I want to ask you how you created the database in planetscale as it is asking card details.

    • @shs4293
      @shs4293 Год назад

      ​@@sudhanshugautam425any updates??

    • @yashikanagpal6010
      @yashikanagpal6010 11 месяцев назад

      Hey can you please share your github
      I am doing changes but they are not working for me

    • @zeon8380
      @zeon8380 11 месяцев назад

      Good to hear that, I am stuck in the image generation, can you please share how to change the code for image generation?

  • @nguyenhongson5749
    @nguyenhongson5749 Год назад +1

    Thank you, Antoni. I have watched many of your videos, but this video you taught very carefully and in detail. Lots of love!

  • @spacecoder0526
    @spacecoder0526 Год назад +3

    One like button is not enough for your content. You're the best Antonio!

  • @curtiskelton9760
    @curtiskelton9760 Год назад +1

    I have been looking for this type of channel for a long time. Thanks so much Antonio!

  • @s9saiyajin
    @s9saiyajin Год назад +15

    A quick tip for the Hydration Error at 1:07:30. This error occurs because you've enclosed the button from @/components/ui/button within the SheetTrigger component, which is, in essence, another button. To wrap a button inside a button isn't compliant with HTML syntax, resulting in the error being triggered. One potential solution would be to eliminate the Button component and directly wrap the menu within the SheetTrigger component.

    • @sunji568
      @sunji568 Год назад

      Change the Button component to a span or i element with the className="md:hidden" is better otherwise the icon will not be hidden on large screen.

    • @davidvillamil3387
      @davidvillamil3387 Год назад

      @@snoviie you saved my life

    • @l.uke_
      @l.uke_ Год назад

      @@snoviie fixed it for me too. Thanks bud

    • @jovan_spasovic
      @jovan_spasovic Год назад

      Literal lifesaver. Thank you so much.

    • @adharshs1211
      @adharshs1211 Год назад

      You can avoid hydration error by modifying in the navbar file(/components/navbar.tsx)
      By adding import package and changing the export function.
      import dynamic from 'next/dynamic ';
      export default dynamic (()=> Promise.resolve(Navbar),{ssr:false})

  • @judevector
    @judevector Год назад +1

    Wow finally it has dropped,the most anticipated video on RUclips 🎉🎉, thank you Antonio you are a rare gem

  • @peteresezobor7
    @peteresezobor7 Год назад +3

    You are awesome Antonio. You can't possibly imagine how much you've helped me. Thanks. I'm really grateful.

  • @julia_rodrigo
    @julia_rodrigo Год назад +2

    So happy I'm here! Congratulations on your first sponser video! :) You've helped me so much and im looking forward to this tutorial

  • @maharshiguin7813
    @maharshiguin7813 Год назад +3

    Absolutely amazing, i used to do webdev in django but learned react and nextjs just to follow along with your brilliant tutorials

    • @codewithantonio
      @codewithantonio  Год назад +1

      Glad I could help!

    • @SageSoundd
      @SageSoundd Год назад

      How is it superior to just vanilla JS html and css(beginner here)

  • @TheJockerproductions
    @TheJockerproductions Год назад +1

    Amazing tutorial, cant thank you enough for taking the time to provide all this content to the rest of us for free !
    it was exciting following along up to the api section where i got totally lost, it will help alot once the repo gets updated

  • @julesmules0901
    @julesmules0901 Год назад +2

    Hvala ti puno za ovaj tutorial! Pozdrav iz Njemacke

    • @codewithantonio
      @codewithantonio  Год назад +1

      Drago mi je da je pomogao! :)

    • @mrk01125
      @mrk01125 9 месяцев назад

      Oopa. Svaka cast Antonio!

  • @bikesbeersbeats
    @bikesbeersbeats Год назад +3

    after fighting with next-auth and iron-session for hours and hours, clerk is imcredible!

  • @mochemiguel1233
    @mochemiguel1233 Год назад +1

    You are a beast!! Amazing and congrats for your 1 sponsored video

  • @rudinhok
    @rudinhok Год назад +3

    I love you, in 2 videos i see i learn more than 10 courses i made in udemy, you are a machine! keep the good works, congratz on your sponsor, now i have to become a member, i really enjoy this channel.
    And of course, if I can make a suggestion, I would say to build a more "simple" application covering the basics of react, that is to build something using only react and vite for example to help those who still have some difficulties in understanding react basics, if already exists on the channel, I'm sorry, I'm marathoning things here :)

    • @codewithantonio
      @codewithantonio  Год назад

      Glad my videos helped you, and thank you for the suggestion!

  • @jrtm9632
    @jrtm9632 Год назад +1

    Dude I’m still digesting your last video, sheeesh, big props bro, I’ll get to this one soon

  • @agamydesign
    @agamydesign Год назад +14

    Thank you man, I learned Typescript because I loved your explanation❤❤

  • @TimDake-y2o
    @TimDake-y2o Год назад +1

    Thank you so much Antonio! this is what I have been looking for and to be able to add voice query to the conversational Ui FUNCTIONALITY
    I pray you continue giving us projects like this

  • @abdelrahmanmedhat2182
    @abdelrahmanmedhat2182 9 месяцев назад +3

    YOU'RE ABSOLUTELY AMAZING!, Thanks so much from Egypt!

    • @codewithantonio
      @codewithantonio  9 месяцев назад

      You're so welcome!

    • @abdelrahmanmedhat2182
      @abdelrahmanmedhat2182 9 месяцев назад +1

      @@codewithantonio thanks!, i have a question in your NEXT-AUTH v5 course, there’s a logic doesn’t make sense to me in /actions/new-verification.ts, Which is u was trying to update user email from VerificationToken model in case it requested by user to change his email so user email on his VerificationToken will be different than one that on User model, but in a previous step u were throw error if the email of VerificationToken is not found in User model, can you please revert on that because i feel there’s something i misunderstood, Thanks for your efforts!

  • @dart_ariz604
    @dart_ariz604 Год назад +9

    If you are getting error after deploying on Vercel 5:30:36 ,the reason is that the AI generation function takes more than 10seconds to generate a response but Vercel only gives 10sseconds of function running time on free tier. So either upgrade to prop plan on vercel and update all your AI generation routes with
    export const maxDuration = 300;
    or simply choose another hosting platform like AWS or Linode
    Thank You

    • @hanspreinfalk8072
      @hanspreinfalk8072 11 месяцев назад +1

      Hi, I am facing this error. Can you give me more details on how to add maxDuration in the api routes? Thanks!

    • @MalcolmMutare
      @MalcolmMutare 8 дней назад

      I'm struggling with this how do i implement it in the application?

  • @DisasterSPA
    @DisasterSPA Год назад +2

    Your videos are such a blast to watch and also very informative. As you'd say "Great, great job!"

  • @domz19901
    @domz19901 Год назад +3

    Antonio, your work is truly a well-explained and exceptional masterpiece. Please keep going.💻

  • @koobessah
    @koobessah Год назад +1

    This is wow and amazing. My first time watching your video and I'm blown away. Keep it up mate and many thanks for sharing this nugget of gold.

  • @3minutesbibletruth
    @3minutesbibletruth Год назад +3

    The content you provide is massive. I'm a react engineer and I wanted to advance my skill and here I am

  • @ItzAyon
    @ItzAyon 11 месяцев назад

    Amazing work Antonio! I just finished this tutorial and I can't believe how much effort you have gone through to teach us some many different things using a single application. Really appreciate your time man, looking forward to many more! Much love from Australia 💙

  • @SavagesoundsincTV
    @SavagesoundsincTV Год назад +15

    Hello Antonio from New York, USA! First I’d like to thank you for the great video tutorials. I completed the Netflix clone last week and really enjoyed it.
    I’d like to share something with you and everyone about the Shadcn “Sheet” and Button components for the mobile sidebar. I was getting render errors in the browser - server and client renders were not matching and was throwing an error at the node in the mobile sidebar. The part of the code where the custom buttons are wrapping around the Menu icon from lucid.
    Turns out that when you use the Sheet component and then wrap like this:
    It will throw the render error. It looks like SheetTrigger in and of itself IS a button element, so adding the additional Button is an issue. If you just remove the custom button tags and just have the Menu wrapped around the SheetTrigger elements, it will clear that error. Hope that helps someone!
    Thanks again Antonio!!
    Lew Savage

    • @codewithantonio
      @codewithantonio  Год назад

      Thanks for that info, it will help someone and I will keep it in mind!

    • @anchitsinha8821
      @anchitsinha8821 Год назад

      Thanks man!!! It was really helpful.

    • @tommykim3061
      @tommykim3061 Год назад

      Thank you so much!
      Also, don't forget to add 'md:hidden' into className of 'Menu' :)

    • @thebooktutor
      @thebooktutor Год назад +1

      seems to work for me

    • @vansaber
      @vansaber Год назад

      Thank you! It was helpful

  • @quantaraum
    @quantaraum Год назад

    wow just wow. i appreciate this detailed and step by step tutorial alot. this is one of the first youtube tutorial which i could follow from start to finish. i reckon this took alot of work so i just wanted to thank you so much. you are doing god's work. i had to figure out the gpt-4 version on my own since the update but this was actually quiet fun. you are genuinely the best at explaining, going through it step by step so it's organized and clear. cheers!

    • @nurasxni
      @nurasxni Год назад +4

      How did you figure out the gpt 4 version? I’m currently stuck please help

    • @j2devstudio
      @j2devstudio Год назад +1

      I'm also stuck. trying to follow the docs and adapt the code. can you share your repo link ?

  • @mahafujhossain7708
    @mahafujhossain7708 Год назад +5

    In future I hope you will give us more projects like that🎉
    Your all projects are unique and we hope that you will gift us more projects that will help our future journey ❤️❤️❤️
    Thank you sir🎉❤

  • @nguyendung8508
    @nguyendung8508 Год назад +1

    All love, you're creating next-gen devs left right center !

  • @johnadriandodge
    @johnadriandodge Год назад +1

    Shalom evening Mr. A, this looks FANTASTIC and very much involved.
    Interestingly enough, I had previously wrote a post about having an app which can perform multiple forms of AI service.
    And this is it but so much more. I did not know AI could generate audio files or video files.
    Thank you for sharing!
    Shalom

  • @niteshprajapat7918
    @niteshprajapat7918 Год назад +17

    You are amazing Antonio Sir ❤
    Every single time, you drop an incredible projects 🎉🔥

  • @atmanirbharofficialindiaon2789
    @atmanirbharofficialindiaon2789 Год назад +1

    Lol i quickly went through the video and mentioned this in my projects section and my interviewer was thoroughly impressed, even tho my data structures round didn't go well his mind was blown that an undergraduate could create this on his own, if i get in i donate u hald of my first year salary

  • @saurabhshakya5367
    @saurabhshakya5367 Год назад +13

    For anyone getting the interface issue (openaiv4 had some changes):
    import OpenAI from "openai" //we only need to import this from openai
    const userMessage: OpenAI.Chat.ChatCompletionMessage = {
    role: "user",
    content: values.prompt
    }
    For node.js, no need to import configuration, here also we only need to import OpenAI.
    const openai = new OpenAI ({
    apiKey: process.env.OPENAI_API_KEY
    })
    const response = await openai.chat.completions.create({
    model: "gpt-3.5-turbo",
    messages: [instructionMessage, ...messages],
    })
    return new NextResponse(JSON.stringify(response.choices[0].message))

    • @ankitupadhyay918
      @ankitupadhyay918 Год назад

      Thanks man for saving my life

    • @jordanesanson6911
      @jordanesanson6911 Год назад

      Hello @saurabhshakya5367, where does the 'instructionMessage' come from? Are there any other changes to be made in the conversation page? For example, should we keep this code (const [messages, setMessages] = useState([]);)? Thank you in advance

    • @snehakaimal7529
      @snehakaimal7529 Год назад

      @@jordanesanson6911 i had the same question...

    • @saurabhshakya5367
      @saurabhshakya5367 Год назад

      @jordanesanson6911 my mistake, instructionMessage is used in the code route, so if you are currently working on the conversation route then remove it.

    • @snehakaimal7529
      @snehakaimal7529 Год назад

      @@saurabhshakya5367 can you show the code ?

  • @oluwaseunladeinde410
    @oluwaseunladeinde410 Год назад

    Hi Anthonio, your tutorials are simply amazing. I can only imagine the amount of work that goes into these contents you make free. You are a gem! Thank you.

  • @allennaliath
    @allennaliath 8 месяцев назад +4

    At 34:45, to anyone dealing with issues with the middleware.ts for clerk auth, the new default is that all routes are public and you need to designate protected routes, versus in this tutorial, all routes are protected by default, and you need to designate public routes.
    From the clerk docs, this is how you get the behavior you want:
    import { clerkMiddleware, createRouteMatcher } from "@clerk/nextjs/server";
    const isPublicRoute = createRouteMatcher(["/"]);
    export default clerkMiddleware((auth, request) => {
    if (!isPublicRoute(request)) {
    auth().protect();
    }
    });
    export const config = {
    matcher: ["/((?!.*\\..*|_next).*)", "/", "/(api|trpc)(.*)"],
    };

    • @swarshashvat4777
      @swarshashvat4777 8 месяцев назад

      sir im still facing the same issue what shoud i do (i'm not able to redirect to dashboard)

    • @NNN-js7by
      @NNN-js7by 8 месяцев назад

      @@swarshashvat4777 i am also facing the same issue did you find any solutions?

    • @NNN-js7by
      @NNN-js7by 8 месяцев назад

      did not solve the problem unable to redirect the dashboard can you please solve this issue

  • @tonnyg1995
    @tonnyg1995 Год назад +1

    Svaka cast za tutorijal presisao si i Denissa i Traversy Media i sve njih po kvaliteti tutorijala
    👏👏

  • @raphaeljaggerd3585
    @raphaeljaggerd3585 Год назад +8

    Hey this is very awesome stuff. I was wondering if you'd consider doing tutorials on complex applications like codux or figma clones. Tutorials that help us build tools and libraries thus making us understand them even more.

  • @hashblast3r
    @hashblast3r Год назад +1

    Antonio does it again! Great job my friend!

  • @Deus-lo-Vuilt
    @Deus-lo-Vuilt Год назад +3

    I really liked the video, I'm advancing it on your platform, I had a question that was what brought me here, do you plan to include AI in future projects? Greetings

    • @codewithantonio
      @codewithantonio  Год назад +1

      I definitely plan on using AI in the future projects :)

    • @Deus-lo-Vuilt
      @Deus-lo-Vuilt Год назад +1

      @@codewithantonio Thanks 💜

  • @TruongAnLeNguyen-k3g
    @TruongAnLeNguyen-k3g Год назад +2

    I can watch this hero all day🥇thank you so much, Antonio!

  • @danialdevelops7368
    @danialdevelops7368 Год назад +3

    If any one got stuck in the image generation implementation like me. The api function and response object has changed in the latest openai version.
    You need to use this:
    const response = await openai.images.generate(
    {
    prompt,
    n: parseInt(amount, 10),
    size: resolution,
    });
    return NextResponse.json(response.data);

    • @smrititiwari6656
      @smrititiwari6656 Месяц назад

      Can you please tell me if I can complete this whole project just by seeing the video and is the api free?

  • @jeffdelnero
    @jeffdelnero Год назад

    What a time to be alive! Thank you for this precious content, sir. Keep it Up!

  • @gonzalooviedo5435
    @gonzalooviedo5435 Год назад +8

    Almost good, this tutorial have a big problem with the new API 4, so, it causing me a lot of troubles, nothing works and errors everywhere

  • @comoyun
    @comoyun Год назад +2

    Great tutorial! Great mic, totally worth watching.

  • @kanchanaEkanayake98
    @kanchanaEkanayake98 Год назад +3

    Hi Antonio,
    In the mobile view, the button to pull the sheet does not go to left with sheet when clicked. It just stuck in the same place.. along with the Dashboard protected text.
    How to make it go to the left when clicked?
    Very much appreciated if you can help

    • @bhavkushwaha
      @bhavkushwaha 3 месяца назад

      Yes this was an issue I also faced.

  • @VukDukic
    @VukDukic Год назад +2

    Clerk is sick! Antonio this is a great find.

  • @nikhilpatil3767
    @nikhilpatil3767 11 месяцев назад +6

    Did openai api get updated? ChatCompletionRequestMessage doesn't seem to be working for me

    • @yashsinghal7236
      @yashsinghal7236 10 месяцев назад

      Exactly I have the same problem

    • @MelvinManoj-kx2ms
      @MelvinManoj-kx2ms 9 месяцев назад

      Yes it gets updated

    • @MelvinManoj-kx2ms
      @MelvinManoj-kx2ms 9 месяцев назад

      Now OpenAiApi changed to OpenAI

    • @MelvinManoj-kx2ms
      @MelvinManoj-kx2ms 9 месяцев назад

      Also there is another changes.
      You just search youtube, it will help you

    • @yashsinghal7236
      @yashsinghal7236 9 месяцев назад

      ​@@MelvinManoj-kx2msHey have you completed this project and its working perfectly?

  • @brayan_joan
    @brayan_joan Год назад +1

    this channel is underrated for learning, great job antonio

  • @theSavanaDev
    @theSavanaDev Год назад +1

    I have not gone through the project but Sir, I appreciate your effort. You have empowered me with knowledge. Thank you.

  • @maxcady-p3i
    @maxcady-p3i Год назад +4

    Hey Antonio, Amazing video!
    After completing the whole project, I am getting error as: "Failed to load resource: the server responded with a status of 500 (Internal Server Error)"
    and "Something went wrong" from hot-toast
    I have tried multiple openai keys from multiple accounts, still facing this problem
    Please help!

  • @Master_Joh
    @Master_Joh Год назад +1

    This is what i have been looking for in a long time, thank you so much

  • @fulcrum8221
    @fulcrum8221 6 месяцев назад +4

    for the middleware in the new version of clerk:
    import { clerkMiddleware, createRouteMatcher } from "@clerk/nextjs/server";
    const isProtectedRoute = createRouteMatcher(["/dashboard(.*)", "/forum(.*)"]);
    export default clerkMiddleware((auth, req) => {
    if (isProtectedRoute(req)) auth().protect();
    });
    export const config = {
    matcher: ["/((?!.*\\..*|_next).*)", "/", "/(api|trpc)(.*)"],
    };

    • @hafeezbaig25
      @hafeezbaig25 5 месяцев назад +1

      Thanks a lot!! I was so confused!

  • @build-things
    @build-things Год назад +1

    nice one! especially the stripe stuff!!! I will be referencing this when integrating stripe to my platform over the next few weeks

  • @rehanm2305
    @rehanm2305 Год назад +3

    1:52:32 unable to find the module in openai . Cant find resourse on this . How to fix this can anyone help .

    • @HAMOKA-
      @HAMOKA- Год назад +2

      Same problem

    • @rehanm2305
      @rehanm2305 Год назад

      @@HAMOKA- solution 1 : install old openai version: v3.3.0
      Solution 2: try this ChatCompletionMessageParam instead
      Hope this helps

    • @bhavkushwaha
      @bhavkushwaha 5 месяцев назад

      Use ChatCompletionMessageParam instead, this is due to the updated SDK of openai.

  • @SerRGilk
    @SerRGilk Год назад +3

    Stripe is not supported in my country. What are my alternatives for a subscription model?

    • @danialdevelops7368
      @danialdevelops7368 Год назад

      same problem lol

    • @SerRGilk
      @SerRGilk Год назад

      ​@@danialdevelops7368 Since he is ignoring us, I did some research, and the easiest solution that I found is Paddle.
      Look for Paddle, they are super easy to set up, and there's a video on youtube that explains how to set up Paddle on your nextJS project.

    • @marciplan
      @marciplan Год назад

      ​@@SerRGilk Hey, he likely is not 'ignoring you' but just has more things on his mind. Try being a bit more considerate for the amount of stuff he just gave you for free. Sucks that your country isn't supported by Stripe (it really is) but it doesn't mean Antonio should spend time coming up with alternatives for you. I don't think you would like that when the situation is reversed.

  • @sudhanshugautam425
    @sudhanshugautam425 Год назад +2

    Finished 🎉🎉 , it was great 5 days with you😇 , thank for this amazing tutorial ❤

  • @angphuonghai2926
    @angphuonghai2926 Год назад +3

    I followed you but when using Clerk's SignIn and SignUp components, it doesn't render anything, why? Please help me fix it pls

    • @foxooo
      @foxooo Год назад +3

      I am running into that same issue. Were you able to determine what the issue is?

    • @Gh05t_Dev
      @Gh05t_Dev Год назад +1

      Error: The default export is not a React Component in page: "/sign-in/[[...sign-in]]" that's what I got oops

    • @frederikefalke
      @frederikefalke Год назад

      I run into the same issue :/ @@Gh05t_Dev

  • @iconics_cms
    @iconics_cms Год назад

    OMG, I love you Antonio❤️. I am currently watching one of your videos and I have to pause it to comment this. I recently watched JS Mastery explain the same NextJs Concept but I didn't understand a thing. But barely 20 minutes into your video I feel I can build anything because your explanation is just the best on RUclips. You deserve 100 million subscribers and much more.
    Thanks for making these video's. I'm looking forward to more from you.❤️❤️❤️❤️❤️❤️

  • @samirtalbi5926
    @samirtalbi5926 4 месяца назад +3

    I can use google gemini api in the place of openAI API key?

    • @bhavkushwaha
      @bhavkushwaha 3 месяца назад +1

      Yep you can use gemini api key, but that changes the code in the api directory since now you have to use the gemini docs to use it.

    • @samirtalbi5926
      @samirtalbi5926 Месяц назад

      @@bhavkushwaha give me the api's code for using gemini api

  • @KhushiPatel-i1o
    @KhushiPatel-i1o Год назад +9

    i had error in configuration and openaiapi

    • @mashoodfarid6524
      @mashoodfarid6524 Год назад +1

      Same bro
      What the solution of this

    • @musabiqbal253
      @musabiqbal253 Год назад

      Open ai has updated and changed its api. That was used in v3. The new V4 has a different method of doing it. Check the documentation

    • @programadorCarioca
      @programadorCarioca 5 месяцев назад

      Hello bro, did you manage to solve this problem? I'm stuck here too.

  • @moizkhan1950
    @moizkhan1950 8 месяцев назад +1

    Great project. Learned a lot, I customized a lot of it too. Added some new models (speech, image optimizations etc), Also added a full Admin Panel with app management, user management, and software metrics. I managed to add some metrics for users too so they can track their usage. Thank you for putting in so much effort.

    • @codewithantonio
      @codewithantonio  8 месяцев назад +1

      Amazing job!

    • @moizkhan1950
      @moizkhan1950 8 месяцев назад +1

      @@codewithantonio Hey! Thanks a lot for responding, you're doing an amazing job. Absolutely love your videos.

    • @srirammurthy2739
      @srirammurthy2739 7 месяцев назад

      great to hear that. @codewithantonio provided great base for me too. I also want to build some thing like that. Can you guide me how you dd that ?

  • @gonzalooviedo5435
    @gonzalooviedo5435 Год назад +1

    Ufff, I don't know how this content is free, is absolutly incredible, thank you very very much for this. Simple, you can almost copy this and start winning some money with this amazing SAAS software in your own country.

  • @igorhideki95
    @igorhideki95 9 месяцев назад +9

    Can you bring this course updated ?

    • @molcay8355
      @molcay8355 8 месяцев назад +1

      There aren’t any critical changes in next 14 within this project. But I agree that for the new videos it would be better if it could see similar micro saas products rather than whole spotify, trello or duolingo clone

  • @prajwalurkude007
    @prajwalurkude007 Год назад +2

    Thank you, I really whole heartedly admire you. Your projects are awesome and unique that based on real world problem solving.

  • @piecesSHREDDED
    @piecesSHREDDED 5 месяцев назад +12

    MANY MODULES are deprecated

    • @pragyashrivastava9270
      @pragyashrivastava9270 4 месяца назад +2

      Hey can you tell me which ones are deprecated and how do I manage making it otherwise

    • @debashishtiu2919
      @debashishtiu2919 4 месяца назад +1

      ​@@pragyashrivastava9270there are many modules are deprecated and I want to say if you want to make the project for CV don't make this project , choose another project

    • @yixian0716
      @yixian0716 3 месяца назад

      @@pragyashrivastava9270ucan refer to the documentation to switch for the deprecated function

    • @amanpal376
      @amanpal376 2 месяца назад +2

      Dont follow if u are a beginner

    • @dinhjdev1023
      @dinhjdev1023 2 месяца назад +2

      Welcome to software development 😅 Time to learn how to read documentation

  • @yanDev
    @yanDev Год назад +1

    thank you very much for this tutorial and especially for the discovery of Clerk which is just incredibly simple compared to Next-auth which requires more work in the configuration of providers!
    Do not hesitate to use it in your future projects.
    Thank you for your amazing videos

  • @RicheyLiek
    @RicheyLiek Год назад +3

    if someone has problems with lucide react -> downgrade next to
    "next": "13.4.12",

  • @DungAnhify
    @DungAnhify Год назад

    I accidentally ended up watching the entire 5-hour video. Fantastic!