Next.js 14 Netflix Clone using React, Supabase, Next-Auth, Prisma and Tailwind.css

  Рет қаралды 33,768

Jan Marshal

Jan Marshal

Күн бұрын

Пікірлер: 123
@janmarshalcoding
@janmarshalcoding Жыл бұрын
Quick FYI, supabase changed a few things in regard to their core infrastructure (supervisor). To make the connection with prisma and supabase work, please follow the following guide: supabase.com/partners/integrations/prisma I forgot one small thing in this video, please run the following install script in your terminal: npm install -D nodemailer This is need to send emails for auth magic emails
@nawazcode13
@nawazcode13 Жыл бұрын
Thank you so much, I'm searching from 1 hour for latest next auth tutorial with prisma orm, now I go through this, really thank you so much.
@janmarshalcoding
@janmarshalcoding Жыл бұрын
Haha, no problems. If you have any problems or question let me know, I will try to answer asap
@nawazcode13
@nawazcode13 Жыл бұрын
​​@@janmarshalcodingSure I will, thank you for asking 😊
@RabeeRaad
@RabeeRaad 11 ай бұрын
This is one of the best Next 14 tutorial on KZbin. I learned a lot from you. Thank you!
@Hemanth045
@Hemanth045 11 ай бұрын
Took me 12 hours to build this thank you so much for the guide
@bukanidamanmu4489
@bukanidamanmu4489 Жыл бұрын
I just finished the whole video 20 hours, this project is work. Damnn, thank you Jan, you are awesome 🎉🎉🎉🎉
@sardulraajendran
@sardulraajendran Жыл бұрын
Can u tell me how to clone it..with the required changes as I have to submit my project by tomorrow
@ismoiljonabduqahhorov5825
@ismoiljonabduqahhorov5825 7 ай бұрын
one of the best modern web dev tutorial appreciate it
@dalestewart
@dalestewart 9 ай бұрын
Another professional application developed with very good explanation and good architecture design
@dalestewart
@dalestewart 9 ай бұрын
Any paid courses using Next.js, supabase, shadcn.ui?
@janmarshalcoding
@janmarshalcoding 9 ай бұрын
Not right now, but very, very soon. Thanks for your support!
@dalestewart
@dalestewart 9 ай бұрын
Any next.js programming Developer shirts for sale?
@JRReal
@JRReal 11 ай бұрын
Great tutorial about Next14, You explain in a simple and direct way... congratulations on your work. 👏👏👏👏👏
@amalmurikkoli7629
@amalmurikkoli7629 Жыл бұрын
the signOut function accepts an object which contains a callbackURL and redirect. You can pass those values so that the page redirects to login page as soon as the user logout.
@geeboug
@geeboug 8 ай бұрын
Thank you for making this video. It was very helpful. Can't wait to explore other videos from you as well.
@jamesyu6385
@jamesyu6385 9 ай бұрын
Forget my question!!! I fiexed it just following your sourcecode.... Thanks again...
@janmarshalcoding
@janmarshalcoding 9 ай бұрын
Haha, did not even see your question but glad you could fix the bug by yourself
@МихаилТерновецкий-и1у
@МихаилТерновецкий-и1у Жыл бұрын
Hi, thank you very much for your work, you recently started making videos and it's very cool, I learned a lot thanks to you! Don't stop, man.
@janmarshalcoding
@janmarshalcoding Жыл бұрын
Thank you very much Михаил, I appreciate it 😄. Hopefully new video on Friday 🤞🏻
@totallynotdavid
@totallynotdavid 11 ай бұрын
Man, love this tutorial! I managed to deploy this project with Cloudflare Pages, although with some changes to make it work as things like Nodemailer and Prisma do not work on Edge Runtime.
@janmarshalcoding
@janmarshalcoding 10 ай бұрын
Thank you. Yeah, sadly edge is not compatible with the node.js runtime, but cool that you managed to do that!!
@markus_dev_cwb
@markus_dev_cwb 10 ай бұрын
Amazing project Man! Tks to share.
@collinsk8754
@collinsk8754 9 ай бұрын
Great tutorial! 👏👏
@br0ski_dev
@br0ski_dev 9 ай бұрын
Sehr stark!
@arshah246
@arshah246 Жыл бұрын
That's really great tutorial about next js 14 all topics are well covered except shopping cart functionality missing and one thing is still confusing that is why is so much client components.
@exopolittv5215
@exopolittv5215 11 ай бұрын
HeyHo! Awesome tutorial mate! im pretty new to developing, acutlly just started July this year xD and ur Video did help me a lot! Lookin forward to see more from you!
@janmarshalcoding
@janmarshalcoding 11 ай бұрын
Danke, neue vids folgen bald. Irgendwo und irgendwann starten wir alle einmal ... Viel Erfolg!
@Yasser-e2p
@Yasser-e2p 7 ай бұрын
good tutorial Jan , learned a lot from it , i have an issue with signin using email provider i;m getting Unable to sign in , hope you do a video about it thanks
@sharifahmed1925
@sharifahmed1925 11 ай бұрын
great tutorial! I'm a big fan of Supabase Wondering why you used NextAuth instead of Supabase Auth? Thanks for making these tutorials :)
@janmarshalcoding
@janmarshalcoding 11 ай бұрын
Thanks, When I first created this project I was using supabase auth with the new ssr package, but ran into multiple bugs which was very annoying. That's why I switched to next-auth
@anonymous12478
@anonymous12478 11 ай бұрын
Thanks
@satyak1337
@satyak1337 3 ай бұрын
2:17:09 whats the reason for adding poster image twice for every card ? can we not scale the first image or hover?
@niteshprajapat7918
@niteshprajapat7918 Жыл бұрын
This is amazing 🎉🎉
@UJJAWALKAUL
@UJJAWALKAUL 3 ай бұрын
@janmarshalcoding i followed along the project but when i click on add to watch list from recently added the button doesnt turn red but when i check it in my list it turns red in that path but on the home screen it stays the same so when i click it again it adds it to watchlist again instead of removing it
@ryankim443
@ryankim443 2 ай бұрын
I'm going to start studying with your videos. Thank you very much. I have one question. In your technical configuration, is state management like zuStand not necessary? Is there another way to solve it? Thanks again in advance for your reply
@ifeanyiosi
@ifeanyiosi Жыл бұрын
Hi Jan, Thank you for your hardwork. I really appreciate the effort you put in. God bless you ❤❤. I look forward to more tutorials. I have learned so much and I am your number one fan. Keep up the good work. Is there a discord channel or something where us fan can suggest new videos we want to see or something?
@janmarshalcoding
@janmarshalcoding Жыл бұрын
Thank you 😄, appreciate it. Currently, there is no Discord channel but maybe in the future...
@Furrukhish
@Furrukhish 7 ай бұрын
amazing sir
@claytonmmonteiro
@claytonmmonteiro 6 ай бұрын
best tutorial, can use 2FA with next-auth ? using login and password ?
@ritankarsaha8041
@ritankarsaha8041 8 ай бұрын
why is the email login not working? like mails are only getting sent if i give my email address and not any one elses... can anyone pls help?
@dev15811
@dev15811 7 ай бұрын
same issue i'm facing. did you get your problem resolved?
@herbertk9266
@herbertk9266 7 ай бұрын
Thank you
@OmarFaruk-bz4gw
@OmarFaruk-bz4gw Жыл бұрын
Thanks youre hard work,,
@yessir8248
@yessir8248 Жыл бұрын
Cannot find module 'next/image'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?ts(2792), do you know the fix to this?
@arshah246
@arshah246 Жыл бұрын
01:25:17 why we didn't use clsx
@Deus-lo-Vuilt
@Deus-lo-Vuilt Жыл бұрын
Wow thanks 💜
@sidtahir
@sidtahir Жыл бұрын
I just updated my existing app on github, and change the homepage url and callback url, didn't actually need to create a new app.
@janmarshalcoding
@janmarshalcoding Жыл бұрын
Yeah, that also works, but then dev won't work anymore...
@voldemortvi4264
@voldemortvi4264 Жыл бұрын
thank you for your effort Jan, do i need to have some knowledge about Next js before starting ? i work with React but i havent started with Next js yet
@janmarshalcoding
@janmarshalcoding Жыл бұрын
Thanks, you don't particularly need experience with Next.js, though some things could maybe confuse you (server actions, for example --> I have a tutorial on my channel). I would recommend you to try it out and if you find it too advanced, then either try a primer tutorial or while coding check out the docs since they have been recently revamped and are quite nice in my opinion. Also, some typescript knowledge should be there (I use a lot of interfaces in this project, but they are very simple to understand.) But still I think you can follow the tutorial since it is not toooo complex...
@obahsylva7755
@obahsylva7755 9 ай бұрын
Thank you so much for this great content. I've finally been able to complete the project. i tried add more movies in the seed folder, I followed the pattern set but they are not reflecting. any suggestion?
@janmarshalcoding
@janmarshalcoding 9 ай бұрын
I can't remember anymore if talked about caching in this video. Try redeploying your application on vercel, and then you should see the movies.
@debrauwermichael2366
@debrauwermichael2366 11 ай бұрын
Bro, your tuto is very great ! But your videoSource link is no longer available...
@janmarshalcoding
@janmarshalcoding 10 ай бұрын
Thank you. Yeah, Cloudinary banned my account, but I fixed it now... Check my GitHub, link has been changed which now works.
@deethekingstevens7146
@deethekingstevens7146 10 ай бұрын
What if you implemented a search bar to fetch the movie ? How would you do this ?
@janmarshalcoding
@janmarshalcoding 10 ай бұрын
Depends on how big the index is. if I have only a few movies, I would just directly search it from the db using a debounced value. If i had 100s of movies, I would use something like algolia or whatever other provider there is.
@harjotsingh9894
@harjotsingh9894 11 ай бұрын
Shat is the theme that you are using its so cooll
@janmarshalcoding
@janmarshalcoding 10 ай бұрын
Aura Theme
@SwethaSettu-e9b
@SwethaSettu-e9b Жыл бұрын
Bro for me error showing as can't reach database server
@janmarshalcoding
@janmarshalcoding Жыл бұрын
Have you created a database at supabase have you added it to the env have you double checked that the Passwort has been added correctly
@dxnsav
@dxnsav 11 ай бұрын
@@janmarshalcoding i have the same now, i've recreated db 2 times, 3 times changed password and copied it, but nothing changed. so i've tried to connect in other app using this code const { Pool } = require('pg'); const connectionString = 'postgresql://postgres:[YOUR-PASSWORD]@db.ybrwimxtjailumgoocni.supabase.co:5432/postgres'; const pool = new Pool({ connectionString: connectionString, }); pool.connect((err, client, release) => { if (err) { return console.error('Error acquiring client', err.stack); } client.query('SELECT NOW()', (err, result) => { release(); if (err) { return console.error('Error executing query', err.stack); } console.log(result.rows); }); }); and this code works (obviously I changed [YOUR-PASSWORD] to my one) and I cant understand why the same connection strings work not the same way
@madaraop5348
@madaraop5348 11 ай бұрын
i am getting an error on adapter.
@UJJAWALKAUL
@UJJAWALKAUL 3 ай бұрын
ANYONE FACING NEXT AUTH LOGIN ERROR WITH PRISMA IN THEIR PROJECT ADD ?pgbouncer=true at the end of DATABASE URL to avoid getting prisma and next auth errors MAKE SURE TO ADD directurl in schema file datasource db { provider = "postgresql" url = env("DATABASE_URL") directUrl = env("DIRECT_URL") } and in env add the seesion mode url
@hamza201183
@hamza201183 Жыл бұрын
We want also series with remix, if possible :)
@prashlovessamosa
@prashlovessamosa Жыл бұрын
Only NextJS
@fiimble
@fiimble Жыл бұрын
Hi Jan, Just an observation, but wouldn't it be better to use a different name such as "NextFlix" or something like that to avoid conflicts with the brand? Once again, excellent content!
@janmarshalcoding
@janmarshalcoding Жыл бұрын
Hey Jorge 👋🏻, well, it probably would be better, not quite sure. We will see if I get any problems 😂✌🏻... Btw, thank you so much for the "buy me a coffee", I really appreciate it. Also, I haven't had the time to check out the error you mentioned with clearCart. Just to clarify, it worked on dev but not on vercel ?
@fiimble
@fiimble Жыл бұрын
That is correct@@janmarshalcoding I'm not really sure, but it might have to do with Stripe being on "test" mode...? Jorge
@janmarshalcoding
@janmarshalcoding Жыл бұрын
Hey Jorge, I am not sure why it does not work for you in production, I tried a simple reproduction and for me, it worked in dev as well as in production on vercel. github.com/ski043/use-shopping-cart-clear-cart. If you want me to try out your project, you could send me the project by email... In terms of stripe test mode, this cant be the issue, since there is probably some error with clearing local storage in production. One thing you should maybe also try is, if it works in production in a incognito tab
@j..m1371
@j..m1371 11 ай бұрын
Hi jan, the video is just incredible, but just today I got an error accessing the video source (a 401 error), maybe the cloudinary link doesn't work anymore ?
@janmarshalcoding
@janmarshalcoding 11 ай бұрын
Hey, thank you. Yeah, my Cloudinary account got "banned" because I went 180% over my limit. I will see what I can do tomorrow. For now, you could upload it yourself to supabase storage and use it from there...
@j..m1371
@j..m1371 11 ай бұрын
Thanks for the reply ! do u have the src video or where can I find these types of trailer videos to add to the other movies @@janmarshalcoding
@janmarshalcoding
@janmarshalcoding 10 ай бұрын
Hey, sorry was sick, that's why I didn't reply. Firstly, I fixed the video URL. New URL has been updated in GitHub. For the trailer, I just used KZbin and some generic mp4 converter. But you can also use IMDB and get the video source url through the virtual dom.
@VachaganAchoyan
@VachaganAchoyan 9 ай бұрын
I can't signIn with google, I get an error "Access blocked: netflix-clone has not completed the Google verification process"
@janmarshalcoding
@janmarshalcoding 9 ай бұрын
I think the error is pretty self explanatory. Google it
@shashiraj6226
@shashiraj6226 4 ай бұрын
hello there npx prisma db push this command is stuck and not connecting to my database. can anyone fix this issue plz?
@janmarshalcoding
@janmarshalcoding 4 ай бұрын
Please check the pinned comment.
@shashiraj6226
@shashiraj6226 4 ай бұрын
@@janmarshalcoding thank you for your guide and this amazing project. you were the first youtuber who replied for my query. Thank you again from core of my heart. Keep up the good work🙂💜
@leovurchio
@leovurchio Жыл бұрын
Bro can you make a invite management Systems?
@leovurchio
@leovurchio Жыл бұрын
With forms
@tatsumii1420
@tatsumii1420 11 ай бұрын
what vscode theme are u using
@janmarshalcoding
@janmarshalcoding 10 ай бұрын
Aura Theme
@g.host_xd
@g.host_xd 11 ай бұрын
how i can show real name and email in usernav component, i tried as well as through getServerSession, but its drop down with error because of it is 'use client' component
@janmarshalcoding
@janmarshalcoding 11 ай бұрын
There are two ways, basically. Either, you get your session through the layout file and do a bit of prop drilling. Or you convert your usernav component into a server component and through the sign-out button into a separate client component.
@totallynotdavid
@totallynotdavid 11 ай бұрын
@@janmarshalcoding It would be nice to create a tutorial for that. :') Not necessarily for this project, but a general one. Thanks in advance
@totallynotdavid
@totallynotdavid 11 ай бұрын
Managed to make it work, thanks for the suggestions!
@deethekingstevens7146
@deethekingstevens7146 10 ай бұрын
Hi can you explain how you made this work please? @@totallynotdavid
@SaurabhVlogs9
@SaurabhVlogs9 10 ай бұрын
it showing error in adapter ? how i can solve it
@janmarshalcoding
@janmarshalcoding 10 ай бұрын
whats the error?
@SaurabhVlogs9
@SaurabhVlogs9 10 ай бұрын
it showing me this , i dont know what happen i just follow all your step @@janmarshalcoding
@meherabhassan5421
@meherabhassan5421 10 ай бұрын
@@janmarshalcoding " Type 'import("e:/Softwares/NodeJS/Projects/netflix-clone/netflix/node_modules/@auth/core/adapters").Adapter' is not assignable to type 'import("e:/Softwares/NodeJS/Projects/netflix-clone/netflix/node_modules/next-auth/adapters").Adapter'. Types of property 'createUser' are incompatible. Type '((user: AdapterUser) => Awaitable) | undefined' is not assignable to type '((user: Omit) => Awaitable) | undefined'. Type '(user: AdapterUser) => Awaitable' is not assignable to type '(user: Omit) => Awaitable'. Types of parameters 'user' and 'user' are incompatible. Property 'id' is missing in type 'Omit' but required in type 'AdapterUser'.ts(2322) adapters.d.ts(174, 5): 'id' is declared here. types.d.ts(106, 5): The expected type comes from property 'adapter' which is declared here on type 'AuthOptions' "
@donielearysantonio3423
@donielearysantonio3423 11 ай бұрын
the vidsource not working
@janmarshalcoding
@janmarshalcoding 10 ай бұрын
Check GitHub now working. Changed the link
@yunyang6267
@yunyang6267 Жыл бұрын
why are you using next auth when you have auth in supabase
@janmarshalcoding
@janmarshalcoding Жыл бұрын
When I first created this project I was using supabase auth with the new ssr package, but ran into multiple bugs which was very annoying. That's why I switched to next-auth
@junsgk
@junsgk Жыл бұрын
@supabase/ssr(supabase auth helper deprecated) is pretty much stable I can tell from now with server actions.
@philipjohn2038
@philipjohn2038 Жыл бұрын
when am on the user/list then i logout, it routes me to user/list/login, any help
@janmarshalcoding
@janmarshalcoding Жыл бұрын
At what timestamp of the video are you?
@philipjohn2038
@philipjohn2038 Жыл бұрын
@@janmarshalcoding after i finished the project I noticed it
@philipjohn2038
@philipjohn2038 Жыл бұрын
@@janmarshalcoding even adding a router.push("/login" ), does not fix this
@janmarshalcoding
@janmarshalcoding Жыл бұрын
​@@philipjohn2038home/layout.tsx do you do the following --> const session = await getServerSession(authOptions); if (!session) { return redirect("/login"); } is the user/list folder nested inside of the home folder ? --> home/user/list
@galuxboi
@galuxboi Жыл бұрын
@@philipjohn2038 maybe u should clean up nextauth callback url
@Kmkn308
@Kmkn308 Жыл бұрын
@Tanner-cz4bd
@Tanner-cz4bd Жыл бұрын
why next auth and not auth.js?
@janmarshalcoding
@janmarshalcoding Жыл бұрын
next-auth is basically auth.js
@Tanner-cz4bd
@Tanner-cz4bd Жыл бұрын
I thought maybe different steps I'll give it a try
@amalmurikkoli7629
@amalmurikkoli7629 Жыл бұрын
Hi Jan, would you like to review my blog website code, it will be really helpful for me to get a feedback from you.
@treyrader
@treyrader 9 ай бұрын
lol oh no another netflix clone? should i fast forward to the last 30 mins or what?
@lokeyparryyt9904
@lokeyparryyt9904 11 ай бұрын
sir i have a question in schema.prisma and seed page.tsx hav an error like uniqe constraint fialed on fields('id')*prismacleint knownrequesterror;invalid prisma.movie.createmany() invocation
@lokeyparryyt9904
@lokeyparryyt9904 11 ай бұрын
how to solve it
@hoanglannguyen4211
@hoanglannguyen4211 10 ай бұрын
I don't know why adapter got error at here export const authOptions = { adapter: PrismaAdapter(prisma), ...} Type 'import("d:/SELF STUDYING/KZbin/Nextjs/Netflix/netflix/node_modules/@auth/core/adapters").Adapter' is not assignable to type 'import("d:/SELF STUDYING/KZbin/Nextjs/Netflix/netflix/node_modules/next-auth/adapters").Adapter'. Types of property 'createUser' are incompatible. Type '((user: AdapterUser) => Awaitable) | undefined' is not assignable to type '((user: Omit) => Awaitable) | undefined'. Type '(user: AdapterUser) => Awaitable' is not assignable to type '(user: Omit) => Awaitable'. Types of parameters 'user' and 'user' are incompatible. Property 'id' is missing in type 'Omit' but required in type 'AdapterUser'.ts(2322) adapters.d.ts(174, 5): 'id' is declared here. types.d.ts(106, 5): The expected type comes from property 'adapter' which is declared here on type 'AuthOptions' (property) AuthOptions.adapter?: Adapter | undefined You can use the adapter option to pass in your database adapter. Required: No
@tomaHdl
@tomaHdl 10 ай бұрын
try to install this package : npm i @next-auth/prisma-adapter and add new import : import { PrismaAdapter } from "@next-auth/prisma-adapter"; It worked for me
@hoanglannguyen4211
@hoanglannguyen4211 10 ай бұрын
OMG thank you somuch, you just save my life, I appreciate that ^^. I found a way to fix it but nothing works. @@tomaHdl
@obahsylva7755
@obahsylva7755 9 ай бұрын
it actually worked on dev environment, but cant deploy via vercel@@tomaHdl
Build an Invoice App with Next.js 15
4:34:24
Colby Fayock
Рет қаралды 55 М.
Farmer narrowly escapes tiger attack
00:20
CTV News
Рет қаралды 6 МЛН
This Game Is Wild...
00:19
MrBeast
Рет қаралды 171 МЛН
Supabase and NextJS 14:  Auth and Server Actions
1:19:31
Jolly Coding
Рет қаралды 26 М.
Build and Deploy a Responsive Portfolio Website with Astro
2:50:01
Ultimate Guide to File Uploads & Management in Next.js
2:26:11
Jan Marshal
Рет қаралды 6 М.
Forms in Next.js Made Easy (Headless API Integration & Validation)
1:40:24