- 39
- 21 516
dolearning (Kevin Cunningham)
United Kingdom
เข้าร่วมเมื่อ 25 มี.ค. 2006
Secure Your API: Role Based Access Control with JWTs
In this short video, we’re building on our JWT plugin from the last session to add Role-Based Access Control (RBAC) to our Node.js application. We’ll walk through the process of extending our JWT authentication to allow fine-grained access based on user roles, using Fastify in a CommonJS setup. You’ll learn how to secure routes based on user roles, ensuring only authorized users have access to critical endpoints. Whether you’re building a simple API or a complex application, adding RBAC will elevate your security. Watch now to strengthen your authentication strategy with RBAC!
มุมมอง: 49
วีดีโอ
4 Architectural Fundamentals Developers Can’t Ignore
มุมมอง 4816 ชั่วโมงที่ผ่านมา
Are you a developer who’s ever wondered how architecture really impacts your code? In this video, we’ll explore the 4 key aspects of software architecture that every developer should understand to write better, more scalable, and maintainable code. Here’s what we’ll cover: - Architectural Characteristics - The hidden qualities of a system that impact everything from performance to scalability. ...
Master Fastify Auth: Protect with JWTs
มุมมอง 3672 หลายเดือนก่อน
In this video, we talk about the various auth strategies we've explored - x-api-key and username/password - and how JWTs differ. We then dive into implementing JWTs and using them to protect our routes. All the code can be found in the accompanying repo - github.com/doingandlearning/building-an-api
Vue Forms #1: Building Forms without Libraries
มุมมอง 1566 หลายเดือนก่อน
Welcome to the first video in a small series on mastering forms in Vue! 🚀 In this episode, we dive into the fundamentals of building forms in Vue.js, but with a twist - we're doing it without any external libraries. Whether you're a beginner or a seasoned Vue developer, this video is your step-by-step guide to understanding the essentials of form handling in Vue, purely with native Vue techniqu...
Discover Your Perfect Api Client: Which One Is Right For You?
มุมมอง 1649 หลายเดือนก่อน
I hate how API testing tools gradually add more and more features. Postman got bloated, so I moved to Insomnia which then felt the need to get all/most of the Postman features. In this video, I tried out the following: - Just using the browser - Using a VS Code plugin: marketplace.visualstudio.com/items?itemName=rangav.vscode-thunder-client - Bruno: usebruno.com - Firecamp: firecamp.dev - Hopps...
I built an AI Powered Google Extension in 15 minutes (so you don't have to)
มุมมอง 84ปีที่แล้ว
Ever wondered how to make a Google extension? Join me, Kevin, as I build "Super Summarizer", a Chrome extension that taps into the power of Chat GPT to condense web pages into three main points with a readability score. Get hands-on insights into creating files, setting up permissions, working with APIs, and much more! 🔗 Grab the code here: github.com/doingandlearning/super-summarizer-extension...
Modules in Node: CommonJS and ESM
มุมมอง 972ปีที่แล้ว
NodeJS has two ways to be able to import and export modules - by default Node executes in CommonJS but with one line in the package.json you can execute in ESM. Working in ESM allows us to use the same syntax on the frontend as the backend.
🤖 Robots Don't Get Bored: AUTOMATE Tasks Endlessly with JavaScript ⚙️
มุมมอง 463ปีที่แล้ว
In a world where efficiency is king, learn how to harness the power of JavaScript to make your digital bots work tirelessly for you. Discover the potent capabilities of While True loops and setInterval for running tasks indefinitely, coupled with the precision of Node-Cron for scheduling at regular intervals
Unlocking the Power of Email Automation with Node.js
มุมมอง 336ปีที่แล้ว
In this tutorial video, we will take a deep dive into how you can leverage the power of the NodeMailer package to send emails in Node.js. From installation to sending your first basic email, to targeting multiple recipients and even adding attachments and images - this tutorial has got you covered! 🔵 What You Will Learn 🔵 1️⃣ How to install the NodeMailer package in your Node.js project. 2️⃣ Se...
Web Data Extraction Techniques: Node.js and Puppeteer in Focus
มุมมอง 127ปีที่แล้ว
Interested in web scraping? This video tutorial introduces you to the art of data extraction from JavaScript-structured websites using Node.js and Puppeteer. Beyond extraction, you'll also learn how to effectively store and utilize this data within your file system.
Dive into the Data Pool: Web Scraping with Node.js and Cheerio like a Pro!
มุมมอง 392ปีที่แล้ว
In this in-depth tutorial, we delve into the exciting world of web scraping using Node.js, leveraging the power of the Cheerio library. With the unique advantage of using only a single external library, we guide you through the journey of fetching, parsing, and persisting data from the web. The video covers scraping individual items, handling pagination, and scraping multiple items of a specifi...
Securing API Routes: Basic Authentication Explained
มุมมอง 937ปีที่แล้ว
Securing API Routes: Basic Authentication Explained
Master Fastify Authorization: Protect Your API Routes
มุมมอง 9Kปีที่แล้ว
Master Fastify Authorization: Protect Your API Routes
Building a CRUD API with Fastify and MongoDB: Part 2 - Handling Related Data
มุมมอง 1Kปีที่แล้ว
Building a CRUD API with Fastify and MongoDB: Part 2 - Handling Related Data
Building a RESTful API with Node.js, Fastify, MongoDB and Mongoose: Part 1
มุมมอง 4.7Kปีที่แล้ว
Building a RESTful API with Node.js, Fastify, MongoDB and Mongoose: Part 1
Exploring Node Globals: Abort Controller
มุมมอง 252ปีที่แล้ว
Exploring Node Globals: Abort Controller
Start and deploy a NextJS project with now
มุมมอง 344 ปีที่แล้ว
Start and deploy a NextJS project with now
A few basic commands in MySQL and PostgreSQL
มุมมอง 134 ปีที่แล้ว
A few basic commands in MySQL and PostgreSQL
As always, great stuff! 🥳 For suggestions, how about worker queues, testing, open api documentation
This is awesome man! Thanks so much - expect to see all three soon.
You touched on all the bits the other videos missed in explaining the basic definition and functions of an esm thankyou
youtube suggetions block the screen where you are typing the module. so the whole video messed up a bit
Thanks for that - I've removed the cards now to make it more useful - super helpful!
I wanted to thank you for doing this video. I found numerous articles, tutorials and videos on how to do this and I couldn't get it to work until I saw your video. Very well done!
So glad it helped!
wow thanks <3
No problem 😊
Nice and informative video, these videos will explode once people understand that Fastify is the next big framework and start ditching express, subbed
Please make complete video on fastify.js like crud, mongodb, jwt , auth, middleware complete production level application required. because about this fastify.js not on currently on youtube.
concise, clear, understandable. thank you!
clear explanation! please, keep making content
excellent sir....
Do you plan on finishing the series? Great content anyways
Working on it right now - thanks for your patience :)
very good tutorial understood everything perfectly thanks mate
very good tutorial followed it to the end and surprised I could do this much. Thanks man
Just released the next video in this series. Hope you enjoy that too.
but isnt the x-api-key exposed to client side i mean anyone can see it
Yes. Absolutely. So this isn't a full security solution. I talk about others in followup videos but as part of a security solution or even as a first step, the xapikey approach is a possible element.
thank you so much for this exciting and well-structured video tutorial, really heplful!
Why no new videos ?
Good Tutorial but is it possible to do the Schema with PostgreSQL too?
Thanks. Like this idea. It's on my list for future videos now.
Thanks for the great video and good explanations at a reasonable pace.
is this fastify/basic-auth plugin?
No - this is just me coding it from scratch - you could use a plugin if you'd prefer.
Maybe also try to create a typescript example of your api? Since that makes a lot of sense I think. Creating at least some kind of type safety .. or?
wonderful tutorial, thanks for making this
If you pass it in header , it will be visible in the browser and anyone can pick that secure key right?
Yeah. This approach is helpful for server-server communication but not safe for client-server. The example here was more to show a naive approach while dealing with headers.
@@doingandlearning Could you please share for webapplication as well
@@vijaysinhparmar I'm creating a JWT vid which would be a better approach there :)
This was exactly what I needed, thank you! Well done video.
Sir plese continue the series
I'm on it!
Hey Kevin, great that you're tackling the topic of Fastify. Unfortunately, you make quite a few mistakes, but thankfully, you point them out. I'm not sure if a beginner would understand the hints. Overall, I like your style, and you get to the important points. Do you also cover data validation? I'm curious and looking forward to the next video in the series! Cheers, Sebastian
I there any chance that you'll continue the series and make video about JWT auth?
JWTs are definitely next on my list. Sorry for the delay.
@@doingandlearningwe’re still waiting 😅
Thanks, Kevin! It's the TOP content, move on and don't stop!
Thanks for the encouragement - working on it today!
Красавчик!
Love it! ❤Thanks... New subscriber ❣️
Clear, concise, and really good explanation. Nice video!
One things missing.... can't you apply middleware at the register level? ... eg... lock down all of `/api/v1/users` and not `/api/v1/projects`... something like: fastify.register(projectRoutes, { prefix: '/api/v1/users', prehandler: auth }); ???
Excellent tuto, I'm coming from express, and the way you do things with fastify makes my transition smoother, thx a lot
Does this method work with Typescript? Thanks
Good to the point video. A suggestion please add few seconds at the end of the video so that the TH-cam thumbnail does not blocks the screen.
Fixed (a bit late - sorry!) :)
Are you not going to make more videos?
I'm on it!
awesome... this is exactly what I needed to find today. Thank you very much!
*PromoSM*
Huh?
Great Tutorial & and your way to explain is super , ⚡ Keep it up🥇
Thanks a lot - appreciate the encouragement! Let me know if there are other aspects here you'd like to know more about.
Awesome💯
Thanks 🔥
You deserve a million subscribers brother.
Ah man! You're too kind! Let me know if there's anything you're looking to learn I can help with :)
keep it up, good content!
Thanks for the encouragement :)
how to scrap html css
Hey! Thanks for being here! When I have to do that, I actually don't use Node. I use a third party tool called httrack www.httrack.com/ - web scraping allows me to programmatically get the data I want, httrack allows me to make a local copy of everything.
@@doingandlearning yes i want to learn through other websites, it makes it easier and great , I'll check it sir , please keep making important videos, I'll grateful whole life ,
The Best Fastify video at youtube
thats pretty gud
Thanks for the comment :)
Great, I learned solething. Waiting fir next one with authentication
we want more! we want more!
I'm working on the next video already. Thanks for the encouragement :)
I love you
Too kind!
you're in Node weekly, congrats mate 🎉🎉
I know! Very excited about that :)
@@doingandlearning I haven't gone through the series yet but I'm really looking forward to the <15 minute chapters. huge plus in my book. thanks in advance 🙏🏾
Great demo! This is probably what Typescript looks like in the background. We've still not fully integrated with Typescript yet. Have you? We're doing the training through Executive Program. Its like duolingo for JavaScript.
I've grown to love TS for sure - for teaching it depends on the client. What's executive program? Sounds interesting.
Kev in a hexagonal floating zone! Amazing!
It's warm in my hexagon. Come visit!