To whoever facing the problem with the "application/zip" just replace that with "blob" When you upload a zip file, it's possible applciation/zip isn't the exact mime-type of the file uploaded. Meaning, the zip you're trying to upload doesn't have the mime-type you're expecing it to, which is why it kept failing. blob is just a catch-all, will allow any filetype. Thanks for the video, Jan
@janmarshalcoding6 ай бұрын
WOW, thanks! I was already wondering why some people were complaining. Didn't have the time to dive into this issue. So thank you for providing an answer!
@plsgivemecat6 ай бұрын
@@janmarshalcoding Thank you for replying. Everything works smoothly. But I wanted to ask - how can I send the mail to the user's email address instead of harcoding it? I know you have set the BuyProduct route such that anybody can buy a product but I don't like how all files are being sent to the hardcoded email. Can you give a workaround please? In the api/stripe/route.ts file, I added protection saying: if (user && user.email) { const link = session.metadata?.link; console.log('Sending email to:', user.email); // Log the email being sent to // Send the email using the user's email await resend.emails.send({ from: "Tailwind Marketplace ", to: user.email, subject: "Your Product from Tailwind Marketplace is here 🎉", react: ProductEmail({ link: link as string, }), }); but i dont get the email to the user's email address. Please help :(
@plsgivemecat6 ай бұрын
@@janmarshalcodingJan is there a way we can replace the hardcoded email in api/stripe/route.ts? Please make a video on it
@janmarshalcoding5 ай бұрын
@plsgivemecat Hey mate, sorry for not responding, I sadly don't get notifications on comment threads. So I hard-coded the email because if you want to send emails to any email you have to verify your domain with resend. If you have done that, you can send emails to any domain/email you want and don't have to hard-code your email. From what I understand, you used the kinde hook to get the user email. What I would rather do is getting the email from the webhook ( const session = event.data.object;) and then send that to the email of the user who bought the product. tldr: you have to authenticate your domain with resend to send emails to user. You can check Resend logs to see the error...
@plsgivemecat5 ай бұрын
@@janmarshalcoding THANK YOU SO MUCH. It worked! You are amazing
@KojoJohnson3 ай бұрын
Ive never had any one teach the way u teach...u have a pure teaching talent...thats going to take u so far. Thanks
@janmarshalcodingАй бұрын
Don't know how I missed this comment. But thank you so much for the kind words!!! 🫶
@paarsaJam6 ай бұрын
Thank you so much, Teacher Jan, for your extremely kind and thoughtful gesture of offering such amazing and valuable content! Your skills and expertise as a developer are truly exceptional and greatly appreciated. 🙏
@markus_dev_cwb6 ай бұрын
You're definitely one of best developers. Amazing teaching Jan, tks to share this Project.
@risbelsuarezrodriguez96085 ай бұрын
I was looking for this video on KZbin a long time ago but never found it, thanks a lot for your contribution man.
@mlamintamba5 ай бұрын
Jan, you really know what you’re doing… great explanation and easy to understand… can’t wait to get more great tutorials from you… nice one… keep up the good work.
@swastikpatel2346 ай бұрын
Jan is levelling up after each of his project , thank you so much for such hardwork and making this content free for us , too much to learn from this , will be following for sure
@purnimavats01Ай бұрын
Thanks Jan for the great tutorial, I have a doubt regarding the form. Wouldn't it be better to use react-hook-form instead of all the custom form setup that we have done like the error messages and all ? Or would it create some problem ?
@chadcn6 ай бұрын
Thanks a lot Jan for delivering such an amazing content for free! ❣🙌
@tushswe6 ай бұрын
what, we have a chadcn now smh
@Omar_Al_Seddik6 ай бұрын
chad xD
@shanejenkinson37236 ай бұрын
I like your content and thanks for giving it us for free. 😄 Now you've learnt Stripe Connect, can you do something similar with Stripe Connect Standard. Express has its downfalls, I don't want to be responsible for chargebacks and refunds due to someone else's incompetence. There is literally 1 other video on KZbin that covers it, but it's 14-hour-long, you explain it better in shorter videos.
@AlexVezentan2 ай бұрын
good job, i believe that u forgot to show the Stripe `npm` comands from the integration part.
@fvanced2 ай бұрын
Great tutorial. I hope we can have someone who can do tutorial like Jan in Vue/Nuxt. His tutorial is multi dimension and with good explanation.
@sodvm5 ай бұрын
Subbed! This is daf. Although I am not sure I plan to use any of the third party integrations, this vid is uber detailed and totally worth the view if you are nextjs curious as I am. Other teachers should take notice.
@upeshjeengar5 ай бұрын
Thanks for the video Jan! You helped me solving a bug in my code
@chukwuemekamusic6634 ай бұрын
guy you saved me a lot of headache... thank you
@dreamsachiever2126 ай бұрын
one word : WOW ! thank you so much
@digitalsahara66705 ай бұрын
Great video man! do you think you would consider doing smaller videos covering intergration of auth/databases only. ie using supabase and manging kinde auth data in it? basically what you did in this video but in smaller sessions ?
@justric882 ай бұрын
Awesome tutorial, Jan! Anyone know how I can switch Stripe to live mode? I’ve tried swapping the keys but was getting an error showing that Stripe was setup in test mode. Any help is greatly appreciated!
@smartdriver29902 ай бұрын
Done. Thanks for the tutorial. I learned a lot from this. Keep it up for the great works
@janmarshalcoding2 ай бұрын
🫶🏻
@Toomda5 ай бұрын
Very nice tutorial and amazing explanations! Thank you, you deserve much more subscribers!
@GregPeters16 ай бұрын
Takes me a whole month to build a regular 'ol blog 👀. Anyways, great job, Jan. I'm a fun of your work...
@CodeMuscle003 ай бұрын
Great video! Unfortunately, got to know that Stripe isn't supported in India
@SylvainGnambode3 ай бұрын
Merci beaucoup mon gars Tu es le meilleur
@marroos54405 ай бұрын
Hello, can you include base64 and server-side image loading with blur placeholder in next project please? I see it on many websites, tried to implement it, but when i create let's say getImages function to get all images from db and perform base64 in there to add blur, app is super slow. Google "tutorials" did not help me much, so i came here, because your implemetations and explanations are excellent and easy to follow. :-) Ty
@AIMediaMastery6 ай бұрын
You are the best !!
@hbela10005 ай бұрын
Great tutorial.Danke.
@llewellynhanekom7856 ай бұрын
Thanks so much for this amazing video, great work!
@yantech.42496 ай бұрын
Amazing project Sir. big thanks
@leodang006 ай бұрын
Thank you! I vote "Patreon Clone" using Nextjs + Lemonsqueezy payment + Authjs + Postgres Neon for the next video.
@roninspect43574 ай бұрын
Please make a mini project with Supabase/ssr auth!!!
@swarnabhamajumder95616 ай бұрын
Can a beginner in next js watch this course sir? I was actually just planning to start next js so that why either way loved the demo of the project loved the effort you put on.
@ilan1175 ай бұрын
Hi Jan 👌 I just noticed. There is no way to the update product details nor deleting the product. Am I missing something ?
@Amankhan-cl1dq4 ай бұрын
Hello Jan, your tutorial was amazing but I have one question- How can I send mail to the user who has logged in. I guess in your video you have not covered this part. I tried getting the user from the kindeserversession and passing the email to the 'to' of resend function but that didn't work. Please tell me how to solve it.
@niteshprajapat79186 ай бұрын
amazing as always 🔥❤💪
@sovannborithyun52056 ай бұрын
Thanks so much for this amazing video.
@BioDevOP4 ай бұрын
Thank you for the great video I have one error I deploy the website and I keep getting error 500 api/auth/creation Any idea?
@TheNaive3 ай бұрын
At 6.20.00 you mentioned prisma db push will erase all current entries How does this suitable in production. Can you give details in that environment
@palakornvoramongkol9230Ай бұрын
thanks for creating this project.
@edemar-q9x3 ай бұрын
Hi Jan! Congrats on your work and thank you for sharing it! I have a question technical question: is there any particular reason why Kinde authentication is preferable to Supabase's authentication? (besides being the video sponsor)
@janmarshalcoding3 ай бұрын
Hey, what's up I’ve answered this question a few times, but here’s my take: First off, yes, Kinde is the sponsor of this video. However, even if they weren’t, I would still never use Supabase Auth. Reasons for that: 1. I find the implementation to be more than just buggy. The SSR package needs to be rebuilt, in my opinion, because it works as expected only about half the time. 2. Supabase Auth is very basic and doesn’t offer any user management features. 3. You have to build the entire sign-in and registration forms yourself. You might think it’s easy, and it is at a basic level, but eventually, you’ll need to prevent your forms from being tampered with. At that point, it’s like starting from scratch again.
@simothedeveloper4 ай бұрын
Great video!! Do you know if Stripe Connect has more fees than just Stripe Checkout?
@nogafouz21745 ай бұрын
I apologize for the inconvenience, but I am encountering an issue with the Stripe webhook. Everything seems to be working fine except for the stripeConnectedLinked which remains false, even though I have completed the Connect setup and have been redirected to return/[id]. However, when I attempt to sell a product, I am unable to proceed and am redirected to create the Connect link again. Upon checking the stripeConnectedLinked status, I found it to be false
@simothedeveloper4 ай бұрын
ehi man I have the same problem here. Are you also getting 302 or 308 status code error in the stripe CLI? I found that the webhook is not reaching the route.ts file at /stripe/connect, have you found a solution?
@ikbo3 ай бұрын
why don't you use shadcn's navbar component instead of coding it from scratch?
@ilan1175 ай бұрын
Hi Jan ❤ Just wanted to prompt that as soon as you integrate the SSR Plugin into the Layout I am getting a warning in the console saying …… “Warning: Only plain objects can be passed to Client Components from Server Components. URL objects are not supported. ” … do you have any idea how to fix it ?
@shahzazaib6 ай бұрын
Seems interesting ❤
@scorpion326 ай бұрын
I love it👌
@Isticsek6 ай бұрын
Really great job Jan, as always! Thank you for your great effort! #teamactually :D
@adityaSwamii6 ай бұрын
great work
@mohammadabbas16236 ай бұрын
Ur a masterpiece 😄
@mohammadabbas16236 ай бұрын
Brother there is a freelancing project that im doing with next.js its king of Trello site task management but in that i need to hand pdf uploads as well with edit options to pdf, which approach i should follow to handle and upload a pdf to S3 and for editing it any library, or any good vid if u can recommend tutorial
@MiriamL-g3w5 ай бұрын
Someone knows how to do in the case you want the charge the user, hold the money and payout the seller after a certain period of time?
@simothedeveloper4 ай бұрын
I wanted to do the same, have you found the way to do this?
@iuashrafi6 ай бұрын
thank you !
@JakePeraltaaa995 ай бұрын
Can a beginner with intermediate knowledge of html css and js and little knowledge of react and next go for it? Should i start this? I'm hoping for a project based learning
@nassergmr13744 ай бұрын
so u did it?
@federicofanini6 ай бұрын
What VS Code theme are you using? Great video, best on yt
@janmarshalcoding6 ай бұрын
Thanks, Aura theme
@thisisCloaked5 ай бұрын
Can we sell pdf, videos rather than pictures?
@404-not-found-service6 ай бұрын
wow , thanks
@nogafouz21745 ай бұрын
Thanks so much for this project, but I have a problem. I uploaded three images, but I only see the last one. However, in the uploadthing I see three images.
@janmarshalcoding5 ай бұрын
Then there some problem with your array. Please check github and see if you have the same code
@nogafouz21745 ай бұрын
@@janmarshalcoding i found the solution where i should spread the array of image sfirst like that : setImages((prevImages) => [...(prevImages || []) , ...res.map((item) => item.url)]);
@zawayavision6 ай бұрын
hi, I'm looking for a script for Marketplace like Etsy? THANKS
@hydraagod5 ай бұрын
Hi I get this error when i try to run the flow of buying a product Error: Can only apply an application_fee_amount when the PaymentIntent is attempting a direct payment (using an OAuth key or Stripe-Account header) or destination payment (using `transfer_data[destination]`). How to solve this?
@Ianthecreat0r6 ай бұрын
In the next project, please show us how to change the font off aplication, using google fonts or something like that.
@PlasmaHarsh6 ай бұрын
The font is set in the root layout.tsx. Just import whichever font you like, Google fonts are available by default.
@Ianthecreat0r6 ай бұрын
@@PlasmaHarsh is just alter the font on layout? GoogleFonts is istalled by default?
@mDHARYL6 ай бұрын
Dude you can make it in your own. 😊
@hubesh7166 ай бұрын
can you please make one with react native
@passionstudio38566 ай бұрын
thanks bro
@Love-id8gu6 ай бұрын
WOW!
@mainamburu80366 ай бұрын
You got me at stripe connect am locked in
@swag-nocopyrightmusic89816 ай бұрын
Let's create Skool clone using Stripe Connect too
@SG075 ай бұрын
Why people are not using Next auth?
@sovannborithyun52056 ай бұрын
After trying to upload the zip file, seem no file selected and not sure what causes the issue. I am sure follow and also compare with your source code.
@Southernview3k6 ай бұрын
Have the same zip problem
@janmarshalcoding6 ай бұрын
So when you select a ZIP file and click on upload, do you see it in the uploadthing dashboard? I need a bit more info to investigate... When I just tried to copy my code on GitHub and upload a zip file everything worked, so not sure why it does not work for you...
@sovannborithyun52056 ай бұрын
@@janmarshalcoding After selected the file, the DropZone… just still be the same and keep mentioning “Please Select the file…”
@janmarshalcoding6 ай бұрын
Things you should test out: 1: Go to my GitHub and copy pate the following files: uploadthing/core, uploadthing/route, lib/uploadthing and the sellform. 2. Now restart your dev server. 3. Try again. 4. If this does not work, delete the auth function in the middleware (use a dummy auth function like in the docs) and try to upload in incognito. The code itself does not have any errors since I just tried it and uploadthing zip files works. Just make sure it's a zip file and not a folder...
@plsgivemecat6 ай бұрын
@@janmarshalcoding i am facing the same issue. i double checked on my uploadthing dashboard and there was no file under the "productFileUpload" route. i made sure the code is aligned with your repo and also made sure i was selecting a zip file not a normal folder. this is super weird. @sovannborithyun5205 @TheGospelboard did you get a solution to this? please help me out
@ahmedabdelmeguid11316 ай бұрын
please where the link of the application after the deployment
@Furrukhish6 ай бұрын
I can't upload zip file when uploading product it always throw error that upload zip file
@janmarshalcoding6 ай бұрын
Whats the error message?
@anasnadkar5 ай бұрын
you can just replace this "application/zip" with "blob" in your in "app/api/uploadthing/core.ts"
@Nzemia5 ай бұрын
@@anasnadkar Thanks man. I was stuck here for a day trying to figure out where i went wrong!
@mihirpatil_Ай бұрын
Go through the Setup file uploads
@mihirpatil_Ай бұрын
later Settings: 3:33:58
@mihirpatil_Ай бұрын
also check for the ZIP upload section in the video
@asustufa15156 ай бұрын
what vscode theme?
@gauravjain88075 ай бұрын
The stripe webhooks won't get fired in Production server, please resolve it
@janmarshalcoding5 ай бұрын
They do, watch the vid lol
@gauravjain88075 ай бұрын
@@janmarshalcoding yeah sorry, they were in end 😅, damn you marshal..., btw it was a great a video, learned alot 🫂, I've also made a project following this tutorial, wanna see it?
@amt.7rambo670Ай бұрын
1:58:21
@arupde63206 ай бұрын
github ??? where ???
@yousefsaeed7326 ай бұрын
Is there anything need credit card in this tutorial please ? 🥺
@janmarshalcoding6 ай бұрын
Nope no cc needed
@evansensteen70006 ай бұрын
Can I use mongodb for database
@janmarshalcoding6 ай бұрын
Sure
@evansensteen70006 ай бұрын
@@janmarshalcoding Error validating field `id` in model `Product`: MongoDB model IDs must have an @map("_id") annotation.
@evansensteen70005 ай бұрын
@@janmarshalcoding how do you manage to use stripe cli in vscode for webhooks
@arbabkamal3629Ай бұрын
Can't create user
@lotfibendiaf70046 ай бұрын
Surgical Goblin [Clash Royal]
@SeanScotts6 ай бұрын
My primary usage of this account is going around on KZbin and trying out in-depth tutorials from KZbinrs, be warned Jan Marshal, I've just started out your tutorial, will give my review before end of Sunday
@omerayhan17045 ай бұрын
Where's your review?
@Gamingbeluga345 ай бұрын
Where is the review?
@mountINEER4 ай бұрын
Where's review
@omerayhan17044 ай бұрын
bro thinks he's from government 🤣
@zainn73366 ай бұрын
bruh create real time chat app
@blackhatdll5 ай бұрын
stop copying other projects and share as it's yours. Okey
@janmarshalcoding5 ай бұрын
what do you mean lol
@blackhatdll5 ай бұрын
@@janmarshalcoding code with antonio, josh tried coding you know what I really mean
@janmarshalcoding5 ай бұрын
@@blackhatdll nope, I don't know what you really mean... the design from this project was taken from tailwind awesome...
@blackhatdll5 ай бұрын
@@janmarshalcoding hahahaha oky oky i'm sure you don't know
@janmarshalcoding5 ай бұрын
@user-gn2ev1nu1p I really don't care, think what you want... Enjoy your day ✌🏻
@vetirsАй бұрын
dude no one care to see u face talking please show us the demo
@ubermensch_111120 күн бұрын
That's rude
@sysshadowgaming5 ай бұрын
@janmarshalcoding How to fix the Invalid `prisma.product.findMany()` invocation error