Build a Pair Programming Finder with Video & Screen Share (Next.js, Shadcn, Tailwind, Typescript)

Поділитися
Вставка
  • Опубліковано 6 чер 2024
  • Be sure to checkout Stream (the sponsor of this video) for a great SDK for doing video and messages. Use this link getstream.io/video/sdk/react/...
    Link to the code: github.com/webdevcody/dev-finder
    00:00:00 Overview
    00:04:56 Next.js Setup
    00:05:59 Shadcn Setup
    00:06:29 Setup Darkmode
    00:10:06 Database + Drizzle
    00:23:51 Next-Auth
    00:27:24 Setup Google OAuth
    00:35:33 Create Room
    00:54:41 Extend Session Type
    01:01:42 Header
    01:15:37 Show Rooms
    01:18:46 Top Loader
    01:22:22 Browse Page
    01:33:44 Room Page
    01:45:42 Tags
    01:53:31 Tag list
    01:56:46 Video Player
    02:06:01 Token Provider
    02:11:04 Participants List
    02:13:30 Leave Call
    02:15:07 Logout
    02:16:57 Tag Filter
    02:26:20 Clickable Tags
    02:32:22 Track Own Rooms
    02:37:45 Deleting Rooms
    02:47:53 Middleware
    02:50:17 Nav Authorization
    02:58:55 Edit Room
    03:13:25 Toasts
    03:18:12 Header Issue
    03:19:28 Delete Account
    03:28:59 Placeholder State
    03:32:35 Deploying
    My Products
    📖 ProjectPlannerAI: projectplannerai.com
    🤖 IconGeneratorAI: icongeneratorai.com
    📝 ThumbnailCritique: thumbnailcritique.com
    Useful Links
    💬 Discord: / discord
    🔔 Newsletter: newsletter.webdevcody.com/
    📁 GitHub: github.com/webdevcody
    📺 Twitch: / webdevcody
    🤖 Website: webdevcody.com
    🐦 Twitter: / webdevcody

КОМЕНТАРІ • 135

  • @amt.7rambo670
    @amt.7rambo670 2 місяці тому +63

    the only guy whos every video feels like a livestream

    • @WebDevCody
      @WebDevCody  2 місяці тому +9

      thanks man, that's the approach I go for in my teachings

    • @Jeikustus
      @Jeikustus 2 місяці тому +2

      He said this in his older videos, his goal is to make the video with no cuts so that if something went wrong in his code, he can show how he debugged and fixed it. (and I agree HAHA it looks like a livestream)

    • @novaflare-to3we
      @novaflare-to3we 2 місяці тому +5

      For real, I hope he won't change his style of teaching. I like how he did like a "real dev" would do when starting and making on their own project. You need to know how to read documentations on tools and libraries you want to use for your application. Please, Cody don't change man. Thank you! I don't mind spending more minutes just watching you set up "auth" or something.

    • @WebDevCody
      @WebDevCody  2 місяці тому +4

      @@novaflare-to3we I hear you

  • @dalar2
    @dalar2 2 місяці тому +2

    This is incredible - think I'm gonna watch the whole thing first then watch again and build it.

  • @a7mdbest15
    @a7mdbest15 9 днів тому

    finally a creative good idea instead of the same tutorial you see in every web dev tutorial, thanks man

  • @nemeziz_prime
    @nemeziz_prime 2 місяці тому +15

    I'm so glad that some youtube dev channels like this are taking extra efforts to bring amazing dev projects to everyone! This project is unique, not like some clone or common project

  • @MyCodingDiarie
    @MyCodingDiarie 2 місяці тому +1

    You're doing a fantastic job. Don't ever stop creating!

  • @fluntimes
    @fluntimes 2 місяці тому +5

    Next.js, Shadcn, Tailwind, Typescript... I just love that combo. The ability to build things super fast and adding Zod to the mix just makes this a great project to learn from. Thanks!

  • @joan.paucar
    @joan.paucar 2 місяці тому +3

    Cody, I've watched the entire video at 2x, and I must say it's excellent. Learning everything from a single video instead of searching through multiple sources is incredibly convenient.
    Thanks man 👏

  • @tracetv8115
    @tracetv8115 2 місяці тому +1

    I love to watch experts at their craft.
    I am not familiar with next, postgre but everything is so clear and nice to follow!
    Keep up ur great work buddy!

  • @k4f
    @k4f 2 місяці тому +1

    You’ve been killing it bro! Loving the content! Very grateful

  • @aimanelaaqdi5245
    @aimanelaaqdi5245 2 місяці тому +5

    Hey Cody, quick handy shortcut: Option + Shift + O to remove automatically unused imports :)

  • @irfansaeedkhan7242
    @irfansaeedkhan7242 2 місяці тому +5

    wow this is what we wanted, a practical app, solves real world problem, also full of learning,
    i request in your next project make working rich text editor in which mentions hashtags emojis work properly for edit copy paste and posts and fetched from database, there is no practical tutorial on that, everyone makes fb insta twiter clone but miss the part which is editor and posts, which be reshared, multiple images can be added, retweeted, other person can reshare you post etc

  • @huynhphatat3919
    @huynhphatat3919 2 місяці тому +2

    I like you making this type of video. Fullstack project with ReactJS - NextJS. And thank you for sharing your knowledge

  • @MyCodingDiarie
    @MyCodingDiarie 2 місяці тому +1

    Your videos always make my day. Keep shining!

  • @AliMousaviNizhad
    @AliMousaviNizhad 2 місяці тому +3

    Although that I am not that professional as Cody, but watching him doing real time coding gives me a huge confidence to become a good programmer in the future ❤

  • @thespiritualjourney369
    @thespiritualjourney369 2 місяці тому +1

    wow! again an awesome video. Keep going!. love ur content, ur efforts on making all of this. and congrats on 200K.

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

    Happy 200K cody! Happy to be here from the start! :'>

  • @HimanshuKumar-hp1vj
    @HimanshuKumar-hp1vj 2 місяці тому +1

    That's awesome i will build that after completing my current project

  • @uminhtetoo
    @uminhtetoo 2 місяці тому +1

    Thank you so much for sharing your experience and knowledge, Sir.

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

    Super awesome tutorial. Thanks Cody!

  • @juanvieira8249
    @juanvieira8249 2 місяці тому +1

    You are killing it man O.o, thanks!

  • @smithofcode.
    @smithofcode. 2 місяці тому +1

    Cool project love to see you build something with appwrite

  • @joshuastories
    @joshuastories 2 місяці тому

    Thank you very much for all you do. Really, really appreciate it. 🙏

  • @DanteMishima
    @DanteMishima 2 місяці тому

    Thank you Cody for reminding me why I stopped dealing with this next stuff

  • @patolorde
    @patolorde 2 місяці тому

    I think this is actually a good project to push

  • @user-gy7te1ql3g
    @user-gy7te1ql3g 2 місяці тому +1

    Good content and method of its presentation. I would suggest to add data verification on the server side as required measures for security. Also error handling and logging whould be beneficial for those who are new to it

  • @user-jm1qz4dj9l
    @user-jm1qz4dj9l 2 місяці тому

    You are incredible! my goal as a programmer

  • @ardianhotii
    @ardianhotii 2 місяці тому

    Very nice video, thank you for sharing this and also building these good and helpful apps ❤❤

  • @alexenax1109
    @alexenax1109 2 місяці тому +1

    Loved this tutorial!

  • @JollyCoding
    @JollyCoding 2 місяці тому +3

    Great choice on making the DB local, while a tiny bit harder for beginners than a flashy UI, they'll learn a useful skill for the future!
    PlanetScale reminded us we cant rely on free offerings from companies forever!

    • @o_glethorpe
      @o_glethorpe 2 місяці тому +1

      Could be worse really, remember parse? Just shut off and told us: here, host everything yourself.

  • @AjaySingh-jz8qx
    @AjaySingh-jz8qx 2 місяці тому

    OMG Mind blown after watching this

  • @f4faysal
    @f4faysal 2 місяці тому

    Awesome i try this project really awesome

  • @Yahya_Umar
    @Yahya_Umar 2 місяці тому

    "Hello there! Just wanted to let you know that I'm eagerly awaiting your inventory management system project using Next.js. Looking forward to it!"

  • @alexandrudinca3406
    @alexandrudinca3406 2 місяці тому

    The information presented in this video based on the application is very good!! I was curious about one aspect, if for such an application or for the current application, role-based structures can be integrated, protected pages for each role, and how you would approach such an aspect. Let's say we have roles for admin, user, and superuser.

  • @Raphael-jo1rp
    @Raphael-jo1rp 25 днів тому

    Small update on Drizzle Studio for those who face a problem to access it:
    1/ update drizzle kit: npm i drizzle-kit@latest -D
    2/ in the drizzle.config.ts, change driver to dialect and connectionString to url
    3/ restart your studio: npm run db:studio
    It should work just fine.

  • @sh3r1ff50
    @sh3r1ff50 2 місяці тому

    W Project man

  • @swastikpatel234
    @swastikpatel234 2 місяці тому

    vcool project , gonna follow for sure

  • @mutasimahmed8975
    @mutasimahmed8975 2 місяці тому

    I was trying to build the same thing thanks

  • @iFunkMasterJ
    @iFunkMasterJ 2 місяці тому +1

    Nearly the exact same project is on my list of projects to build (different stack though). Competition incoming 🙂

    • @purvshah4260
      @purvshah4260 2 місяці тому

      liked your project ideas can you please share that list with me i am just done with the clones

    • @avinavkashyap8802
      @avinavkashyap8802 2 місяці тому

      @@purvshah4260 please have u deployed on vercel??

  • @ericsonl_
    @ericsonl_ 2 місяці тому

    Awesome tutorial 🔥

  • @lotfijbeli1471
    @lotfijbeli1471 2 місяці тому

    keeep creating! thank you

  • @samuelebarbiera1075
    @samuelebarbiera1075 2 місяці тому

    Congrats to the 200k!

  • @gmd9767
    @gmd9767 2 місяці тому

    @Cody, more Convex DB videos please ;-). Continue the great work though, your videos are sweet

  • @mashuktamim
    @mashuktamim 2 місяці тому

    You are a gem bro. Love to have your linkedIn handle

  • @raphaeljaggerd3585
    @raphaeljaggerd3585 2 місяці тому

    Please do an online coaching site next can go well with the skills learned from this tutorial

  • @hugomendez7659
    @hugomendez7659 2 місяці тому

    Excellent video, but could you do projects like an e-commerce, house rentals, car sales, etc.? It's just my recommendation, good job. :)

  • @codinginflow
    @codinginflow 2 місяці тому

    You one upped me here bruh

  • @anantdadhich7137
    @anantdadhich7137 6 днів тому

    Sir this is very nice vedio I would have one question to you which type we should use on tags when we use prisma orm ..string of array or json

  • @tsatsuadogla-bessa8732
    @tsatsuadogla-bessa8732 2 місяці тому

    Aside tailwind UI/Shadcn UI examples are there other places you recommend to get tailwind components like a header, sidebar etc.

    • @WebDevCody
      @WebDevCody  2 місяці тому

      I'm sure there are many out there

  • @criscabreras
    @criscabreras 2 місяці тому

    I would really love if you could do a tutorial for beginners with sveltekit, supabase and shadcn-svelte 🙏

  • @falasefemi3344
    @falasefemi3344 2 місяці тому

    Lovely content thanks

  • @wasaabbi
    @wasaabbi 2 місяці тому

    what a cool idea

  • @rawallon
    @rawallon 2 місяці тому

    LFG for devs? Nice idea

  • @avinavkashyap8802
    @avinavkashyap8802 2 місяці тому +1

    please cover the deployment part on vercel

  • @npereira3227
    @npereira3227 2 місяці тому

    This is a great idea and I'd actually love to use it. Is it going to be hosted live?

  • @barringtonlevy1941
    @barringtonlevy1941 2 місяці тому

    This is a cool idea

  • @yongfengye
    @yongfengye 2 місяці тому

    thanks for you share

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

    What do you think about Clerk auth and what are the pros/cons of using it in comparison to NextAuth?

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

      I find clerk much better the next auth, but some people don’t like paid auth services

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

    Hey, Cody. What theme and icons are you using here?

  • @CodeZakk
    @CodeZakk 2 місяці тому

    hi thanks. i have a question which is better should you use nextjs fullstack or nextjs with backend framework like express or nestjs.
    in which situation you should use nextjs fullStack thanks!

    • @WebDevCody
      @WebDevCody  2 місяці тому

      It depends, all in one is easier to deploy and develop on

  • @mutasimahmed8975
    @mutasimahmed8975 2 місяці тому +1

    Thank you please make a part 2 with more features such as screen share , collaborative code editor

    • @WebDevCody
      @WebDevCody  2 місяці тому

      this tutorial had screen share capabilities. It is built into getstream.io

  • @PhillipLippi
    @PhillipLippi 2 місяці тому

    Dude, how do you come out with these ideas? I mean, you're a very creative person but how do you arrange to make these personal projects?

  • @vanshvasishtha7082
    @vanshvasishtha7082 2 місяці тому +1

    Hey Cody, Amazing Content, just want to deploy this in vercel, How to do this ? can you share some references for that, it will be helpful.

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

      did you deploy it bro i also need help !!

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

      @@purvshah4260 Finished with the Project today, was doing some changes on my end, Will be trying to deploy it on Vercel, Though railway also gives you 5 $ Credits. will share something if i get any resources

  • @HSKdev
    @HSKdev 2 місяці тому

    How to make that cool blur background? Can you share the code?

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

    question: do you guys get paid by all these platforms you mentioned other than stream? e.g. nextjs vercel, nextauth, dirzzle, shadcn etc?

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

      No, only stream is who sponsored this video. Everything else is just fee and open source tools to use (other than vercel). Vercel I used because it makes deployment easy compared to many other solutions, so it often makes tutorials easier to follow.

  • @Manu-mr4mn
    @Manu-mr4mn 2 місяці тому

    Since Lucia Auth exists I no longer use next auth…Lucia Auth feels like what next auth should have been and the best thing about Lucia is that you can use it with whatever you want.

  • @NizzyABI
    @NizzyABI 2 місяці тому

    What a video 🎉

  • @vanshvasishtha7082
    @vanshvasishtha7082 2 місяці тому +1

    Hey Cody, after initializing a Different authConfig in auth, i am still getting this error "PostgresError: insert or update on table "room" violates foreign key constraint "room_userId_user_id_fk""

  • @purvshah4260
    @purvshah4260 2 місяці тому +1

    I want to deploy this on vercel should i follow the same common procedure which all the next js app follow or this app requires a different way to host it live ??? Please help me to deploy it on vercel

    • @WebDevCody
      @WebDevCody  2 місяці тому +1

      same approach, point vercel to your repo, setup env variables, find a database host, point your vercel to your prod database, run migration scripts against your prod database

    • @avinavkashyap8802
      @avinavkashyap8802 2 місяці тому

      Did you deploy it??

  • @gold-junge91
    @gold-junge91 2 місяці тому

    Thanks lot dude ❤
    i have look so much full stack piece of sh*** videos, copy pasting his own stuff that is already working and not like you that go way that people have to go when they beginn!

  • @farazrazi
    @farazrazi 2 місяці тому

    It would be helpful to have your pressed keys gets printed on screen for viewers.

  • @AyoubNachat-wm4no
    @AyoubNachat-wm4no 2 місяці тому +1

    nice project, can i get the vscode theme you are using

  • @rhinom2012
    @rhinom2012 2 місяці тому

    Why not configure force-dynamic on layout instead of adding noStore in every data access function to make the app dynamic?

    • @WebDevCody
      @WebDevCody  2 місяці тому

      that's an option, but I think the next team is going to start recommending use noStore since it's more flexibile

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

    Error: {"code":"","StatusCode":"","message":"initial WS connection could not be established","isWSFailure":true}
    while setting streamio

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

      Not sure if you ever figured this out, but I had the same issue. For me, it was because the dotenv stream API key was not pulling into the video-player.tsx file. This was because I didn't use the same naming convention for the API_KEY variable in the dotenv file. If you do not start your variable name with NEXT_PUBLIC_ then your variable won't be recognized in a 'use client' file. It's a NextJS requirement.

  • @felixjumason4859
    @felixjumason4859 2 місяці тому +1

    can on use vercel ?

  • @purvshah4260
    @purvshah4260 2 місяці тому

    when i exit the video meeting it closes the room but my web-cam and mic is still working ...How to fix that HELP !!!

  • @Enigma-fk7mh
    @Enigma-fk7mh 28 днів тому

    After adding "use client" to room-card & user-room-card im getting this error :
    Import trace for requested module:
    ./node_modules/postgres/src/connection.js:1:0
    Module not found: Can't resolve 'net'
    ./node_modules/postgres/src/index.js
    ./src/db/index.ts
    ./src/lib/auth.ts
    ./src/app/room-card.tsx
    I tried various fixes still not able to fix this, please help

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

    did anyone deployed it on vercel?

  • @vanshvasishtha7082
    @vanshvasishtha7082 2 місяці тому

    33:21 IF YOU GET an error that Docker Desktop is Shutting Down, delete this Folder C:\Users\\AppData\Roaming\Docker folder fixes the problem and restart the PC

  • @avinavkashyap8802
    @avinavkashyap8802 2 місяці тому +1

    Please show us how can we deploy it to vercel,please please ,please

    • @avinavkashyap8802
      @avinavkashyap8802 2 місяці тому

      so,when can we expect the deployment video sir??,I am eagerly waiting for it

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

    how to do it without sdk?
    or will it be feasible to do it?

  • @samiranroyy1700
    @samiranroyy1700 2 місяці тому

    Sir ❤

  • @Anshucodes
    @Anshucodes 2 місяці тому

    you should add a docker compose file !!

    • @WebDevCody
      @WebDevCody  2 місяці тому +1

      That’s what I did in this tutorial

    • @Anshucodes
      @Anshucodes 2 місяці тому

      @@WebDevCody oops !! i forgot to check the source code !

  • @user-oi1hackzxpert
    @user-oi1hackzxpert 2 місяці тому

    bro which vscode theme u r using ??????????????????

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

    Why does my webcam light stays on even after I switch the camera off or leave the call?

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

      NVM fixed the issue, added another useEffect solved the problem.
      useEffect(() => {
      return () => {
      navigator.mediaDevices
      .getUserMedia({ video: true, audio: true })
      .then((stream) => {
      stream.getTracks().forEach((track) => track.stop());
      });
      };
      }, [call]);

  • @user-nx7ml9cu3t
    @user-nx7ml9cu3t 9 днів тому

    Does this project uses webrtc , websocket something like that or what?

    • @WebDevCody
      @WebDevCody  9 днів тому +1

      I think it uses webrtc under the hood

    • @user-nx7ml9cu3t
      @user-nx7ml9cu3t 9 днів тому

      @@WebDevCody Thanks for the reply

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

    how the other user join the room what is logic behind that

  • @amt.7rambo670
    @amt.7rambo670 2 місяці тому

    Bro is there anything paid software that u are using to make this project..?

  • @mutasimahmed8975
    @mutasimahmed8975 2 місяці тому

    can you add collaborative code editor like in the thumbnail

    • @WebDevCody
      @WebDevCody  2 місяці тому

      eh that's a different type of project. vscode already has an extension that does that

  • @roshanCodeCortex
    @roshanCodeCortex 2 місяці тому +1

    Did you use any paid software???

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

    Hello :)
    Is this responsive ?

  • @purvshah4260
    @purvshah4260 2 місяці тому

    Is there any free way to deploy this database?

    • @WebDevCody
      @WebDevCody  2 місяці тому

      find a free postgres database service

  • @cas818028
    @cas818028 2 місяці тому

    Cody you are always trying to new dbs, thought on xata? 15gb free tier

  • @patolorde
    @patolorde 2 місяці тому

    Why not use convex?

    • @WebDevCody
      @WebDevCody  2 місяці тому +1

      people asked for just next.js with next-auth so I decided to just keep it basic for this tutorial - I'm sure I'll still be doing more convex tutorials in the future

  • @amt.7rambo670
    @amt.7rambo670 2 місяці тому

    14:00

  • @user-up3il9wx3d
    @user-up3il9wx3d 5 днів тому

    did anyone completed and deployed this project