Whaaat? 😮 Another free course that beats all paid online courses. This man is so powerful. He’s making these tutorials free and accessible for us. So generous! 🎉
@mehmethanifierenler36127 ай бұрын
prizma ? i need free orm
@ukcodes7 ай бұрын
Like seriously! am just astonished
@gamershadow48507 ай бұрын
@@ukcodes have you completed this Project
@jarencefeliciano6 ай бұрын
@@borisdimitrijevic-v6d Why?
@jawadbughlani6 ай бұрын
aby L
@p.srelaxing40266 ай бұрын
I'm completely lamafied with you! A huge thanks for this wonderful tutorial and all your efforts kept into doing this!❤
@abirdutta13576 ай бұрын
Did you hosted it anywhere?
@naseemsaffy7 ай бұрын
Please make one fully functional ecommerce app with nextjs 15 ,nodejs, nestjs, expressjs and mysql and cover all the features that every ecommerce project should have
@vijaymohan237 ай бұрын
Check this channel
@vijaymohan237 ай бұрын
Already posted in this channel
@naseemsaffy7 ай бұрын
That haven't created with that technologies
@muzamilfootballer56827 ай бұрын
E-commerce without any CMS we need 😊
@tas3_7 ай бұрын
Lama at it again 🙌🏾 🎉
@muhammadarslan28387 ай бұрын
Absolutely love your tutorials, Lama dev! Your clear explanations and hands-on approach make learning so enjoyable and effective. Keep up the amazing work!
@candrarahmadan506811 күн бұрын
Bro? thanks for create this masterpiece video, you are my favorite next js youtuber all time
@HauNguyen-gs5xb6 ай бұрын
Around 3:51:54 timestamp of the video, What happens when User B follow user A? it become followings of user A that's not right? it should become follower insteand?. I quite dont get it
@Shivam-gd2nd5 ай бұрын
ya same doubt its not right, issue is there because of the opposite use of followerId & followingId it should be followerId as currentUserId & followingId should be userId in the acceptFollowRequest server action in lib/actions.ts when we are creating a entry in follower table. but after this we will have another issue that the sender of the request is not shown unfollow button rather the target user is shown unfollow button but it should be opposite.
@TonyLe-q3c6 ай бұрын
Thank you for everything you do for the community. You are very much appreciated. 😄😄
@ApurvaKashyap-kj6qz7 ай бұрын
clerk is not my cup of tea.. but thanks lama for this superb tutorial and please avoid clerk authentication in ur upcoming videos
@jawyor-k3t7 ай бұрын
why?
@padamsubba19737 ай бұрын
Mine too
@keyvanshabani62517 ай бұрын
@@jawyor-k3t you don't learn the auth logic and extremely costly and vendor lock in
@markus_dev_cwb7 ай бұрын
This is the best Project Man!!! Tks to share.
@Kira-s8q3r7 ай бұрын
As always Lama, another banger 🎉
@hacistein7 ай бұрын
Savaş başkan, yapıyorsun bu sporu 🧿💥
@ifeomaokpara93457 ай бұрын
Thank you lama dev your tutorials they've been helpful.
@kwizerasinapy53327 ай бұрын
Wow🎉 love it so much. Thank you @Lama Dev for the great job you did for us.
@jeewakasupunprabodha25994 ай бұрын
I learn so much from you and thanks a lot.. Please do a playlist about React native and mobile app development
@__shubhamtiwari7 ай бұрын
Gajab ka tutorial hai bhai ekdam ❤
@FunCodingwithRahul5 ай бұрын
I'm new to Next.js, I have one query... Can we import server actions in client component ? like "addPost" in AddPost.tsx - 5:12:47 . I am using next.js 14 and getting the error... What am I missing ?
@Aamironline1256 ай бұрын
Very Nice, I am waiting for it for a long time. Thanks. You are the best.
@a7medabdulshafi8877 ай бұрын
Welcome back 🎉
@EthioPodcaster7 ай бұрын
This is the only thing we have been waiting for. repect!!!
@JuniorJ-s1b6 ай бұрын
great concepts and cool features for this tutorial, i really enjoyed, thanks for your effort. it will be very helpful to also see how to handle stuff from the sidebar like events or activities.
@ourvideosite7 ай бұрын
Thank you so much for this tutorial! Please make this in Expo React Native mobile app!!
@xavierelon3 ай бұрын
Can you provide a link to all the VSCode keyboard shortcuts you use? Like when you move stuff around? 47:30
@mirazh82167 ай бұрын
Superb as always. I am gonna start next js for the first time using this project. Next time I(we) expect a real world saas like butmeacoffee
@codeaccount49317 ай бұрын
Do dynamic routes work properly in production after doing these deployment steps? in other words, do we need to use express and install a custom server to run next js outside vercel?
@fonyuyjudefomonyuy39807 ай бұрын
Finally, its🎉 here❤❤❤
@3clipse9117 ай бұрын
Thanks you so Much Lama , this course is Awesome 👍👍👍👍
@nayemalifahim67015 ай бұрын
in next.js projects instead of the tailwind use something else for styling like styled component or any other method.
@NikolaFilipovski947 ай бұрын
At 5:15:57 revalidatePath() shouldn't be in try/catch but outside try/catch, right? 🤔🤔
@destocot17297 ай бұрын
revalidatePath can be in try/catch block but redirect shouldnt be unless you rethrow the error
@KonoSenpai2 күн бұрын
I can't Add Clerk User to Database. May you get this error like me ?
@RavindraSingh-lp9pl7 ай бұрын
Love u lama...superb tutorial
@rishiraj25487 ай бұрын
Always ❤❤
@TaigiTWeseDiplomat--Formosan2 ай бұрын
Strange, why the login.png is not in my public folder? So I got a new one for myself and I also encountered the dependency issue while install clerk/js... I --force to install it then got into the problem that I can't find (clerk one) but I got working, and for now seems working but IDK... (Was going to use the Completed one to check the way to solve this problem, but after my git clone it seems nothing "completed" in it?
@sandipsarkar17027 ай бұрын
We want part 2 : one to one and group chatting with all functionalities like send images files etc.
@AvikNayak_6 ай бұрын
It's just chat app that you want.
@DevAbhi-ub5mx2 ай бұрын
Only thing missing in this SM website is a dark mode and thats it, its perfect 👌
@stavroskefaleas63206 ай бұрын
Awesome tutorial! Please make a tutorial for making an online community forum!
@coinvest07 ай бұрын
The order in which the project is built is not correct. First you need to do the user authentification and settings, then the post and comment components etc.
@abirdutta13576 ай бұрын
Did anyone completed it and hosted it in vercel or somewhere else? Is it working fine?
@tohirasadov6897 ай бұрын
I have issue with sign-in clerk not working SignedIn
@NaeemRaza-z8m4 ай бұрын
Thank you so mouch for this tutorial, i was really help me to grow my skills. ❤
@mileslegend7 ай бұрын
this is amazing i am planning to learn this with you
@nasarullahkhan33796 ай бұрын
JWT issued at date claim (iat) is in the future. Issued at date: Fri, 05 Jul 2024 11:27:38 GMT; Current date: Fri, 05 Jul 2024 11:27:24 GMT; (reason=token-not-active-yet, token-carrier=cookie) Clerk: Clock skew detected. This usually means that your system clock is inaccurate. Clerk will attempt to account for the clock skew in development.
@VinhNguyen-fw3rd6 ай бұрын
Around 3:51:54 timestamp of the video, when accepting friend request, isn't we supposedly seeing 1 new follower instead of 1 new following? Following is for the owner of the profile is sending a friend request to another user and get accepted and becoming a follower of that user thus it should show 1 new following. So, are we doing this backward?
@anurag_12126 ай бұрын
No you can just change the naming convention there
@VinhNguyen-fw3rd6 ай бұрын
@@anurag_1212 Well, I modified this now that each time user A friends user B, user B automatically friends user A - this means user A posts and comments are visible to user B and vice versa.
@HauNguyen-gs5xb6 ай бұрын
Ông fix đc chưa?
@VinhNguyen-fw3rd6 ай бұрын
@@HauNguyen-gs5xb This is what I got: export const switchFollow = async (userId: string) => { const { userId: currentUserId } = auth(); if (!currentUserId) throw new Error("User is not authenticated!"); try { const existingFollow = await prisma.follower.findFirst({ where: { followerId: userId, followingId: currentUserId, }, }); if (existingFollow) { await prisma.follower.delete({ where: { id: existingFollow.id, }, }); } else { const existingFollowRequest = await prisma.followRequest.findFirst({ where: { senderId: currentUserId, receiverId: userId, }, }); if (existingFollowRequest) { await prisma.followRequest.delete({ where: { id: existingFollowRequest.id, }, }); } else { await prisma.followRequest.create({ data: { senderId: currentUserId, receiverId: userId, }, }); } } } catch (err) { console.log(err); throw new Error("Something went wrong!"); } }; export const switchBlock = async (userId: string) => { const { userId: currentUserId } = auth(); if (!currentUserId) throw new Error("User is not authenticated!"); try { const existingBlock = await prisma.block.findFirst({ where: { blockerId: currentUserId, blockedId: userId, }, }); if (existingBlock) { await prisma.block.delete({ where: { id: existingBlock.id, }, }); } else { await prisma.block.create({ data: { blockerId: currentUserId, blockedId: userId, }, }); // Also remove any existing follow relationships when blocking a user await prisma.follower.deleteMany({ where: { OR: [ { followerId: currentUserId, followingId: userId }, { followerId: userId, followingId: currentUserId }, ], }, }); // Also remove any existing follow requests when blocking a user await prisma.followRequest.deleteMany({ where: { OR: [ { senderId: currentUserId, receiverId: userId }, { senderId: userId, receiverId: currentUserId }, ], }, }); } } catch (err) { console.log(err); throw new Error("Something went wrong!"); } }; export const acceptFollowRequest = async (userId: string) => { const { userId: currentUserId } = auth(); if (!currentUserId) throw new Error("User is not authenticated!"); try { const existingFollowRequest = await prisma.followRequest.findFirst({ where: { senderId: userId, receiverId: currentUserId, }, }); if (existingFollowRequest) { await prisma.followRequest.delete({ where: { id: existingFollowRequest.id, }, }); // Create follower records for both users to ensure mutual following await prisma.follower.createMany({ data: [ { followerId: currentUserId, followingId: userId }, { followerId: userId, followingId: currentUserId }, ], }); } } catch (err) { console.log(err); throw new Error("Something went wrong!"); } }; export const declineFollowRequest = async (userId: string) => { const { userId: currentUserId } = auth(); if (!currentUserId) throw new Error("User is not authenticated!"); try { const existingFollowRequest = await prisma.followRequest.findFirst({ where: { senderId: userId, receiverId: currentUserId, }, }); if (existingFollowRequest) { await prisma.followRequest.delete({ where: { id: existingFollowRequest.id, }, }); } } catch (err) { console.log(err); throw new Error("Something went wrong!"); } };
@raedbaffoun58197 ай бұрын
thank you for your hard work , it is much much appreciated
@renyuliu56507 ай бұрын
Hi, great job, just wondering why use Next.js here ? You created the same app by using react and node before. Is there an advantage ? Or just follow the trend ?
@suvrajitmondal23257 ай бұрын
I hate clerk auth. This company just stopping beginners to learn unlderying concepts of authentication.
@Gustavo-bi4hv7 ай бұрын
And also extremely costly and vendor lock in.
@Gustavo-bi4hv7 ай бұрын
I believe most beginner runs for it because the AuthJS docs are the worst in the whole ecosystem.
@nuttbaked7 ай бұрын
They sponsor youtube tutorials hence all these videos use Clerk
@Amankhan-cl1dq7 ай бұрын
Well yes, clerk is not for beginners but you need to understand video tutorials like this are also not for beginners. It is for intermediate and advanced developers who have good understanding of core concepts like authentication, pagination, search and filtering, RESTful apis, CRUD operation etc. and they want to learn a tech stack which can help them in their day to day work. Nextjs + Prisma+ clerk + tailwind +shadcn etc is a tech stack and if you want to learn how you can leverage already existing frontend libraries, backed services then only you should watch videos like this.
@Alosage.7 ай бұрын
Clerk gets really expensive at scale too
@yesimyourdad6 ай бұрын
ayo bro clerk is having issues with react rc now, another issue happens when trying to POST with create in addPost file (using react18 & next 14) , prisma error : P5010
@DE4DP00L-cs1ts5 ай бұрын
Hey did you face createContext error when using clerk? how did you fix it?
@CuongVu-yy4cg5 ай бұрын
wonderful content. I love this channel so much
@darawan_omar7 ай бұрын
but in the useActionState hook we can use the pending instead of sperated the button and use the useFormStatus hook why you didn't do that
@nestorfloresv6 ай бұрын
Awesome tutorial!!
@destocot17297 ай бұрын
I am not sure what the line following: prev.following && false, accomplishes won't this always be false?
@ahmedamir77 ай бұрын
How to make the alp support multiple languages? In particular right-to-left written ones.
@gbrachetta6 ай бұрын
Thanks for this! Are you aware that the cover image reverts to the original one if you later update any other field apart from it?
@mbnrh35747 ай бұрын
thank you Lama for such a good video
@straightuprecordlabel32546 ай бұрын
testing in edge works fine with the CSS but somehow breaks in Chrome. Any solutions?
@straightuprecordlabel32546 ай бұрын
in edge, for navbar, the separation between between search and 'stories' is good but in Chrome, there's no gap at all. Also, in edge, the margin left and right around navbar is good but in chrome the margin around is very large. how to solve?
@straightuprecordlabel32546 ай бұрын
i can send pictures to your email if that helps. thank you
@david_robelАй бұрын
very good, but i like to know how to modify to upload images, video and files to my own API and not cloudinary, and how to display it correct.
@DylanWeicker4 ай бұрын
Do you have a list of all the Visual Studio Extensions you use?
@afaqahmad89187 ай бұрын
leaving book mark 1:58:19 . will start from profile page
@Vinex-ye1du5 ай бұрын
please help me, UserButton is not rendering when user is logged in
@eunjiromarbilla72974 ай бұрын
What is that tailwind auto suggestion extension called?
@HalalSongsOnly7 ай бұрын
can i upload it on a free and good website like vercel ?
@naijavblog38007 ай бұрын
Thanks Lama 🎉
@GautamSharma322237 ай бұрын
Hi Lama, could you please tell what theme are you using for vscode ?
@mariadigne53466 ай бұрын
Hello Dev, please there's something I'm looking for (a website to manage clients' account like bank balance) where admin can only edit from backend dashboard? Please I'm begging sir
@tannisthaneogy29557 ай бұрын
when I create a new user, the data is not added to the prisma database. I am stuck there. Can anyone help me?
@proteus16 ай бұрын
Can you do a very quick upload on installing tailwind as I tried all vids on youtube and none work for me. I'll pay you if you can do remote work on my macbook.
@afaqahmad89187 ай бұрын
2:03:01 frontend completed now the backend is going to start🙃🙃
@satohnolan52707 ай бұрын
So If I don't have VPS, what should I do now?
@afaqahmad89187 ай бұрын
@@satohnolan5270 I'm still confused.
@UzbekUzbek-fl6dr3 ай бұрын
Why doesn’t work “const {userId} = auth():” ?
@benchesters2 ай бұрын
Same problem, all went wrong with that. Cannot figure out how to proceed.
@UzbekUzbek-fl6drАй бұрын
@@benchesters Yes, I tried other methods but they didn't work.
@g_a_m_b_e_t_t_o_r8920Ай бұрын
use just const { userId } = await auth();
@mikelantzelo2 ай бұрын
You are awesome! Thanks!!!
@DJ-AF-Adam7 ай бұрын
Do you think you could make a video about adding a messaging other users feature to this social media app? Also, maybe a feature to call or video call other users on this social media app?
@mustafakemalocel40527 ай бұрын
Can you please login/register without any framework? Ich hate clerk or other auth framework s
@mahmouddiab38795 ай бұрын
I agree with you, I think you can do that easily by creating 2 components one for login and one for register and have the input fields as in Prisma scheme model User but in that case auth will be bit harder with sending otp probably could find somewhere on KZbin and combined both
@alfaloverss31162 ай бұрын
where i can find all this things means server ip address name extra
@oktayaltunkaya90197 ай бұрын
is it possible to use express and next.js same time for more complex apps?
@ghjkkjhg86555 ай бұрын
when i write name domain have error in validate i can onot solve
@tungnguyentuan24987 ай бұрын
Hi, about your snippets, I don't know to use it.
@bayctr87087 ай бұрын
im newbie here and i dont understand why people in the comment hate clerk 😕
@AvikNayak_6 ай бұрын
Vender lock in , abstracts away authentication completely so not good for beginners
@mixins_pixie5 ай бұрын
Is there anyone who has tried hosting on vercel? I am stuck
@hustler26937 ай бұрын
What is the theme you have used please share.. LAMA
@Deus-lo-Vuilt6 ай бұрын
Wow , nice project , Thanks
@abhisheksah18677 ай бұрын
Sir u are best 🎉🎉🎉🎉🎉🎉🎉
@dennisgonzales95217 ай бұрын
amazing content!
@زكرياالراوي-ل1ص7 ай бұрын
Use next-cloudinary in this project?
@alimurtaza-cj2hd6 ай бұрын
Hey bro there i am using cloudpanel but when i am trying to create a database it is showing the below mentioned error, i have tried many things but it is not helping me in resolving the error i tried to restart mysql but it stopped and not getting start again. Database Name: An exception occurred in the driver: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)
@solomonakpas6 ай бұрын
I'm Grateful
@code-with-damian7 ай бұрын
Thanks mate so cool
@TravelsInfo-k7r6 ай бұрын
I always watch your videos.Please male a video about full functional travels booking website with latest version of next.js and others
@nasarullahkhan33797 ай бұрын
Please use the next-auth instead of the clerk.
@viniciusm.m.78227 ай бұрын
Thanks, Lama!!! 🎉❤ You are the best, bro! Abraço do Brasil!
@vladimerfisher44427 ай бұрын
WOW!!! super!!! thanks!!!
@Mercesletifer223 ай бұрын
hello @LamaDev. Can you make a video explaining how to share multiple sites on a domain via subdomains on a hostinger VPS server includes nginx settings.
@francisnjugunaldc7 ай бұрын
Awesome 👍
@Dante-y3s8g7 ай бұрын
Can you teach us how you make the starter branch?
@emmanuelogunleye7777 ай бұрын
Nice job here Lama Do you have the design files for this? I like to recreate this in another stack
@HauNguyen-gs5xb6 ай бұрын
Please do the event functionality for this social media look like making an event on Facebook
@tokhirjonkhasanov164025 күн бұрын
Great 👍 Thank you
@codernerd70767 ай бұрын
Clerk auth 😢
@suvrajitmondal23257 ай бұрын
I hate clerk auth. This company just stopping beginners to learn unlderying concepts of authentication.
@lexsemenenko7 ай бұрын
@@suvrajitmondal2325 just curious what would you use instead for a production app? Clerk covers everything otherwise would be a complex project itself to develop to current standards
@codernerd70767 ай бұрын
@@lexsemenenko local auth it's not that hard we have been doing it in Node.js for years, Clerk and others came after they brainwashed developers making them believe Auth is hard, mostly driven by Next.js KZbinrs Clerk is just some pointless service that will add unnecessary monthly costs to your production app!
@SUNYBOI7 ай бұрын
Can I deploy this project on render
@HappyCodingBD-gr8qr5 ай бұрын
wow great 😍
@nishtha-k9g7 ай бұрын
can i start making this project without buying any subscription? Will i be able to do it totally free setup with MySQL?
@TaigiTWeseDiplomat--Formosan3 ай бұрын
7:06 I gonna cry, make sure to run the code within the folder with package.json but not the parent folder... first problem solved.
@vanphuoc.047 ай бұрын
Nice, i want a video about reactjs + spring boot (Java) + mysql