dolearning (Kevin Cunningham)
dolearning (Kevin Cunningham)
  • 39
  • 21 516
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
Handling Errors in JavaScript
มุมมอง 95ปีที่แล้ว
Handling Errors in JavaScript
Exploring Node Globals: Abort Controller
มุมมอง 252ปีที่แล้ว
Exploring Node Globals: Abort Controller
Stream: Building a Node CLI Tool
มุมมอง 1232 ปีที่แล้ว
Stream: Building a Node CLI Tool
Start and deploy a NextJS project with now
มุมมอง 344 ปีที่แล้ว
Start and deploy a NextJS project with now
Use dynamic routes in NextJS
มุมมอง 9094 ปีที่แล้ว
Use dynamic routes in NextJS
A few basic commands in MySQL and PostgreSQL
มุมมอง 134 ปีที่แล้ว
A few basic commands in MySQL and PostgreSQL
F is ma and Crazy
มุมมอง 24612 ปีที่แล้ว
F is ma and Crazy

ความคิดเห็น

  • @sacquer
    @sacquer 4 วันที่ผ่านมา

    As always, great stuff! 🥳 For suggestions, how about worker queues, testing, open api documentation

    • @doingandlearning
      @doingandlearning 4 วันที่ผ่านมา

      This is awesome man! Thanks so much - expect to see all three soon.

  • @timbur2614
    @timbur2614 5 วันที่ผ่านมา

    You touched on all the bits the other videos missed in explaining the basic definition and functions of an esm thankyou

  • @mdyousufgazi4030
    @mdyousufgazi4030 26 วันที่ผ่านมา

    youtube suggetions block the screen where you are typing the module. so the whole video messed up a bit

    • @doingandlearning
      @doingandlearning 4 วันที่ผ่านมา

      Thanks for that - I've removed the cards now to make it more useful - super helpful!

  • @ericgreen86
    @ericgreen86 หลายเดือนก่อน

    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!

  • @AnishBishnoi-wf7lv
    @AnishBishnoi-wf7lv 2 หลายเดือนก่อน

    wow thanks <3

  • @dreezydreez
    @dreezydreez 2 หลายเดือนก่อน

    Nice and informative video, these videos will explode once people understand that Fastify is the next big framework and start ditching express, subbed

  • @AnishBishnoi-wf7lv
    @AnishBishnoi-wf7lv 2 หลายเดือนก่อน

    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.

  • @timashoff
    @timashoff 2 หลายเดือนก่อน

    concise, clear, understandable. thank you!

  • @timashoff
    @timashoff 2 หลายเดือนก่อน

    clear explanation! please, keep making content

  • @safawh
    @safawh 4 หลายเดือนก่อน

    excellent sir....

  • @pde2131
    @pde2131 4 หลายเดือนก่อน

    Do you plan on finishing the series? Great content anyways

    • @doingandlearning
      @doingandlearning 2 หลายเดือนก่อน

      Working on it right now - thanks for your patience :)

  • @_Rie_
    @_Rie_ 5 หลายเดือนก่อน

    very good tutorial understood everything perfectly thanks mate

  • @_Rie_
    @_Rie_ 5 หลายเดือนก่อน

    very good tutorial followed it to the end and surprised I could do this much. Thanks man

    • @doingandlearning
      @doingandlearning 2 หลายเดือนก่อน

      Just released the next video in this series. Hope you enjoy that too.

  • @cdexzswzaqME
    @cdexzswzaqME 5 หลายเดือนก่อน

    but isnt the x-api-key exposed to client side i mean anyone can see it

    • @doingandlearning
      @doingandlearning หลายเดือนก่อน

      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.

  • @vitalgj
    @vitalgj 6 หลายเดือนก่อน

    thank you so much for this exciting and well-structured video tutorial, really heplful!

  • @HimanshuPatel-wn6en
    @HimanshuPatel-wn6en 7 หลายเดือนก่อน

    Why no new videos ?

  • @sawaya751
    @sawaya751 7 หลายเดือนก่อน

    Good Tutorial but is it possible to do the Schema with PostgreSQL too?

    • @doingandlearning
      @doingandlearning หลายเดือนก่อน

      Thanks. Like this idea. It's on my list for future videos now.

  • @torenordmark7127
    @torenordmark7127 7 หลายเดือนก่อน

    Thanks for the great video and good explanations at a reasonable pace.

  • @ansharahmir4707
    @ansharahmir4707 7 หลายเดือนก่อน

    is this fastify/basic-auth plugin?

    • @doingandlearning
      @doingandlearning 2 หลายเดือนก่อน

      No - this is just me coding it from scratch - you could use a plugin if you'd prefer.

  • @MelroyvandenBerg
    @MelroyvandenBerg 7 หลายเดือนก่อน

    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?

  • @helloworldkudasai
    @helloworldkudasai 9 หลายเดือนก่อน

    wonderful tutorial, thanks for making this

  • @vijaysinhparmar
    @vijaysinhparmar 9 หลายเดือนก่อน

    If you pass it in header , it will be visible in the browser and anyone can pick that secure key right?

    • @doingandlearning
      @doingandlearning 9 หลายเดือนก่อน

      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.

    • @vijaysinhparmar
      @vijaysinhparmar 9 หลายเดือนก่อน

      @@doingandlearning Could you please share for webapplication as well

    • @doingandlearning
      @doingandlearning 9 หลายเดือนก่อน

      @@vijaysinhparmar I'm creating a JWT vid which would be a better approach there :)

  • @myriamluce1287
    @myriamluce1287 10 หลายเดือนก่อน

    This was exactly what I needed, thank you! Well done video.

  • @shubhasheeshkundu6040
    @shubhasheeshkundu6040 10 หลายเดือนก่อน

    Sir plese continue the series

  • @sebastianfriedrich754
    @sebastianfriedrich754 10 หลายเดือนก่อน

    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

  • @alexanderryzhov4298
    @alexanderryzhov4298 11 หลายเดือนก่อน

    I there any chance that you'll continue the series and make video about JWT auth?

    • @doingandlearning
      @doingandlearning 9 หลายเดือนก่อน

      JWTs are definitely next on my list. Sorry for the delay.

    • @maxkabechani
      @maxkabechani 3 หลายเดือนก่อน

      @@doingandlearningwe’re still waiting 😅

  • @alexanderryzhov4298
    @alexanderryzhov4298 11 หลายเดือนก่อน

    Thanks, Kevin! It's the TOP content, move on and don't stop!

    • @doingandlearning
      @doingandlearning 2 หลายเดือนก่อน

      Thanks for the encouragement - working on it today!

  • @alexanderryzhov4298
    @alexanderryzhov4298 11 หลายเดือนก่อน

    Красавчик!

  • @MyCodingDiary
    @MyCodingDiary 11 หลายเดือนก่อน

    Love it! ❤Thanks... New subscriber ❣️

  • @santig1399
    @santig1399 11 หลายเดือนก่อน

    Clear, concise, and really good explanation. Nice video!

  • @nathanalberg
    @nathanalberg ปีที่แล้ว

    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 }); ???

  • @lbuduen
    @lbuduen ปีที่แล้ว

    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

  • @GauravKispotta
    @GauravKispotta ปีที่แล้ว

    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.

    • @doingandlearning
      @doingandlearning 4 วันที่ผ่านมา

      Fixed (a bit late - sorry!) :)

  • @abhim6380
    @abhim6380 ปีที่แล้ว

    Are you not going to make more videos?

  • @jjrise
    @jjrise ปีที่แล้ว

    awesome... this is exactly what I needed to find today. Thank you very much!

  • @Lucas-en3jw
    @Lucas-en3jw ปีที่แล้ว

    *PromoSM*

  • @ahmaddanesh1163
    @ahmaddanesh1163 ปีที่แล้ว

    Great Tutorial & and your way to explain is super , ⚡ Keep it up🥇

    • @doingandlearning
      @doingandlearning ปีที่แล้ว

      Thanks a lot - appreciate the encouragement! Let me know if there are other aspects here you'd like to know more about.

  • @ahmaddanesh1163
    @ahmaddanesh1163 ปีที่แล้ว

    Awesome💯

  • @lakshmichaitanya1316
    @lakshmichaitanya1316 ปีที่แล้ว

    You deserve a million subscribers brother.

    • @doingandlearning
      @doingandlearning ปีที่แล้ว

      Ah man! You're too kind! Let me know if there's anything you're looking to learn I can help with :)

  • @enryunto8087
    @enryunto8087 ปีที่แล้ว

    keep it up, good content!

  • @ui5971
    @ui5971 ปีที่แล้ว

    how to scrap html css

    • @doingandlearning
      @doingandlearning ปีที่แล้ว

      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.

    • @ui5971
      @ui5971 ปีที่แล้ว

      @@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 ,

  • @kmharsha
    @kmharsha ปีที่แล้ว

    The Best Fastify video at youtube

  • @hey_me0707
    @hey_me0707 ปีที่แล้ว

    thats pretty gud

  • @BrunoWinck
    @BrunoWinck ปีที่แล้ว

    Great, I learned solething. Waiting fir next one with authentication

  • @lionelfloriani8874
    @lionelfloriani8874 ปีที่แล้ว

    we want more! we want more!

    • @doingandlearning
      @doingandlearning ปีที่แล้ว

      I'm working on the next video already. Thanks for the encouragement :)

  • @lionelfloriani8874
    @lionelfloriani8874 ปีที่แล้ว

    I love you

  • @joabesilva7259
    @joabesilva7259 ปีที่แล้ว

    you're in Node weekly, congrats mate 🎉🎉

    • @doingandlearning
      @doingandlearning ปีที่แล้ว

      I know! Very excited about that :)

    • @fitsum
      @fitsum ปีที่แล้ว

      @@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 🙏🏾

  • @_martinedwards
    @_martinedwards ปีที่แล้ว

    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.

    • @doingandlearning
      @doingandlearning ปีที่แล้ว

      I've grown to love TS for sure - for teaching it depends on the client. What's executive program? Sounds interesting.

  • @JasonRamasami
    @JasonRamasami ปีที่แล้ว

    Kev in a hexagonal floating zone! Amazing!