Thanks so much for the tutorial, it's so thorough and detailed. I even enjoy the repetitive --legacy-peer-deps and "that's because the server isn't running" haha! I run into one issue because of the conform versioning. the problem behavior is that: during working on the edit article component. I want to populate the form using the existing data from db. when I load or reload that page, the db value showed up for a split of a second then is quickly overwrite with the placeholder. I finally found the problem that it's due to conform's version. i think in your code your are using conform 1.1.5 and i'm using 1.2.1. with 1.2.1 conform always overwrite the value already populated by "value" attribute. downgrade the conform to 1.1.5 the value will show up from the db.
One of the most complete content I've seen! Congrats! I'm only on the two hours mark on the video but I can already say that. Just one question: About the user synchronization from Kinde with the database, wasn't better to use Kinde webhooks, to call an API route once a Kinde event (user.create / user.update etc) was triggered?
First of all thank you, glad you like it and it can help you! To answer your question, yes, Webhooks are a good idea and probably something I would encourage for a production build. The reason why I don't do that is that I started using kinde when webhooks weren't a thing, and that's why got used to doing things I do them... But it's very easy to achieve this if you want to learn it by yourself. Here are the docs: docs.kinde.com/integrate/webhooks/webhooks-nextjs/ I will try to show this in my next video
Thank you for the tutorial. Why don't you utilize webhooks with an API route handler for syncing the Kinde user to the Supabase database? Is there any reason you prefer using a server action with the auth-callback page? I'm a beginner but the Kinde documentation specifically had a user.created trigger so I figured that would be the standard way to go about it.
I wish just one of these tutorials would teach you how to roll your own EVERYTHING (auth, db, etc.) from scratch, so you aren't dependent on 10 different cloud providers just to have an app, and you actually learn. The one exception being Stripe, because payments suck.
Valid point. However, it's difficult to create something exactly like what you're asking for in a free video. If this were a paid video, I'd completely agree with you. But since it's free, I can't use services like Hetzner, which require a credit card. Many viewers of these videos need access to free tiers...
@@janmarshalcoding No, I'm saying don't use ANY cloud services, except for maybe the bare metal prod server (Ubuntu box). Want auth? Here's how to do full auth using psql. Want to use db? Great, here's how to get psql running locally and on prod.
from engineering learning stand point it would be good to learn the fundamental from scratch, but maybe good to break it down in multiple video. I actually enjoy all the external tools like supabase/kinde... I'm trying to build a startup product and recently realize that having these tools significantly help me reach the market quickly and if i find product market fit I will use the money to decouple some of these dependencies. if not, then it's free and quick solution and goes to trash or become a tool project anyways. just my own experience tho.
hey Jan, awesome video! I just finished your other SaaS project but will do this soon. Offtopic tho, please, is that mic a SHURE MV7? If yes, that awesome sound, you used some auto settings in the shure app, obs settings, or anything else? I am really curious about it cos I want to buy that mic :D Thanks!
Hey mate, Yes, this is a Shure MV7. I have the white edition, and I like it. I know there are newer versions like the MV7+ or something similar, but personally, I don’t see any reason to upgrade. It works perfectly for my use case. Initially, I wanted to buy the Shure SM7B, but the issue is that you need to purchase a Cloudlifter and other equipment, which I didn’t want to do since I travel with my mic. Plus, I didn’t really want to spend $600 on a mic setup. The only thing that annoys me about the Shure MV7 is that it uses a micro USB port, and it can be a bit fiddly. I’ve never had any problems with recording, but the cable can still be a bit annoying. I know the new version has USB-C, but I’m not sure if paying more just for a different cable and some RGB lighting is worth it. As for settings, I just use the default ones in the Shure app. I have it set to dark sound mode, and I like it. Inside OBS, I haven’t set up anything because, honestly, I don’t really know what to do in there 😂 ahh and also I have added a pop filter from the shure SM7b (20 dollars on amazon). It helps with plosives a bit more.
Hey Jan. While editing the article, why are we not updating the image? Or is it covered somewhere later in the course? Just wanted to know. About the course though, it's great!
Great tutorial - I like Conform for creating forms, but the documentation they provide is minimal. I would like to use a date picker within a form but I am struggling to see how to get it to work. If someone has done this could they point me in the right direction please?
As a beginner sometimes our Blogger/WordPress Blog doesn't satisfy google's policy and runs into issues leading to monetization approval. If developing fullstack saas deployed how & what setup we should follow to meet Google's policy approval for AdSense monetization 😮. Kindly Guide us😊.
Also, the left side menu of dashboard ( the links for site , dashboard, pricing) are not visible in smaller screen, guess he forgot to add the menu option.
@@janmarshalcoding Thank you so much Jan. I am building the project in my pace. Hopefully you bring the video quickly about the specific hook. By the way thanks for the video I have also made the ecommerce project and it gave me a lot of confidence. Thanks for always creating such content for free.
Copied from a different comment: 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. At the end i create my projects with stuff that i have tested in production and can recommend. And Supabase auth just isn't there were i would like it to be.
Excellent excellent courses, but I dont understand some steps. Protect server actions? Why? Server actions are not routes, cannot be called them via postman or directly. They are called from other components, so impossible call them directly. If that component which one calls server action is protected the server action also will be "protected", because for exmaple reach that particular component only authorized user can. So it is redundency.
Explaining would take to much time. Here is an twitter post on it. TLDR server actions are public endpoints and should be treated as ones x.com/asidorenko_/status/1838315424091644341?s=61&t=jVnmZo2Zc_o80Jws4K0qxA
Explaining would take to much time. Here is an twitter post on it. TLDR server actions are public endpoints and should be treated as ones x.com/asidorenko_/status/1838315424091644341?s=61&t=jVnmZo2Zc_o80Jws4K0qxA
Valid question. I discussed this in detail in my video for channel members, but I’ll give you a brief TL;DR: 1. Reliance on Supabase/Postgres → Migrating to another database is much harder and more time-consuming. 2. Great for basic queries, but it becomes challenging when trying to run more complex ones (speaking from experience). 3. I don’t quite like the idea of giving it my public keys. 4. I’m not a fan of RLS (for various reasons...).
This guy has legit videos and made me build my saas product thanks a lot
how do u use shadcn with next rc?
it simply doesnt work i used his install script for the radix components.
I followed the entire tutorial! Amazing work :) This is probably the best walkthrough and explanation I have found for this kind of tutorial.
🫶🏻
how do u use shadcn with next rc?
it simply doesnt work i used his install script for the radix components.
Want to know A Cool Thing ....I Have completed your Digital Marketplace Couese Such an amazing Course and now i also got this...
Excellent Project Jan! Love how you are giving values to the community!
how do u use shadcn with next rc?
it simply doesnt work i used his install script for the radix components.
Man, your content is pure fire 🔥🔥🔥
Ich war am überlegen, ob ich mir das Video anschauen wollte oder nicht, aber die Gerolsteiner Flasche hatte mich überzeugt!
Hahah 🤝
I liked your video. Mostly, because you make see me the errors like an apprentice.
marshal you did something unbelievable keep things up
Thank you my friend, you are the best, the html editor and other stuff is perfect for me.
Thanks so much for the tutorial, it's so thorough and detailed. I even enjoy the repetitive --legacy-peer-deps and "that's because the server isn't running" haha!
I run into one issue because of the conform versioning. the problem behavior is that:
during working on the edit article component. I want to populate the form using the existing data from db. when I load or reload that page, the db value showed up for a split of a second then is quickly overwrite with the placeholder.
I finally found the problem that it's due to conform's version. i think in your code your are using conform 1.1.5 and i'm using 1.2.1. with 1.2.1 conform always overwrite the value already populated by "value" attribute. downgrade the conform to 1.1.5 the value will show up from the db.
Amazin' content. Congrats!!!
You're just awesome man!
One of the most complete content I've seen! Congrats!
I'm only on the two hours mark on the video but I can already say that.
Just one question: About the user synchronization from Kinde with the database, wasn't better to use Kinde webhooks, to call an API route once a Kinde event (user.create / user.update etc) was triggered?
First of all thank you, glad you like it and it can help you!
To answer your question, yes, Webhooks are a good idea and probably something I would encourage for a production build. The reason why I don't do that is that I started using kinde when webhooks weren't a thing, and that's why got used to doing things I do them...
But it's very easy to achieve this if you want to learn it by yourself. Here are the docs: docs.kinde.com/integrate/webhooks/webhooks-nextjs/
I will try to show this in my next video
Awesome project Jan.
Very cool thank you for that!
Thank you for the tutorial. Why don't you utilize webhooks with an API route handler for syncing the Kinde user to the Supabase database? Is there any reason you prefer using a server action with the auth-callback page? I'm a beginner but the Kinde documentation specifically had a user.created trigger so I figured that would be the standard way to go about it.
The king is back 👑
I wish just one of these tutorials would teach you how to roll your own EVERYTHING (auth, db, etc.) from scratch, so you aren't dependent on 10 different cloud providers just to have an app, and you actually learn. The one exception being Stripe, because payments suck.
Valid point. However, it's difficult to create something exactly like what you're asking for in a free video. If this were a paid video, I'd completely agree with you. But since it's free, I can't use services like Hetzner, which require a credit card. Many viewers of these videos need access to free tiers...
@@janmarshalcoding wdym bro, Vercel + AWS and you can do pretty much everything in the world
AWS requires a credit card
@@janmarshalcoding No, I'm saying don't use ANY cloud services, except for maybe the bare metal prod server (Ubuntu box). Want auth? Here's how to do full auth using psql. Want to use db? Great, here's how to get psql running locally and on prod.
from engineering learning stand point it would be good to learn the fundamental from scratch, but maybe good to break it down in multiple video. I actually enjoy all the external tools like supabase/kinde... I'm trying to build a startup product and recently realize that having these tools significantly help me reach the market quickly and if i find product market fit I will use the money to decouple some of these dependencies. if not, then it's free and quick solution and goes to trash or become a tool project anyways. just my own experience tho.
hey Jan, awesome video! I just finished your other SaaS project but will do this soon. Offtopic tho, please, is that mic a SHURE MV7? If yes, that awesome sound, you used some auto settings in the shure app, obs settings, or anything else? I am really curious about it cos I want to buy that mic :D Thanks!
Hey mate,
Yes, this is a Shure MV7. I have the white edition, and I like it. I know there are newer versions like the MV7+ or something similar, but personally, I don’t see any reason to upgrade. It works perfectly for my use case. Initially, I wanted to buy the Shure SM7B, but the issue is that you need to purchase a Cloudlifter and other equipment, which I didn’t want to do since I travel with my mic. Plus, I didn’t really want to spend $600 on a mic setup.
The only thing that annoys me about the Shure MV7 is that it uses a micro USB port, and it can be a bit fiddly. I’ve never had any problems with recording, but the cable can still be a bit annoying. I know the new version has USB-C, but I’m not sure if paying more just for a different cable and some RGB lighting is worth it.
As for settings, I just use the default ones in the Shure app. I have it set to dark sound mode, and I like it. Inside OBS, I haven’t set up anything because, honestly, I don’t really know what to do in there 😂
ahh and also I have added a pop filter from the shure SM7b (20 dollars on amazon). It helps with plosives a bit more.
Legged 🎉🎉
bro what are your extensions, ur vscode looks very good to see
Hey, I have a vid called: How to make VS Code 10x more productive
There I show everything (layout, theme, extensions etc)
What extension you are using for time tracking in vs code??
Love the video though ❤
Hey, I have a vid called: How to make VS Code 10x more productive
There I show everything (layout, theme, extensions etc)
@@janmarshalcoding ok appreciate it
What icon theme is that on vs code, Icons are beautiful on your vs
Hey Jan. While editing the article, why are we not updating the image? Or is it covered somewhere later in the course? Just wanted to know.
About the course though, it's great!
nice video, keep going
Thanks for mkaing this video.
bro decided to wake up and be a legend
what are things to be added in the env? please keep .env.example
Purtroppo arrivato al tempo 9:35 del video, inserendo al nuovo terminale: stripe login, mi da errore
which vs code theme did you use?
um -- > how do you get shadcn to work? i used ur install script for radix but it still doesnt work to put in a dropdown-menu >.
Hello, I needed clarification on why you use Prisma with Supabase? As I know, Supabase has its own syntax, which is even easier than Prisma's.
Are you using MacBook air m1?
Hey.. can you tell which extension you have installed for icons and folder? It's looking beautiful.
Hey, I have a vid called: How to make VS Code 10x more productive
There I show everything (layout, theme, extensions etc)
Hey, can you share an empty .env only with the keys names?
Can you tell is Uploadthing file uploads better than supabase inherit file uploading like why we using Uploadthing instead supabase file storage?
Great tutorial - I like Conform for creating forms, but the documentation they provide is minimal. I would like to use a date picker within a form but I am struggling to see how to get it to work. If someone has done this could they point me in the right direction please?
Can you create one Saas product using MERN ? Reactjs and nodejs
bro what about the security are there any addons we might have to do if we build this professionaly in terms of security??
If i want to pass a toast message of "Article created" or "Article Edited", "Article Deleted", in which moment and component i do it?
me stealing the hero section 👀👀
that makes two of us
Me stealing the whole project 💀
four of us 😂
Ahahahah. The GitHub Repo is open to take whatever you need. Remove my Spelling mistakes though 😂
@@janmarshalcoding thanks man 🙏
spelling? I didn't notice 😂
Prerequisite?
When or where did you design the sign-up page? When I click on buttons, I get this page doesn't exist
ok i found out that [kindaAuth] folder name is case sensitive, which is why my Kinde integration was not working. how unkind! LOL
Can you create an using GraphQL
The github repo does not redirect to github repo! Could you please fix this?
I am little confused. Should i buy m1 or m2 8gb ram
PLEASE CAN YOU BUILD AI SAAS FUNNEL BUILDER? LIKE CLICKFUNNEL OR FUNNEL X BUILDER
so you are using supabase only for database?
Yes. Not a fan of the rest provided by supabase.
Whats this font name
what is the function of this web
tell pls theme you used in vscode
Hey, I have a vid called: How to make VS Code 10x more productive
There I show everything (layout, theme, extensions etc)
hi everyone
I have a question , I want to see Members-only videos but i dont know how . can you help me ?
This is called server actions right?
In the video I use server actions so yes
Is there any breaking changes in Nextjs 14 and 15 ??
useFormState --> useActionState and instead of default caching, It's now not default cached.
@@janmarshalcoding Got it Jan. Thank you and Love from India
**BUG** hey Jan, great project. But there is a bug, when someone creates two articles of same slug then it shows error.
Hey,
Jan I have a small question.
Is this Web App Mobile Responsive?
Yes
As a beginner sometimes our Blogger/WordPress Blog doesn't satisfy google's policy and runs into issues leading to monetization approval. If developing fullstack saas deployed how & what setup we should follow to meet Google's policy approval for AdSense monetization 😮. Kindly Guide us😊.
Nice video, not a fan of third party commercial auth packages
Great, can we get source files/code?
Hey, second link UA-cam description
@@janmarshalcoding Thanks man, you awesome
❤❤❤❤
Setup your blog in Minutes - 12 hour video.
Also, the left side menu of dashboard ( the links for site , dashboard, pricing) are not visible in smaller screen, guess he forgot to add the menu option.
If anyone read this comment just help me in one thing, can i use next js 14 instead of next js 15
100%. The code is the same. Only the name of one hook is different, but I talk about this in the video
@@janmarshalcoding Thank you so much Jan. I am building the project in my pace. Hopefully you bring the video quickly about the specific hook. By the way thanks for the video I have also made the ecommerce project and it gave me a lot of confidence. Thanks for always creating such content for free.
Hi bro your contents are amazing, please add a drizzle-orm to your next projects
Thank you! I plan to do so, but not 100% sure if the next video will feature drizzle-ORM
stripe: The term 'stripe' is not recognized as a name of a cmdlet, function, script file, or executable program.
can any one tell me vscode theme name
Hey, I have a vid called: How to make VS Code 10x more productive
There I show everything (layout, theme, extensions etc)
Why kinde and not supabase Auth?
Copied from a different comment:
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.
At the end i create my projects with stuff that i have tested in production and can recommend. And Supabase auth just isn't there were i would like it to be.
Is this built for free?
Yeah
subbed you
6:25
Excellent excellent courses, but I dont understand some steps. Protect server actions? Why? Server actions are not routes, cannot be called them via postman or directly. They are called from other components, so impossible call them directly. If that component which one calls server action is protected the server action also will be "protected", because for exmaple reach that particular component only authorized user can. So it is redundency.
Explaining would take to much time. Here is an twitter post on it. TLDR server actions are public endpoints and should be treated as ones x.com/asidorenko_/status/1838315424091644341?s=61&t=jVnmZo2Zc_o80Jws4K0qxA
Explaining would take to much time. Here is an twitter post on it. TLDR server actions are public endpoints and should be treated as ones x.com/asidorenko_/status/1838315424091644341?s=61&t=jVnmZo2Zc_o80Jws4K0qxA
Why are you using Prisma when you can just use supabase query?
Cus not everyone uses it
Valid question. I discussed this in detail in my video for channel members, but I’ll give you a brief TL;DR:
1. Reliance on Supabase/Postgres → Migrating to another database is much harder and more time-consuming.
2. Great for basic queries, but it becomes challenging when trying to run more complex ones (speaking from experience).
3. I don’t quite like the idea of giving it my public keys.
4. I’m not a fan of RLS (for various reasons...).
@@janmarshalcoding Gotca, so supabase has limitations on its querying functions compared to Drizzle or Prisma.
this is not a comment it just for me. 6:42:42
balzing fast, so fast that some of the letters in become jumbled
D
next js + convex + clerk >>>> next js + supabase + kinde
8:34:31 What was that😂❤
How to be good at design to code🥲
which vs code theme did you use?
Hey, I have a vid called: How to make VS Code 10x more productive
There I show everything (layout, theme, extensions etc)
@@janmarshalcoding thank you
6:25