Build and Deploy Full Stack AI Email SaaS | Next JS 14, Prisma, OpenAI, Stripe, TypeScript, Tailwind

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 169

  • @elliottchong
    @elliottchong  Місяць тому +7

    During development you might face certain issues with Google blocking your app, to solve this, please follow the recommended steps:
    During trials you need to allow-list Aurinko's clientId (requires Google domain account) docs.aurinko.io/getting-started/adding-aurinko-to-google-workspace-allowlist
    For production you need to register your own Google app docs.aurinko.io/authentication/google-oauth-setup
    Google OAuth team wants developers to register their apps and go through their verification process to access email: developers.google.com/identity/protocols/oauth2/production-readiness/restricted-scope-verification
    There is unfortunately no way around this for developers. During trials they can use our app registration but they have to allow-list it for their Google domain. See link above.
    There is no allow-listing for personal Gmail accounts. One alternative is to use IMAP (Aurinko supports this) with an app password:
    support.google.com/accounts/answer/185833?hl=en

    • @lovindigital
      @lovindigital 23 дні тому +1

      So is it possible, if i use the app password from my google account ? and can you how me how ? how does it work between the aurinko and app password ?

  • @milesonme
    @milesonme Місяць тому +54

    Welcome back mate! Your AI integration videos really built my career....I was a python guy and can now code Javascript too even in AI....God bless u mate I literally made a good career out of this and can take care of my family. Thank you so much!

    • @elliottchong
      @elliottchong  Місяць тому +3

      I'm so happy to hear that! Keep on grinding :)

    • @designsbycaleb
      @designsbycaleb Місяць тому +1

      @@elliottchongyou just earned a subscriber bro 🫡🫡

  • @sandrogtz
    @sandrogtz 18 днів тому +1

    The way you break down high-level concepts is truly remarkable. Not many people can break down advanced topics so clear and straightforward. I really appreciate this, great to have you back on UA-cam keep uploading!

  • @zerodev6691
    @zerodev6691 Місяць тому +10

    hey elliot, you helped me land
    my first 6 figure swe job from your pdf ai video. you are incredible.

    • @elliottchong
      @elliottchong  Місяць тому +1

      That's awesome!

    • @vira5995
      @vira5995 Місяць тому

      which company and how did you apply ???

    • @ABHISHEKSINGH-qc3or
      @ABHISHEKSINGH-qc3or Місяць тому

      hey bro will you plz help me out
      Property 'user' does not exist on type 'PrismaClient' how did you fix it

    • @suneh3498
      @suneh3498 Місяць тому

      @@ABHISHEKSINGH-qc3or restart vscode, that fix it for me

  • @elliottchong
    @elliottchong  Місяць тому +11

    Hello! Just wanted to drop a huge thank you for everyone who has supported my channel. I'm grateful to be able to share my passion and knowledge with you.
    If you are looking to start, scale or monetise your SaaS product, do check out my industry-proven SaaS starter kit which will save you thousands of dollars and weeks of your time.
    www.start-saas.com
    Other than that, if you have any questions, our community will be here to help! discord.com/invite/AKEyrTf5

  • @q-uq6nm
    @q-uq6nm 27 днів тому +1

    Elliot, you make my absolute favourite project tutorials! Your ides are always interesting and fun. As I have slowly progressed past the basic CRUD app, I keep trying to look for comprehensive full stack tutorials which you always deliver. Sending a big thanks from Malaysia.

  • @Aman-tr4bb
    @Aman-tr4bb Місяць тому +5

    We have implemented similar kind of things for my company , for internal tools , and it's too cool.

    • @elliottchong
      @elliottchong  Місяць тому

      That’s nice! What kind of internal tool is it?

    • @Aman-tr4bb
      @Aman-tr4bb Місяць тому +1

      @@elliottchong I am working in a company where we dealing with lot's of client, basically its a Airbnb like business , so for the sales team we have built this in there dashboard to make things more faster , it help them to writing email with open ai that in built in there dashboard , there are also lot's of features like they can filter out query if there left any... and many more , I am gonna add more feature after this video thanks for the idea and product...

  • @NewsGlobalAI
    @NewsGlobalAI Місяць тому +5

    Man you're doing awesomely create with tutorial like this, you're my real man, I have been looking for tutorials like this, that can enable me build a career and bro, that's what your tutorials entail.... Thanks and more grace on your hard work bro

    • @elliottchong
      @elliottchong  Місяць тому +1

      Thank you for your support! I am so happy to hear that I have helped you :D

  • @mzafarr
    @mzafarr 29 днів тому

    Amazing Man!!! Two video recomendations: Making Next.js website secure, optimising SEO of Next.js website (detailed videos please).

  • @bitkillerjones
    @bitkillerjones Місяць тому +5

    a tutorial where you go through the whole setup step by step of your starter kit would be pretty helpful and i think beneficial for you

    • @elliottchong
      @elliottchong  Місяць тому +1

      I have that video planned, going to release it next week :)

    • @bitkillerjones
      @bitkillerjones Місяць тому +1

      @@elliottchong sounds good! Thanks

    • @asadmehboob1300
      @asadmehboob1300 Місяць тому

      ​@@elliottchong Please use Drizzle ORM, PostgreSQL and Honojs as beckend

  • @shivrajnag12
    @shivrajnag12 19 днів тому

    Awesome tut Elliot. Would love to see Cloudflare Stack as deployment solution for db, storage and server.

  • @suneh3498
    @suneh3498 Місяць тому +1

    Ngl it never crossed my mind to use vercel to have endpoints that webhook can hit for my app. It was really annoying having to use tools like ngrok and then having to change the url everytime I would tunnel my app. Your brain is massive lmao

  • @shdalex
    @shdalex Місяць тому +3

    I would love to see you coding an email marketing automation platform with react-flow, email builder, forms, landing pages (doesnt need to have builder functionality, just paste HTML, with auto slug creation). You could use AWS SES for sending emails, and if you could build an API so users can integrate forms on 3rd party landing pages that would be great. All in one, a Hubspot, Marketo or other similar platform clone. If you can also add a twist of AI functionalities within it, it'll be a total banger, UA-cam will go down. 😅

  • @whyonlyfact3602
    @whyonlyfact3602 Місяць тому +2

    What a fantastic project i have seen today, the next level tech, the next level function tech, amazing !!!
    heads off !!

    • @elliottchong
      @elliottchong  Місяць тому

      Glad you like it!

    • @ABHISHEKSINGH-qc3or
      @ABHISHEKSINGH-qc3or Місяць тому

      hey bro will you plz help me out
      Property 'user' does not exist on type 'PrismaClient' how did you fix it

  • @asadmehboob1300
    @asadmehboob1300 Місяць тому +2

    Welcome back bro

  • @demobailey430
    @demobailey430 Місяць тому

    Welcome Back Elliott!

  • @Grazh0per
    @Grazh0per Місяць тому +1

    well done. had been waiting for someone to implement the shadcnui email ui/ux

    • @furycorp
      @furycorp Місяць тому

      One of the official demos is like an email client. Not to take away from Elliot's work here, this is a great project and I highly respect this work and his efforts as a dev. The project looks great.

  • @MrSANS
    @MrSANS Місяць тому +2

    Kudos to you Elliot! Thanks for sharing👋

    • @ABHISHEKSINGH-qc3or
      @ABHISHEKSINGH-qc3or Місяць тому

      hey bro will you plz help me out
      Property 'user' does not exist on type 'PrismaClient' how did you fix it

    • @MrSANS
      @MrSANS Місяць тому

      @@ABHISHEKSINGH-qc3or add module "user" in your prisma code

  • @insensibility
    @insensibility Місяць тому +1

    You're amazing, man. I hope I meet you someday in person! Road to Singapore!

    • @elliottchong
      @elliottchong  Місяць тому

      I hope so too!

    • @ABHISHEKSINGH-qc3or
      @ABHISHEKSINGH-qc3or Місяць тому

      hey bro will you plz help me out
      Property 'user' does not exist on type 'PrismaClient' how did you fix it

  • @hendoitechnologies
    @hendoitechnologies Місяць тому

    We are very interested in SaaS live project like this.. Post this quality different SaaS regularly

  • @furycorp
    @furycorp Місяць тому +1

    Looks awesome! I think it would be sweet if some of these didn't rely on third party auth providers (e.g. do your own right or use lucia, etc). All these projects relying on VC-backed startups are not really reliable in long term. Unless of course they're sponsoring you and paying you in which case rock on man!

    • @elliottchong
      @elliottchong  Місяць тому +2

      Hello! Thanks for the feedback. I just used these providers for convenience sake. Clerk just makes auth so easy to set up.
      You can always use this project and implement your own auth, I just didn't want to take the focus off the main part of the project :)

    • @theSoberSobber
      @theSoberSobber Місяць тому

      ​@@elliottchongThat's awesome man, but could you please next time roll your own or use Lucia? It could be much more educational that way! While this is cool, the idea of having to use a webhook to keep data in sync with one component of your application to another just seems very micro-servicy. And single threaded languages should def not be doing that.

  • @guntreddyhemanth4004
    @guntreddyhemanth4004 Місяць тому +1

    The issue you're encountering, where the error code: 'url.expired', message: 'url.expired' is being returned, is related to an expired authentication URL or token, and not directly caused by your database being empty. However, there could be indirect links between these issues, depending on how your system is configured.

  • @chai112mno
    @chai112mno Місяць тому +1

    Hay welcome back

  • @sshresthh
    @sshresthh Місяць тому

    @elliottchong is the guy on steroids! You're amazing my man.

  • @HarbinGoddu
    @HarbinGoddu Місяць тому +2

    I really appreciate your efforts! I need some advice: I have a SafePal wallet with USDT, and I have the seed phrase. (behave today finger ski upon boy assault summer exhaust beauty stereo over). Could you explain how to move them to Binance?

  • @krishnakumarv4894
    @krishnakumarv4894 21 день тому +1

    Can we do without Aurinko? are there any open source packages available? or only solution is using google gmail api?

  • @ЖанМукатаев-ш7б
    @ЖанМукатаев-ш7б Місяць тому

    Hi, Elliot, can you make videos about building complex videos with AstroJS? There are on youtube lot of guides how to use NextJS, but I'm barely can't found any guide about building complex projects (not simple blogs) with Astro.

  • @hendoitechnologies
    @hendoitechnologies Місяць тому +1

    Post more SaaS projects like this

  • @PawelMisiura
    @PawelMisiura 11 днів тому

    Hi Elliott, how do you handle sensative data within emails?

  • @irokomause8311
    @irokomause8311 Місяць тому

    Welcome, legend. I was trying to purchase an OpenAI key, but my card was declined. I have tried the solutions provided on the OpenAI forum, but it seems none of the solution provided work.

  • @GagandeepSingh-ly1ct
    @GagandeepSingh-ly1ct Місяць тому +1

    do we have to buy open ai subscription?

  • @rakibulislam5190
    @rakibulislam5190 Місяць тому

    Great video brother! I’m interested in recreating this project for personal use as an individual and I'm curious to know if all the techstacks you used are free or if there are any paid services involved. Can you give me a heads up on that? Thanks a bunch!

  • @ridhohery8295
    @ridhohery8295 21 день тому

    hey, thank you for the tutorial, its help me.. thank youuu ✨✨

  • @utubes720
    @utubes720 Місяць тому +1

    Did you pick Prisma instead of Drizzle for some reason? In your video a year ago you said Drizzle was faster etc.

    • @elliottchong
      @elliottchong  Місяць тому +1

      haha it's just a personal preference. I like the prisma developer experience over drizzle MUCH more. but both achieve the same things tho

  • @shuvokhan2295
    @shuvokhan2295 Місяць тому +3

    Sir, is this production ready?

  • @afaqahmad8918
    @afaqahmad8918 Місяць тому

    Thank you soo much and sir how you make such a complicated project? Why we are getting stuck always all the time

  • @hendoitechnologies
    @hendoitechnologies Місяць тому

    post more content like this every week

  • @MSRCodeLab
    @MSRCodeLab Місяць тому

    Eagerly waiting for the AI SAAS project like AI Shorts generator from the text like invideo ai text to video generator tool.

  • @jollyJedi
    @jollyJedi 27 днів тому

    Great work on this video, I'm not very far in but I've had to fix a lot of type errors which i notice you just disabled, is that just a time available thing or what? You use trpc and typescript and other type-safe tools and then disable type checking at least in your web hook. Great work over all so far, just wondering about that.

    • @elliottchong
      @elliottchong  24 дні тому

      The default eslint errors are enabled for good reasons. However I've had enough experience fixing these lint errors that I know what are critical and what's not. So most of the time I just off it and follow my intuition - which helps me code faster.
      If you are a beginner to typescript I would recommend following the lint errors and learn the 'right' ways of doing things first before adopting your own philosophy :)

    • @jollyJedi
      @jollyJedi 24 дні тому +1

      @@elliottchong I’ve been using typescript for a while now. I just don’t agree with the intuition thing. I get it if you work 100% alone 100% of the time. The tutorial is really good though so I’m not complaining.

    • @elliottchong
      @elliottchong  23 дні тому

      @@jollyJedi I get where you're coming from, it's definitely a personal thing when it comes to linting. And I 100% agree with you that if you're working on a project with a team then it's important to have these linting rules set in place to maintain a consistent code standard.

  • @hhaydenk_
    @hhaydenk_ Місяць тому +1

    Wow! This is so cool and loved using it - it would be great if you could add some more email integrations, such as zoho mail or outlook! Thank you so much!!!!

    • @elliottchong
      @elliottchong  Місяць тому

      The API I showcased here does allow for zoho mail & outlook :) You can check out the Aurinko documentation to learn more about it

  • @indra607
    @indra607 Місяць тому +1

    genius!

  • @UserVen0mFilCanal
    @UserVen0mFilCanal 24 дні тому

    Very good friend 😀, what is your vscode font??

  • @nogame-nopain7150
    @nogame-nopain7150 Місяць тому +1

    good job man

  • @snoudev
    @snoudev Місяць тому

    Amazing video, the best ever

  • @andreasmueller3634
    @andreasmueller3634 Місяць тому +1

    Do you utilize this self made app in your own business? Really great tutorial btw, I hate emails like the pest 😂

    • @elliottchong
      @elliottchong  Місяць тому +1

      HAHA yes I do use it for myself. I created it so that I can have more control over my emails and not have to use outdated email clients

    • @andreasmueller3634
      @andreasmueller3634 Місяць тому +1

      @@elliottchongthis is so refreshing to read and imho the only way tutorials should be made! Most tutorials look nice on the surface but have no actual business use or they are simple better options out there which make most tutorials useless and outdated. Thanks a lot for your hard work! I hope a lot of people will buy your saas starter kit so you can keep on releasing new tutorials :)

    • @elliottchong
      @elliottchong  Місяць тому

      @@andreasmueller3634 Thank you Andreas for your support! It really means a lot to me :D More tutorials coming soon!

  • @eismitkamaal8392
    @eismitkamaal8392 Місяць тому

    Sir, can you tell me wich tools are paid tools. Like is credit card required for something to build this app ?

  • @mrdaho11
    @mrdaho11 18 днів тому

    Im verry grateful for this tutorial! thank you for this! the only thing is that i am having a real hard time solving the type errors xD please, i need help regarding the 'replyBox' - or maby im to new to this still ... i got so far and dont wana give up yet XD

  • @lovindigital
    @lovindigital 26 днів тому

    I have one question that the nextjs always update its version. should we just keep following the trend or just choose one version and use it for multiple project ? and could you tell me what is the main reason that we should use next js ?

  • @biovawan
    @biovawan Місяць тому

    Instant sub ❤️‍🔥

    • @biovawan
      @biovawan Місяць тому

      And like ❤️‍🔥

  • @the.shivam.bhushan
    @the.shivam.bhushan Місяць тому +1

    Hey, it's amazing how much I am learning from this. The fact that you are 19 and making such big strides in the SDE world is amazing. Any chance I can reach out to you? I have sent you a message on linkedin. I am looking for a mentor and I would love to learn from you. Please let me know

  • @shdalex
    @shdalex Місяць тому +1

    The pricing of aurinko would be $1 / email account added, correct?

  • @kaushikgayakwad2388
    @kaushikgayakwad2388 18 днів тому

    hii sir I have error while running this project
    egrep' is not recognized as an internal or external command,
    operable program or batch file. I am running this project in windows
    what to do sir

  • @funscape23
    @funscape23 Місяць тому

    wow amazing content

  • @hendoitechnologies
    @hendoitechnologies Місяць тому

    Can we use this project directly for deployment this SaaS

  • @itzindiandude
    @itzindiandude Місяць тому +1

    🔥🔥🔥🔥💪🐐🔥

  • @Carlos-gj1wj
    @Carlos-gj1wj Місяць тому +1

    Great project man.
    Thanks.

  • @ectoplasm1285
    @ectoplasm1285 Місяць тому +1

    thanks mate.

  • @loverphp5605
    @loverphp5605 Місяць тому +1

    👍👍👍👍👍👍👍👍👍

  • @marvinkr
    @marvinkr Місяць тому

    Why not just use pgvector and pg semantic search vs. Orama?

  • @JoseManuelVeliz-g5n
    @JoseManuelVeliz-g5n Місяць тому +2

    Sorry, i have a problem with the aurinko permissions auth and google, i followed the docs to enable it but stil given me forbbidden

  • @CarlosTello-h5s
    @CarlosTello-h5s Місяць тому

    nice project

  • @hendoitechnologies
    @hendoitechnologies 18 днів тому

    is this a validated saas idea

  • @amt.7rambo670
    @amt.7rambo670 Місяць тому +1

    Bro is everything tech stack free especially open ai api do they provide free development for free?😊

    • @elliottchong
      @elliottchong  Місяць тому

      The OpenAI API gives you a free $5 credit if it's your first time signing up.

  • @danishkhann9126
    @danishkhann9126 Місяць тому +2

    how you solved
    This app is blocked
    This app tried to access sensitive info in your Google Account. To keep your account safe, Google blocked this access. this issue?
    please help

    • @archishmanmitra1909
      @archishmanmitra1909 29 днів тому

      i had the same issue you need to setup oauth in the settings part of aurinko, you gotta go to google console to create one which will give you a client id and secret which you will put in the form of aurinko

    • @pratikkartik9434
      @pratikkartik9434 24 дні тому

      @@archishmanmitra1909 while setting up oauth what was the authorised url?, home page? and privacy policy?.. could you please help me with it?

  • @JuandreSabbat
    @JuandreSabbat Місяць тому

    What will u do if people copy this SaaS product .

  • @irtizahassan729
    @irtizahassan729 Місяць тому +1

    Is this responsive? Looking at the video, I can't find any responsiveness features like max-md or md

    • @elliottchong
      @elliottchong  Місяць тому

      Hi, the UI is not necessarily responsive. I wanted to focus more on the backend functionality of it, so I didn't manage to add in responsive design into the video.
      You are still free to make it responsive and create a pull request on the repository :) I would be grateful for that.

  • @RealLexable
    @RealLexable Місяць тому +2

    Whats missing is a backup or export/import option for emails and it would be perfect man ❤

    • @elliottchong
      @elliottchong  Місяць тому

      How do you want to export the emails? To JSON?

    • @RealLexable
      @RealLexable Місяць тому

      @@elliottchong in the end it doesn't matter. The main thing would be being able to import them again as readable as before :)

  • @PritiGupta-yv3pt
    @PritiGupta-yv3pt 28 днів тому

    is openAI API key free or I have to pay to use it?

  • @Asyedabdulrahman33
    @Asyedabdulrahman33 Місяць тому

    kindly build advanced frontend project with dedicated frontend system design.

  • @vukrosic
    @vukrosic Місяць тому +2

    我不知道你是否会说中文,但干得好。

  • @codewitham22
    @codewitham22 Місяць тому

    Bro I just want to know is this stack still worth becuase I am not able to get a job right now. And there are less jobs listings for the role of next js as compare to the hype. I am not able to figure out what is going on.

  • @surayasecurities
    @surayasecurities Місяць тому

    Hey could you try building an fraud detection payment api with mern system

  • @Testmutl
    @Testmutl Місяць тому

    thanks❤

  • @amitrathour2512
    @amitrathour2512 Місяць тому

    After setup aurinko i still haven't recieved emails data

  • @tanzid64
    @tanzid64 Місяць тому

    Can't thak you enough..

  • @ABHISHEKSINGH-qc3or
    @ABHISHEKSINGH-qc3or Місяць тому

    Property 'user' does not exist on type 'PrismaClient' I got this error while creating playground.ts ,plz any one help me

  • @corpsedad7368
    @corpsedad7368 Місяць тому +1

    as openai is paid will it work with gemini api

    • @elliottchong
      @elliottchong  Місяць тому

      Yes, you can visit the vercel AI SDK for the gemini API support

    • @corpsedad7368
      @corpsedad7368 Місяць тому

      @@elliottchong and for the clerk as alternative if i use your lucia authentication that you created what i might need to change. Can you list that please (i think during selecting account i would need to change many things there.)

  • @guntreddyhemanth4004
    @guntreddyhemanth4004 Місяць тому +2

    I am facing issue with auth2.0 in the time line of 1:37:20 my google is blocking while saying that => This app is blocked
    This app tried to access sensitive info in your Google Account. To keep your account safe, Google blocked this access. when i clicking on the textline and clicking on my google account? please help me bro...

  • @Wttk189
    @Wttk189 Місяць тому +1

    Superhuman: delete that shit right now

  • @marvinkr
    @marvinkr Місяць тому +1

    What about attaching files to the email?

  • @SABARISEKAR-s6y
    @SABARISEKAR-s6y Місяць тому

    hey Sir. Iam stuck at integeration of aurinko at 1:37:31. It says:
    "This app is blocked
    This app tried to access sensitive info in your Google Account. To keep your account safe, Google blocked this access."
    How do i resolve it?

    • @elliottchong
      @elliottchong  Місяць тому

      Hi, you need to authorize permission in google cloud console

    • @guntreddyhemanth4004
      @guntreddyhemanth4004 Місяць тому

      Bro! Please share your Discord ID or What's Up Number, and I will share the resources there.

    • @SABARISEKAR-s6y
      @SABARISEKAR-s6y Місяць тому

      @@elliottchong So every user have to authorize it ? . Also what should we authorize it and how ?
      Thanks for your reply.

  • @hendoitechnologies
    @hendoitechnologies Місяць тому +1

    Your start SaaS website not working please check

  • @SudhirYadav-k6k
    @SudhirYadav-k6k Місяць тому

    I was going through the project and suddenly getting this error and dont know what to do
    "This app is blocked
    This app tried to access sensitive info in your Google Account. To keep your account safe, Google blocked this access."

    • @sllim2992
      @sllim2992 Місяць тому

      i had the same issue as well unfortunately. probably will tryout another provider like nylas

    • @danishkhann9126
      @danishkhann9126 Місяць тому

      how you solved
      This app is blocked
      This app tried to access sensitive info in your Google Account. To keep your account safe, Google blocked this access. this issue?
      please help

    • @SudhirYadav-k6k
      @SudhirYadav-k6k Місяць тому

      @@danishkhann9126 I have not solved it yet ... instead of gmail I am using outlook to follow this tutorial ... it works

    • @adarshvemasani1199
      @adarshvemasani1199 25 днів тому

      @@SudhirYadav-k6k how to create a project in azure

  • @prashlovessamosa
    @prashlovessamosa Місяць тому +1

    Why not Lucia 🙃

    • @elliottchong
      @elliottchong  Місяць тому +1

      Haha, too much work :p

    • @furycorp
      @furycorp Місяць тому

      @@elliottchong once you get it down into a nice recipe (could even put the bulk of it in a reusable package for yourself) then its about as painful as Clerk but you own your users :). Even as much as Cognito is a heavy decision as it is quite locking in you still get a lot of power and its likely to be around in so many years and applicable to real business/enterprise/corporate software. And of course you have the SDK's + CLI + AWS Console UI so a lot comes with it to save you the trouble of implementing a lot of it.

    • @elliottchong
      @elliottchong  Місяць тому

      @@furycorp You're totally right on that :) I did find myself having to reinvent the wheel every time I start a new project. You can check out my saas starter kit at www.start-saas.com. Would love your feedback on the kit :D

  • @apurvkashyap1692
    @apurvkashyap1692 Місяць тому

    is openai free to use ?

    • @benielsmile3355
      @benielsmile3355 Місяць тому

      No,
      It is paid guy.
      But it is pay as you go starting from. 5$ only. You only pay for what you use

  • @hemantrawat1576
    @hemantrawat1576 Місяць тому

    Bro really cooked good project!!! can you create a project with the backend as python? bro

  • @РодионЧаускин
    @РодионЧаускин Місяць тому

    Perez Richard White Ruth Williams Susan

  • @adityaraj3643
    @adityaraj3643 Місяць тому

    the discord invite link is invalid!