Having the long-lived token copied somewhere nearby, it's now time to retrieve the user from Clerk, but to do so, we need to make a few adjustments. From our index.ts, we need to modify the dotenv import and use import "dotenv/config" instead. Make s...
Now that the user is created, we need to generate the long-lived token to continue with the backend and set aside the frontend for a while. To do this, we’ll go to our Clerk dashboard, select the Configure tab, and click on the JWT templates item. O...
Now we’re moving towards the frontend part because we want to get the long-lived token from Clerk in order to test the backend fully with it (because right now we can only see the "User not authenticated" message). Here we go! Adding React Router We’...
I’ve never used it, but I always wanted to, so here we go. I know it’s something that’s done at the beginning, but we’re not that far from it. For the moment, I just want to use Husky for commit lint because I like my commits well defined and not jus...
With the database set up, we can now add more models. Thinking about it, we can see three models right now: User (which we already have). Feedback. Town. model User { id Int @id @default(autoincrement()) email String ...
Now that we have the authentication implemented, we need to define the database. We first need to add the necessary dependencies. pnpm add @prisma/client prisma pg Create the database: psql -U postgres CREATE DATABASE yourdatabase; With Postgres r...
This part is going to be pretty close to the guide provided by Clerk, but we’ll add a few things to make it look different. I’m assuming you know how to create an account at Clerk, so we’ll skip that part. Once registered, it’ll ask you to create a n...
In the previous article, we saw these screenshot with the first logs of our backend server. They work but they don’t look great (I mean, they can look better). We’ll do this with pino-pretty. The default logging in fastify is made with pino,but we c...
All right, here we go, the backend journey starts! Setting up the project First and foremost, we create the folder, access it, and run pnpm init (unlike npm, this command doesn't require the -y flag and isn't interactive). Now we are going to use git...
Why this project? The end of 2024 and the beginning of 2025 have been heavily influenced by AI for me (and most of us developers). I don’t use it much at work, but at home, using Cursor, I found myself using it too much. I realized this when I though...
In my opinion, choosing the right font for coding can make a big difference in your overall experience. In this article, I’ll be sharing my top 10 favorite programming fonts, based on my personal preferences. 1. MonoLisa (Paid with free limited optio...
Since the beginning when I started building the Fuel Tracker App I knew I'd add translations some day. The time has come and I'll share how I did it. First thing we'll do is install what we need, and in this case is i18next and react-i18next. npm i i...
To put you in context here's the vehicle view on the Fuel Tracker App. First of all, and for my own projects (this one is fairly new), I'm trying to get the habit of creating new branches feature-specific so I focus in one thing that is the feature ...
It's been a while without coding much. I've been, and still am, looking for a dev job for 5 months and no luck for me (I applied to more than 300+ offers). I lost a bit of motivation and for the last 3-4 weeks I didn't code even a bit. This changed l...
If you're looking for a job on LinkedIn like I do, you're tired of the promoted listings that are always there and you cannot hide. I was tired, so I decided to put a solution to it. I created a script for Chrome that does just that. First, I needed...
Shortcuts done 🎉. Last part, scheduling. For this part, I didn't do much myself. I found this post where it's very clear how to do it. I followed the steps and works perfectly. Likewise, I'll explain it to you with a few screenshots that I think are...
Code is done 💪. Now, how can I make it so I don't have to open the terminal and type the command every time I want to track the price. Apple Shortcuts. I thought of doing it with Automator at first, but when I was programming it, I saw that Shortcu...
It's the week of Black Friday and I want to share with you how I came up with it. My girlfriend and I wanted an airfryer, so I decided to check how the price will evolve until Friday. This was the only thing I wanted to track, but trying it with anot...
It's something I started using not long ago, depending on the project I was working with. I had a couple of problems with performance, and I thought: "Are maybe too many extensions causing performance issues?". At first, I thought of disabling the ...
Have you always been changing the display size, the width or toggling de device bar to change between the wide range of different options available? That time might be over with this website created by bytes.dev. It’s super easy to use. You copy the ...