Recently Released.
Newly Released in the last 30 days
Applying Our Authorization UI Checks
In this lesson, we'll use our access controls to apply authorization checks to the user interface of our application. This will ensure users don't see actionable items for operations they aren't allowed to perform.
Applying Our Server-Side Authorization Checks
In this lesson, we'll use our access controls to add authorization checks to our controllers where needed. This will help ensure members can't update, delete, or invite users.
Rolling Our Own Authorization Access Controls
In this lesson, we'll create our own simple authorization access control list. We'll then share this list globally throughout our application by appending it to our HttpContext and sharing it with our Vue application via Inertia.
Refreshing Partial Page Data
In this lesson, we'll implement a refresh functionality on our org users and invites tables using Inertia's nifty partial data reloading feature.
Removing an Organization User
In this lesson, we'll add the ability to remove users, including ourselves, from an organization. We'll also discuss a few key elements needed to handle this gracefully.
Canceling an Organization Invite
In this lesson, we'll add the ability to cancel a sent invitation to an organization.
Adding the Organization Invite User Interface
In this lesson, we'll wrap up our invite send & accept flows by adding the UI needed to view pending organization invites as well as send new invites. We'll then walk through tests of each flow scenario to ensure all is working.
Accepting an Organization Invitation
We'll add our route to handle accepting an organization invite. Within this route, we'll verify our signed url, ensure the invitation is valid, accept the invite, and gracefully handle the use-case where users may need to first login or register.
Sending an Invitation to Join Our Organization
In this lesson, we'll begin our organization invite system by first adding the ability to send an invitation email to join our organization.
Listing Current Organization Members
In this lesson, we'll query and list all current members within our active organization.
Updating & Deleting an Organization
In this lesson, we'll begin work on our organization's settings page by adding the ability to update and delete the active organization.
Account Deletion & Cleaning Dangling Organizations
In this lesson, we'll add the ability for our user's to delete their accounts. During account deletion, we'll also delete any organization's this user is the only member of, keeping them from dangling inside our database without users.
Alerting Users When Their Account Email Is Changed
In this lesson, we'll add an additional security step onto our account email change logic, by also notifying the user's old email address about the change.
Allowing Users to Safely Update Their Account Email
In this lesson, we'll add the ability for our users to safely update their account email address. We'll require them to confirm their password, then make the update in our database and log it to the user's email histories.
New Unique & Exist Validation Overloads in AdonisJS 6
In this lesson, we'll cover the new overload option recently added to Lucid's VineJS unique and exists rules allowing for a simplified usage for common use-cases.
Creating the Settings Shell
In this lesson, we'll create shell specifically for our settings pages to live between our pages and their layouts.
Lessons.
Cross-Tab Communication in JavaScript using a BroadcastChannel
We discuss how to do cross-tab communication with a BroadcastChannel, the browser's native API to communicate across browser instances. It's rather similar to using a SharedWorker, just without the worker.
Let's Learn Adonis 5: Prerequisites & Creating A New Project
We'll be learning a little about what Adonis is, the prerequisites to get started, and how to create a new project.
Cross-Tab Communication in JavaScript using a SharedWorker
In this lesson we'll be going over how to do cross-tab communication using a SharedWorker. SharedWorkers are Web Workers that are sharable across browser-instances (tabs, windows, etc).
How To Do Cross-Tab Communication In JavaScript With LocalStorage
In this lesson, we'll be going over how to do cross-tab communication using LocalStorage. Of the three methods we'll be discussing, this one is the most browser compatible method; despite it being a workaround.
How To Use A Custom Domain in AWS Amplify with Route53
In this lesson, we'll be adding a custom domain to both our production and stage AWS Amplify builds using a Route53 hosted zone.
How To Deploy a Nuxt SPA to AWS Amplify for Production
We'll learn how to create and deploy an Amplify production environment so that our development data and production data are separate from one another.
How To Deploy A Nuxt SPA To AWS Amplify
In this lesson we cover how to deploy our Nuxt application as an SPA to AWS Amplify.
Implementing Our Private & Public Amplify GraphQL API In Our Nuxt App
In this lesson we'll be implementing the publicly and privately accessible GraphQL API that we created in the last lesson within our Nuxt project.
How To Add A Public And Private GraphQL API with AWS Amplify
In this lesson we cover how to add a GraphQL API with AWS Amplify consisting of both public and private endpoints.
Adding Register and Login Flows Using AWS Amplify in a Nuxt App
We continue with our Amplify authentication by implementing our login and register flows within our Nuxt app. We'll add registration, email confirmation, login, login, and session persisting.
How To Add Authentication Using AWS Amplify's Auth Class In A Nuxt App
In this lesson we'll go over how to add authentication to our Nuxt application using AWS Amplify. We'll also go over how to setup a Vuex store to interface with Amplify's Auth API.
Quick Tip: You Can Transition Text Decoration, A Little
Text decoration is a supported transition property when it comes to color and thickness. Let's examine a couple quick examples of this working.
All About JavaScript Arrow Functions
Arrow functions offer a concise alternative for standard functions. Though, there are important functionality differences regarding this binding, constructors, generators, and more.
Introducing and Understanding JavaScript Promises
A promise allows us to delay the execution of code that's dependent upon information retrieved by an asynchronous operation. We'll expand on what this means, how to use promises, and how to go about creating one.
How to Setup a Vue App Without a Bundler Using Snowpack (Version 1)
We'll cover how to setup a Vue project utilizing Snowpack V1 instead of a bundler, like Webpack. We'll also be using http-vue-loader so we can easily work with .vue single-file components.
How To Setup AWS Amplify in a New Nuxt Project
We go over how install the AWS Amplify CLI and configure it locally on our machine. We'll create a new Nuxt project using create-nuxt-app. Then lastly, we'll configure Amplify to our Nuxt project so the two can successfully communicate with one another.
Jagr Is Coming Soon, Here's Where We Stand
Jagr, a developer education hub, is currently in development and will be coming soon. This post will be used to keep you up-to-date with where we stand.
Showing 341 to 357 of 357 results