Build an Invoice App with Next.js 15

  Рет қаралды 54,007

Colby Fayock

Colby Fayock

Күн бұрын

Пікірлер: 205
@punitmistry2406
@punitmistry2406 Ай бұрын
Hey Everyone if you are using the next 15 the latest one and if you are getting the error while installing the shadcn so just paste this command and it will work !! command : npm config set legacy-peer-deps true
@colbyfayock
@colbyfayock Ай бұрын
thanks for the tip 👏
@LaxMariappan
@LaxMariappan Ай бұрын
Thanks Colby, Xata and Clerk for making it a community resource. I do enjoy your newsletters and content, thanks Colby🚀
@colbyfayock
@colbyfayock Ай бұрын
no problem! thanks for your support 🫡 enjoy!
@John-eq5cd
@John-eq5cd 6 күн бұрын
What an interesting approach to use a and action to change the status of the invoice. Also, that was some crazy typescript for the statuses, I will have to go through it slowly. Going back to managing the change in status in the server component, I coded a small client side component specifically for the drop down menu which allowed me to use onClick. Then I imported it into the invoice details page. It seemed to work ok.
@WebDevCody
@WebDevCody Ай бұрын
Commenting for the algorithm
@colbyfayock
@colbyfayock Ай бұрын
You the homie 🫶
@Rikearon
@Rikearon Ай бұрын
Seems to have worked haha
@colbyfayock
@colbyfayock Ай бұрын
@@Rikearon 🚀
@ONESTTEFTEO
@ONESTTEFTEO Ай бұрын
I am a backend developer and new to Next.js. This tutorial has inspired me to start learning Next.js
@colbyfayock
@colbyfayock Ай бұрын
awesome, it's a great framework, hope it helps ease your way into the frontend
@melik2625
@melik2625 29 күн бұрын
Unlike other tutorials he is showing what impact his code is making. He also shows the best approach and practices which is very important for scalability. Hope i had tutorials like these when i was a beginner.
@colbyfayock
@colbyfayock 29 күн бұрын
appreciate that 🙏
@JianhuaX
@JianhuaX Ай бұрын
For whatever reason why the YT algorithm got this video in front of me, I am thankful and immediately subscribed to you and liked the video. I am an Angular dev but I truly enjoy your way of teaching. It makes me think why I haven't picked up React, yet. Bravo Colby! I look forward to picking up more experience tips from you.
@colbyfayock
@colbyfayock Ай бұрын
really appreciate the kind words 🙏
@erik-lnt
@erik-lnt Ай бұрын
Hey Colby, I have to say this is one of the best tutorials I have ever watched! I was searching for something like this for like 4 weeks now (something that includes clerk, drizzle and stripe) and this is just perfect. Thank you for putting valuable information like this out for free. You truly have an amazing way to teach and explain, keep up the good work!
@colbyfayock
@colbyfayock Ай бұрын
really appreciate the kind words 🙏
@DragosPopescu-n7n
@DragosPopescu-n7n Ай бұрын
Awesome work, Colby! Skipping through it for now, and it seems incredibly well made. Thank you for the time and effort to make this. I'm really excited to watch it in full
@colbyfayock
@colbyfayock Ай бұрын
thank you! a lot of love went into building it. let me know what you think!
@rasikjain7794
@rasikjain7794 6 күн бұрын
Hi Colby, YT has recommended this channel. Very informative and detailed oriented for a person to follow along. This is helpful for anyone newbies who are interested in learning concepts of css, react, typescript, sql, apis, deployment etc. I like the way you do use the multi-cursor for the editing. A video on VS extensions you use and especially multicursor video will be helpful.
@colbyfayock
@colbyfayock 5 күн бұрын
glad you found it helpful!! ill keep that video idea in mind, thanks
@ExperiencePlusDigital
@ExperiencePlusDigital 2 күн бұрын
This is amazing🎉. Would be fantastic to have a similar video dealing with media (image, video and audio) how to store them (uploadthing, cloudinary, Vercel Blob, etc) and how to use them in a efficient way (cropped, reduced image sizes, ai edited). For me that is the missing understanding, compared to using traditional CMS systems (Drupal, Wordpress) in a headless manner.
@colbyfayock
@colbyfayock 2 күн бұрын
thanks! cool idea
@alexgeorge1768
@alexgeorge1768 Ай бұрын
The way of explaining things are so clean. Much appreciate it.
@colbyfayock
@colbyfayock Ай бұрын
no problem!
@Code-sz9db
@Code-sz9db 25 күн бұрын
I look forward for this kind of format! I'm really glad to see a real project-based video!
@colbyfayock
@colbyfayock 23 күн бұрын
yeahhh! hope you enjoy it!
@StanislausKatczinsky
@StanislausKatczinsky 19 күн бұрын
Subsriber earned. Just the intro is enough to show that you will learn something from this and not just mindlessly type what you see in the video. Keep it up. Will check your other videos.
@colbyfayock
@colbyfayock 19 күн бұрын
thank you 🙏
@AnthonyObi-wr6ro
@AnthonyObi-wr6ro Ай бұрын
KZbin Algo just brought this to me and I am really enjoying. Have gone through your channel and saw amazing content. Glad to meet you. You just earned a subscriber
@colbyfayock
@colbyfayock Ай бұрын
Thank you!! 🙌
@tedb4440
@tedb4440 Ай бұрын
This is just amazing!!! I missed you on egghead, and suddenly the youtube algo gods suggested you. So excited to work through this, can't wait!! Great stuff @colby!🔥
@colbyfayock
@colbyfayock Ай бұрын
thank you 🙏
@VincentFulco
@VincentFulco Ай бұрын
Thanks Colby! I've been holding off on building with 15 due to all the canary changes. I appreciate this road map to the future!
@colbyfayock
@colbyfayock Ай бұрын
no problem! lots of good stuff in there
@VincentFulco
@VincentFulco Ай бұрын
Really well done tutorial...
@colbyfayock
@colbyfayock Ай бұрын
@@VincentFulco thank you 🙏
@adnanamin3666
@adnanamin3666 Ай бұрын
Man! I love you!! I've been wondering when you were going to share the full project. Thank you! 🙏🙏
@colbyfayock
@colbyfayock Ай бұрын
🫡 lmk what you think!
@mahmoudtokura
@mahmoudtokura Ай бұрын
I learned a lot from this. No time wasted, straight-up valuable information. Thanks Subbed
@colbyfayock
@colbyfayock Ай бұрын
thank you!
@ktappdev
@ktappdev Ай бұрын
IDK how i'm only now discovering your channel sir, thank you
@colbyfayock
@colbyfayock Ай бұрын
🫡
@John-eq5cd
@John-eq5cd 10 күн бұрын
Enjoying the content so far, thanks Colby. Is it too simplistic to suggest a 'View' button for each row with the link to the specific invoice details?
@colbyfayock
@colbyfayock 8 күн бұрын
definitely a good idea!
@JoseLopez-me2re
@JoseLopez-me2re 28 күн бұрын
Thank you for this great course Colby. Loving every second of it! ❤
@colbyfayock
@colbyfayock 27 күн бұрын
love to hear it!
@tumon001
@tumon001 25 күн бұрын
I'm your old fan and I always loved your content.
@colbyfayock
@colbyfayock 23 күн бұрын
thank you for your support 🙏
@taffoo
@taffoo Ай бұрын
Well done Colby! Super nice project, learned some new stuff. Regarding the Dialog not looking correct I think that was because you added the DialogFooter by mistake inside the DialogHeader 😉
@colbyfayock
@colbyfayock Ай бұрын
oof thanks for the heads up 🙈
@mileslegend
@mileslegend Ай бұрын
was looking for something like this ..thanks man ..i will surely build this with you
@colbyfayock
@colbyfayock Ай бұрын
no problem! let me know how you come out
@gephreychen6211
@gephreychen6211 19 күн бұрын
such gr8 content and such an excellent teacher. Best of the yr, thank you!
@colbyfayock
@colbyfayock 19 күн бұрын
thank you 🙏
@normb9785
@normb9785 Ай бұрын
Hey Colby 👋🏾 love your tutorials, very calming and easy to follow. Now I have to ask what VSCode theme are you using?
@colbyfayock
@colbyfayock Ай бұрын
thanks 😁 Night Owl! marketplace.visualstudio.com/items?itemName=sdras.night-owl
@jamesgrubb
@jamesgrubb Ай бұрын
Great job and and thank you for the hard work on this resource.
@colbyfayock
@colbyfayock Ай бұрын
thank you for your support 🙏
@JoseLopez-me2re
@JoseLopez-me2re Ай бұрын
Wow, thank you so much Colby. I am still hoping for your NextJS 15 course, any updates on when you are releasing it? EDIT: I think this was the much awaited course, I thought it was going to be a premium (paid) course! Or am I missing something? Thank you Colby!
@colbyfayock
@colbyfayock Ай бұрын
this is the course! thanks to Xata and Clerk I was able to publish it for free and make it available to all 🚀
@JoseLopez-me2re
@JoseLopez-me2re Ай бұрын
@@colbyfayock Great! Thank you !!
@smellfungussports
@smellfungussports Ай бұрын
Great stuff Colby. Any idea of extending this to real time notifications?
@colbyfayock
@colbyfayock Ай бұрын
thank you!! i dont plan on creating a direct extension, however i have a separate video with the same base app that uses Knock for the realtime notifications: kzbin.info/www/bejne/pISYl5-tgbxqfNU
@markus_dev_cwb
@markus_dev_cwb Ай бұрын
Awesome Project Colby!
@colbyfayock
@colbyfayock Ай бұрын
Thank you!
@i_vishalsah01
@i_vishalsah01 Ай бұрын
that's some quality content and very clearly explained concepts people should know more about this and this page....👌👌
@colbyfayock
@colbyfayock Ай бұрын
Thank you!!
@adeyalshire5724
@adeyalshire5724 Ай бұрын
Very good video, the explanations are clear . Great job !!!!!
@colbyfayock
@colbyfayock Ай бұрын
thank you!
@notjustdev
@notjustdev Ай бұрын
This is goldeeeen!
@colbyfayock
@colbyfayock Ай бұрын
thanks 🙌 you give a lot to aspire to with these kinds of courses 🫡
@coderyan
@coderyan Ай бұрын
Awesome job, Colby!
@colbyfayock
@colbyfayock Ай бұрын
thanks Ryan 🙌
@colbyfayock
@colbyfayock Ай бұрын
Where to go next? 👀 - Data Pagination with Suspense: kzbin.info/www/bejne/iJ3do4uJi76Df9k - Generate PDFs: kzbin.info/www/bejne/aoeYeZWnjq92jKs - Realtime Notifications with Knock: kzbin.info/www/bejne/pISYl5-tgbxqfNU
@Deus-lo-Vuilt
@Deus-lo-Vuilt Ай бұрын
Great, I leave like and sub , I will start the project now.
@colbyfayock
@colbyfayock Ай бұрын
Thanks for the support!
@sam-j4zy
@sam-j4zy Ай бұрын
nice project thanks for sharing.
@colbyfayock
@colbyfayock Ай бұрын
no problem, enjoy!
@nikolas4749
@nikolas4749 Ай бұрын
Thanks Colby react router lauch v7 pre release two weeks ago. It include most remix functionality. Would you consider making a full stack app with react router ?
@colbyfayock
@colbyfayock Ай бұрын
i love that idea! Ive been meaning to spin up on it. admittedly it would take a lot of prep as i want to be comfortable enough with the APIs to clearly explain them, but i'll add that ot my list to start exploring!
@succatash
@succatash 26 күн бұрын
High quality content
@colbyfayock
@colbyfayock 25 күн бұрын
🙏
@Website_TV_1
@Website_TV_1 Ай бұрын
Next.js 15 is here, and it’s a game-changer! Learn how to build a fully-functional Invoice App step-by-step in this video. Whether you’re a beginner or an experienced developer, you’ll pick up valuable tips and tricks. 💻💡 👉 Time to level up your coding skills! If you want to master Next.js and create powerful apps like this, make sure to stick around till the end! 👍 Don't forget to like, subscribe, and share with fellow developers! ⏱ Timestamps: 0:00 Introduction & App Overview 2:30 Setting up Next.js 15 8:45 Building Invoice UI Components 15:20 Handling Data & State Management 22:50 Adding Custom Features 28:35 Deploying the Invoice App
@JoseLopez-me2re
@JoseLopez-me2re 24 күн бұрын
Hey Colby, I have a question regarding Security best practices. At around 2:57:00 you create the Invoice.tsx client component and eliminate all the backend logic from it. But still you import the Invoice schema into a client component. Isn't that giving away information about how our database is structured, tables, fields, etc. to the client?
@colbyfayock
@colbyfayock 23 күн бұрын
thats an interesting question, but generally speaking and i'd have to remember the exact context, but on that client component, i only use it for the TS definitions which would get stripped: github.com/colbyfayock/my-invoicing-app/blob/main/src/app/invoices/%5BinvoiceId%5D/Invoice.tsx
@JoseLopez-me2re
@JoseLopez-me2re 22 күн бұрын
@colbyfayock help!
@Daniel-D137
@Daniel-D137 Ай бұрын
Awesome, many thanks!
@colbyfayock
@colbyfayock Ай бұрын
You're welcome!
@Kunal_Rai
@Kunal_Rai Ай бұрын
Amazing work! Maybe a video working with cursor AI
@colbyfayock
@colbyfayock Ай бұрын
nice idea!
@langagama
@langagama 12 күн бұрын
can i use any other payment system besides stripe?
@sahilgupta-f3m
@sahilgupta-f3m Ай бұрын
what shortcut did you use for selecting and inserting mutliple line , time = 16:34
@colbyfayock
@colbyfayock Ай бұрын
I use CMD+D after selecting something to select similar values. though im not sure if thats a native shortcut or if that's the sublime text keybindings i have installed, but then from there, i use CMD+Arrow to go to the end of the line
@YuriyChamkoriyski
@YuriyChamkoriyski 24 күн бұрын
Hi, Colby! Thanks for the comprehensive and full of new stuff tutorial. It is a great learning material. I have a question, though. Am I the only one who experience a problem with the searchParams. At around 4:06:40, when you define isSuccess and isCanceled constants and tried to console log them I am getting always false for both of them, regardless of setting the parameter manaually in the URL to "success" or "cancel" and even after a successful payment, which is working and I am getting the success in the URL automatically, those two constans never change values and that is why the updateStatusAction never fires, so the status is never updated. I concole log the searchParams.status itself and it is undefined! So, what am I doing wrong? Thanks for you time and consideration.
@colbyfayock
@colbyfayock 21 күн бұрын
hey did you happen to compare what you're doing to the code? github.com/colbyfayock/my-invoicing-app/blob/main/src/app/invoices/%5BinvoiceId%5D/payment/page.tsx#L26-L34
@harsimransingh1025
@harsimransingh1025 19 күн бұрын
I encountered the same problem. This worked for me to get the status right: let pstate; try { pstate = await searchParams; console.log("Status:", pstate.status); } catch (error) { console.error("Error:", error); } const isSuccess = pstate?.status === "success"; const isCanceled = pstate?.status === "canceled";
@colbyfayock
@colbyfayock 19 күн бұрын
hey did you compare what im doing in the code here? github.com/colbyfayock/my-invoicing-app/blob/main/src/app/invoices/%5BinvoiceId%5D/payment/page.tsx#L26-L35
@TrostCodes
@TrostCodes Ай бұрын
Amazing stuff, dude!
@colbyfayock
@colbyfayock Ай бұрын
thanks Alex 🙏 appreciate your support
@MrNimbus3000
@MrNimbus3000 Ай бұрын
In my case it was required to use `config({ path: "./.env.local", override: true });` to make migration working
@destocot1729
@destocot1729 Ай бұрын
oh it's a free course your awesome I'll enjoy going through it
@colbyfayock
@colbyfayock Ай бұрын
would love to hear what you think as you work thruogh it!
@destocot1729
@destocot1729 Ай бұрын
​@@colbyfayock about 1/4th through it heres are my thoughts so far NOTES - Styling seems off (ignoring for now since not a focus of the video) - my content seems more centered when yours is left aligned (is bothering me a lot tho) - my content remains at the top when yours is centered - my content seems to have a smaller container - using action AND `onSubmit` together - never seen this before !?!? the `createInvoice` action is being called into the action and `handleSubmit` is it guaranteed that both of them will not run? UPDATED COMMENTS: - you removed the `createInvoice` action from `handleSubmit` later on that just made it confusing why it was showcased in the first place - When JavaScript is disabled you are still able to spam the submit form and create multiple entries (maybe there is no way to avoid this?) TESTS: - I removed the `handleSubmit` as well as the `useState('ready')` entirely it did not seem to affect anything? More questions as to why this part was added - I recommend 'opacity-0' or 'hidden' instead of 'text-transparent' where you can still the text by clicking/highlighting the button (stopped before integrating clerk for now) explanation of error.tsx and loading.tsx were good is the NextError component new? PERSONAL: - why do you wrap buttons in p tag? - what do you think about the fact that /invoices/new and /invoices/[invoiceId] both live on the same segment of /invoices/X I've done it before many times it just feels weird, was wondering if thats a bad practice or not? maybe its okay because in this case our invocieId is an int but what if it was a uuid would the thought process change?
@tobiasjennerjahn8659
@tobiasjennerjahn8659 24 күн бұрын
Is the hidden forms 'trick' really idiomatic react/next? That feels very hacky imo. But maybe it's just because I'm not used to it.
@colbyfayock
@colbyfayock 23 күн бұрын
its not a trick... its a valid HTML input type and has been commonly used with forms for years and years and years
@tobiasjennerjahn8659
@tobiasjennerjahn8659 23 күн бұрын
@@colbyfayock Thanks, I appreciate the answer. This just isn't a setup I've really encountered before and using hidden elements just to pass a bit of data felt a bit off. Good to know that this is a common practice and wouldn't be out of place in a bigger project.
@mohamedbenighil1026
@mohamedbenighil1026 Ай бұрын
hi Colby, thank you for the awsome course! i am at the beggining of the video trying to center the of the page With : export default function Home() { return ( Invoicipedia Login ); } i got the the content center between left and right but NOT left and right and top and bottom like your result, can you tell me what is messing please ?
@colbyfayock
@colbyfayock Ай бұрын
did you set min-h-screen on the parent inside of the layout? github.com/colbyfayock/my-invoicing-app/blob/main/src/app/layout.tsx#L34
@abdelrahmanmostafa9489
@abdelrahmanmostafa9489 29 күн бұрын
Xata is the best❤❤
@colbyfayock
@colbyfayock 28 күн бұрын
💯
@jakubpalka8093
@jakubpalka8093 29 күн бұрын
Hey Colby, I'm having an issue with ClerkProvider. I'm getting the error: useClerk can only be used within the component. But everything is wrapped inside this element. Any advice?
@colbyfayock
@colbyfayock 29 күн бұрын
do you have it in the same location as in the video? github.com/colbyfayock/my-invoicing-app/blob/dd91115e86c6557738eed2930a77f1b9edfc1c06/src/app/layout.tsx#L1 where are you trying to use it in that context?
@MrNimbus3000
@MrNimbus3000 Ай бұрын
Regarding 2:49:05 I did it in a next way (we are not using type assertions): ``` const statuses = AVAILABLE_STATUSES.map((status) => status.id); export const statusEnum = pgEnum("status", [statuses[0], ...statuses.slice(1)]); ```
@colbyfayock
@colbyfayock Ай бұрын
oh nice one!
@aldikrasniqi739
@aldikrasniqi739 Ай бұрын
Commenting for the algorithm too
@colbyfayock
@colbyfayock Ай бұрын
🫶 you da best
@fullstackspiderman
@fullstackspiderman Ай бұрын
Thank you so much sir ❤
@colbyfayock
@colbyfayock Ай бұрын
🫡
@akashkinkarpandey9788
@akashkinkarpandey9788 Ай бұрын
Anyone else getting the error Application error: a client-side exception has occurred (see the browser console for more information). on dashboard page ? I am around 1:43:00
@TheRedPheniox
@TheRedPheniox Ай бұрын
Great tutorial
@colbyfayock
@colbyfayock Ай бұрын
thank you!
@anaf.2715
@anaf.2715 Ай бұрын
That’s amazing!!!!
@colbyfayock
@colbyfayock Ай бұрын
😉
@janmalmur1244
@janmalmur1244 16 күн бұрын
Can I ask you why when i make code from chapter "Dynamic Page Routes for Invoices" i get an error "Error: Route "/invoices/[invoiceId]" used `params.invoiceId`. `params` should be awaited before using its properties." I dont know how to fix it :/
@colbyfayock
@colbyfayock 15 күн бұрын
Next.js released a last minute change before publishing 15 stable that makes searchParams an async API: nextjs.org/docs/app/api-reference/file-conventions/page#searchparams-optional
@pushingpixels98
@pushingpixels98 21 сағат бұрын
Is ut possble for me to allow the client to make a payment directly to my bank account without using third pary softwares such as tripe or paypal
@colbyfayock
@colbyfayock 10 сағат бұрын
not totally sure but doubt it
@VLADICA94KG
@VLADICA94KG 18 күн бұрын
4:16:15 line 32 isError conditions contradicts each other : D
@JA1810HV
@JA1810HV Ай бұрын
How did it took the whole screen with h-full in 11:15 ? Making the main take 100% does not mean it will stretch the parent body element.
@colbyfayock
@colbyfayock Ай бұрын
i have min-h-screen on the body
@JA1810HV
@JA1810HV Ай бұрын
@@colbyfayock Oh I see, thanks
@projectroxas3307
@projectroxas3307 Ай бұрын
I really can't figure out what's happening sadly... I also cloned your repo, so I could verify if something broke all of a sudden but it seems I'm the only one who is dealing with the following error: Internal error: TypeError: Cannot create property 'digest' on string 'This object has been omitted by React in the console log to avoid sending too much data from the server. Try logging smaller or more specific objects.' This error occurs in the /dashboard page, I stopped at around 1.28.00 timestamp of the video, and if I try to render my component with CSR, everything works fine (but of course in this case I was not retrieving anything from the database) but the issue arises when I try with SSR, and specifically when I try to render the shadcn components such as TableRow, TableCell and TableHead, the rest are fine. I don't know what's wrong, did you encounter the same issue?
@colbyfayock
@colbyfayock Ай бұрын
sorry i didnt hit that error... not totally sure what it could be
@life0fmeek
@life0fmeek Ай бұрын
Colby!
@colbyfayock
@colbyfayock Ай бұрын
🙌
@gergoviktorjordan8103
@gergoviktorjordan8103 28 күн бұрын
Great video, I like it, but at 2:51:20 I got this bug on my form action and I cannot process forward :( I hope somebody can help to solve this. Paid
@doxlebuild6317
@doxlebuild6317 6 күн бұрын
yes getting an error with server side forms, once i click the drop down the updateStatusAction is not triggering. I checked the network tab also, I think the Radix's dropdown is closing before the form is submitted. Spend an hour on this :( and tried to have a client wrapper or change the drop down item to div may be. "he form submission is interrupted, causing the "Form submission canceled because the form is not connected" error." Get this error on console. Any help would be greatly appreciated. Colby you are a legend. Thx man
@eliuddyn
@eliuddyn Ай бұрын
Amazing 🔥🔥
@colbyfayock
@colbyfayock Ай бұрын
thank you!
@cb73
@cb73 Ай бұрын
isn’t it funny that the theme that is “default” selected in shadcn is not in fact the “default” theme
@colbyfayock
@colbyfayock Ай бұрын
👀
@riham644
@riham644 Ай бұрын
Thanks in advance ❤
@colbyfayock
@colbyfayock Ай бұрын
🫡
@CodeCraftAcademy-dd1qd
@CodeCraftAcademy-dd1qd Ай бұрын
I love you so much. Thank you :)
@colbyfayock
@colbyfayock Ай бұрын
🫶 no problem!
@wirapramuja007
@wirapramuja007 Ай бұрын
hello colby, i caucht on error "Cannot find module 'next/form' or its corresponding type declarations." i have browsing and i cannot find doc to fix this issues can you figure this out? Module not found: Can't resolve 'next/form'
@colbyfayock
@colbyfayock Ай бұрын
hey did you upgrade to the canary version of Next.js? should be in the video somewhere around there
@erik-lnt
@erik-lnt Ай бұрын
I had it working for 1 day with the form component from next but then suddenly it din't work any more. I fixed it by just using the regular form component again. Maybe that'll fix it for you, too.
@meciau
@meciau 29 күн бұрын
this is quality!
@colbyfayock
@colbyfayock 29 күн бұрын
thank you 🙌
@MaziSaidSo
@MaziSaidSo Ай бұрын
Great Stuff !
@colbyfayock
@colbyfayock Ай бұрын
Thanks!
@i_vishalsah01
@i_vishalsah01 Ай бұрын
Displaying all invoices for public demo. Creation is disabled. Am I doing something wrong cuz console show's no error and app runs fine but i'm unable to create any invoice can anyone help!!! please
@colbyfayock
@colbyfayock Ай бұрын
Are you referring to my public demo? It's not intended for public use
@i_vishalsah01
@i_vishalsah01 Ай бұрын
@@colbyfayock oo okay i created my own version of it api keys, xata, clerk of my own and made some changes..
@nishithkhambhati3260
@nishithkhambhati3260 Ай бұрын
Where is products details ?
@colbyfayock
@colbyfayock Ай бұрын
could you elaborate on your question? what product and what specifically are you looking for?
@Armys2940
@Armys2940 Ай бұрын
Why my dynamic route is not working like it gives me the invoice id NaN i debugged it same issue
@colbyfayock
@colbyfayock Ай бұрын
the value should only be NaN after parseInt, did you test the value coming out of the parameters? console log it out into the terminal
@Armys2940
@Armys2940 Ай бұрын
@@colbyfayock DONE Sir
@Armys2940
@Armys2940 Ай бұрын
@@colbyfayock Error Solved
@colbyfayock
@colbyfayock Ай бұрын
@@Armys2940 💯
@henrymunoz2035
@henrymunoz2035 27 күн бұрын
Wow you are amazing
@colbyfayock
@colbyfayock 27 күн бұрын
🙏
@irfaanvallapilm3847
@irfaanvallapilm3847 Ай бұрын
thanks for this
@colbyfayock
@colbyfayock Ай бұрын
thank you 🙏
@whizzie3367
@whizzie3367 Ай бұрын
❤❤
@colbyfayock
@colbyfayock Ай бұрын
🫶
@wbecher
@wbecher Ай бұрын
I`m having trouble with the redirect after delete... my server action is like this: export async function deleteSessionAction(formData: FormData) { console.log("inicia processo de delete"); const { userId } = auth(); if (!userId) { return; } const sessionId = formData.get("id") as string; await db .delete(Sessoes) .where( and(eq(Sessoes.id, parseInt(sessionId)), eq(Sessoes.userId, userId)) ); redirect("/dashboard"); } If I comment the db.delete command, the redirect works fine... but with the code uncommented, the redirect fails:
@colbyfayock
@colbyfayock Ай бұрын
its possible it's failing, try wrapping the db call with a try/catch and logging out the results, that might give you a clue
@wbecher
@wbecher Ай бұрын
@@colbyfayock The delete works on the database... that's the odd part... the record is deleted on the database, but the redirect fails. I'm getting crazy! This is the result of the delete command: ------------------------------------- Result { command: 'DELETE', rowCount: 1, oid: null, rows: [], fields: [], _parsers: undefined, _types: TypeOverrides { _types: { getTypeParser: [Function: getTypeParser], setTypeParser: [Function: setTypeParser], arrayParser: [Object], builtins: [Object] }, text: {}, binary: {} }, RowCtor: null, rowAsArray: false, _prebuiltEmptyResultObject: null } -------------------------------------
@wbecher
@wbecher Ай бұрын
------------------------------------- Result { command: 'DELETE', rowCount: 1, oid: null, rows: [], fields: [], _parsers: undefined, _types: TypeOverrides { _types: { getTypeParser: [Function: getTypeParser], setTypeParser: [Function: setTypeParser], arrayParser: [Object], builtins: [Object] }, text: {}, binary: {} }, RowCtor: null, rowAsArray: false, _prebuiltEmptyResultObject: null } -------------------------------------
@adeonir
@adeonir Ай бұрын
Awesome ❤
@colbyfayock
@colbyfayock Ай бұрын
thanks 🙌
@browninc254
@browninc254 Ай бұрын
Awesome
@colbyfayock
@colbyfayock Ай бұрын
🙌
@SayfSentinel
@SayfSentinel Ай бұрын
What in the Chatgpt is this GEM 💎?!
@colbyfayock
@colbyfayock Ай бұрын
@Remi___________________416
@Remi___________________416 Ай бұрын
are the services all free?
@colbyfayock
@colbyfayock Ай бұрын
all services have a generous free tier!
@054m4
@054m4 Ай бұрын
PHP Can does the same in almost 1/4 time and without all these external integrations 😀
@colbyfayock
@colbyfayock Ай бұрын
you must be a 10x dev
@jordon7999
@jordon7999 Ай бұрын
epic 🎉
@colbyfayock
@colbyfayock Ай бұрын
🫡
@CarlosTello-m8h
@CarlosTello-m8h Ай бұрын
nice
@colbyfayock
@colbyfayock Ай бұрын
Thanks!
@cant_sleeeep
@cant_sleeeep Ай бұрын
why drizzle? why not prisma? just about i got used to prisma this comes up ffs
@colbyfayock
@colbyfayock Ай бұрын
i dont have experience with Prisma yet but I really enjoyed the Drizzle APIs. while I totally get the pain of switching tools, definitely worth having a basic understanding of each to see which you prefer, the concepts should apply to both, but with different syntax.
@Nisha-nb6rv
@Nisha-nb6rv Ай бұрын
is all things u used free?
@colbyfayock
@colbyfayock Ай бұрын
everything has a free trial except Stripe which is transaction based
@OmarLahsenRamirez-cn9kg
@OmarLahsenRamirez-cn9kg Ай бұрын
I love you
@colbyfayock
@colbyfayock Ай бұрын
🫶
@psmontte
@psmontte Ай бұрын
Seriously! Have you seen an Invoice, in your life?
@colbyfayock
@colbyfayock Ай бұрын
🤨
@smellfungussports
@smellfungussports Ай бұрын
This is a NextJS tutorial, not a commerce tutorial.
@MrNimbus3000
@MrNimbus3000 Ай бұрын
Is it a clickbait? There is no Next 15 in this course. Next 15 is still is "release candidate" phase and can't be insalled even with `latest` flag with CLI. We can confirm that this is still next 14 as well as React 18 according to dev server logs it when author is firsr starting his dev server in the console. Are we going to upgrade Next to version 15 later in the course or the title is wrong? And why we are using src directory anyway if reccommended approach is different?
@colbyfayock
@colbyfayock Ай бұрын
sounds like you only watched the first 1m. if not you'll notice it upgrades later when Next.js 15 features that are RC/Canary are used. `src` directory is not an antipattern, you're thinking of `pages` vs `app` which again is not an antipattern, Next.js specifically maintains the Pages router as a valid, supported application path
@MrNimbus3000
@MrNimbus3000 Ай бұрын
@@colbyfayock I see. That is exactly what I was asking about. Thanks. Until this point your course looks amazing. I have seen some 1 hour for now
@sdfsfsfd437
@sdfsfsfd437 Ай бұрын
Aweeesssooomeeee!!!!! 💯❤👍
@colbyfayock
@colbyfayock Ай бұрын
🙌
@YassineZaroui
@YassineZaroui Ай бұрын
const where = orgId ? and(eq(Invoices.id, id), eq(Invoices.organizationId, orgId)) : and( eq(Invoices.id, id), eq(Invoices.userId, userId), isNull(Invoices.organizationId) ); await db .update(Invoices) .set({ status }) .where(where);
@colbyfayock
@colbyfayock Ай бұрын
nice
NextJS Tutorial - All 12 Concepts You Need to Know
44:38
ByteGrad
Рет қаралды 349 М.
This Fixes CORS
13:02
Colby Fayock
Рет қаралды 5 М.
Миллионер | 3 - серия
36:09
Million Show
Рет қаралды 1,9 МЛН
When Cucumbers Meet PVC Pipe The Results Are Wild! 🤭
00:44
Crafty Buddy
Рет қаралды 55 МЛН
Players vs Pitch 🤯
00:26
LE FOOT EN VIDÉO
Рет қаралды 131 МЛН
10 common mistakes with the Next.js App Router
20:37
Vercel
Рет қаралды 229 М.
Next Gen Fullstack React with TanStack
1:02:33
Syntax
Рет қаралды 14 М.
Coding a FULL App with AI (You Won't Believe This)
15:19
Creator Magic
Рет қаралды 199 М.
Coding Shorts 111: Was I Wrong About Blazor?
16:35
Shawn Wildermuth
Рет қаралды 19 М.
Building a Mobile App in 2024: The BEST Technologies
13:31
Dan Ilies
Рет қаралды 97 М.
Миллионер | 3 - серия
36:09
Million Show
Рет қаралды 1,9 МЛН