Recently Released.

Newly Released in the last 30 days
Video preview
Adocasts Plus Exclusive
Exclusive
Listing Access Tokens

Listing an Organization's Access Tokens

In this lesson, we'll query all of our organization's access tokens and filter out any tokens that are expired. Then, we'll list the organization's tokens showing it's name, abilities, when it was created, and when it was last used.

Video preview
OAT vs JWT

Opaque Access Tokens (OAT) vs JSON Web Tokens (JWT)

In this lesson, we'll take a step back to understand the differences between the tokens we're using, which are Opaque Access Tokens (OAT), and JSON Web Tokens (JWT). We'll discuss security, scalability, and what makes up each token.

Video preview
Creating Access Tokens Part 2: VueJS

Creating Access Tokens Part 2: Inertia/Vue

In this lesson, we'll rig up the create access token route we created in the last lesson to a form within our Vue application. We'll also stub the overall manage access tokens card for the organization itself.

Video preview
Creating Access Tokens Part 1: AdonisJS

Creating Access Tokens Part 1: AdonisJS

In this lesson, we'll add a route to the settings portion of our application allowing the user to create an opaque access token (OAT), with the desired permissions, for the active organization.

Video preview
Access Token Abilities

Defining Access Token Abilities & DTO

In this lesson, we'll finish up our preparation work by creating a data transfer object (DTO) for our access tokens. Then, we'll define what our token abilities will be within our application's API.

Video preview
Separation of Concerns

Separation of API & Web Auth Guard Concerns

In this lesson, we'll restrict our routes to their applicable authentication guard. Ensuring our web routes can properly authorize using their role-based authorization and our API can properly authorize using our access token abilities.

Video preview
Configuring Api Authentication

Configuring Access Token Auth on top of Session Auth

In this lesson, we'll get opaque access tokens configured within our AdonisJS application on top of the already configured session/web authentication. This will include configuring the guard and setting up the db access token provider.

Video preview

Overview of our Database Schema

In this lesson, we'll take a high level look at our database's schema so that we have an understanding at the entities and models at play and how they relate to one another within our application.

Video preview
Getting Familiar with our Web Project

Getting Familiar with our Web Project

In this lesson, we'll quickly walk through the web application we've cloned down to get familiar with the data at play, how it's presented to the user, and the features at hand.

Video preview
Getting Up and Running

Getting the Web Project Up & Running

We'll get our web project cloned down. Then, we'll get it configured by first creating our database and running our migrations and seeder. Lastly, we'll get a test SMTP email inbox set up through MailTrap.

Video preview
Goal of this Series

Goal of this Series

We'll cover the scope of this series and show some of the functionalities we'll be building throughout, which include an access token management panel, opaque access token authentication using an organization model, and building an API.

Lessons.

Video preview
Adocasts Plus Exclusive
Exclusive
Safely Updating the User's Email

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.

Video preview
New Unique & Exists Overloads
AdonisJS Quick Tip #22.0
・
Jan 07

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.

Video preview
Adocasts Plus Exclusive
Exclusive
Storing Lesson Reordering
Building with AdonisJS & Inertia #9.7
・
Dec 20, 24

Storing Lesson Order Changes & Handling Cross-Module Drag & Drops

In this lesson, save the changes made to lessons inside a course when a user uses drag-and-drop to move a lesson. Users can change the lesson order inside a single module or move a lesson into a new module, so we'll need to handle both use cases.

Video preview
Adocasts Plus Exclusive
Exclusive
Creating & Listing Course Lessons
Building with AdonisJS & Inertia #9.2
・
Dec 13, 24

Creating & Listing Sortable Course Lessons

In this lesson, we'll add the ability to create new lessons within a course's module. We'll then list the lessons within their designated module using the order specified by the user.

Video preview
Adocasts Plus Exclusive
Exclusive
Course Module CRUD
Building with AdonisJS & Inertia #9.1
・
Dec 06, 24

Creating, Editing, & Deleting Course Modules

In this lesson, we'll add the ability to create, edit, and delete a course's modules using the reusable components and composables we've created in past lessons.

Video preview
Adocasts Plus Exclusive
Exclusive
Tag Selector Component
Building with AdonisJS & Inertia #8.5
・
Dec 02, 24

The Tag Selector

In this lesson, we'll define a reusable tag selector component that we'll use for our difficulties, access levels, and statuses. This component will accept props that will automatically send a patch request to our server to update values as they change.

Video preview
Adocasts Plus Exclusive
Exclusive
Building with AdonisJS & Inertia #8.1
・
Nov 27, 24

Creating A New Course

In this lesson, we'll add the ability to create a new course within the active organization.

Video preview
Adocasts Plus Exclusive
Exclusive
Exists in Organization Validation
Building with AdonisJS & Inertia #7.4
・
Nov 22, 24

Reusable VineJS Exists In Organization Validation

In this lesson, we'll take our difficulty's exists in organization VineJS validation and make it reusable so we can easily use it for our statuses, access levels, courses, etc.

Video preview
Adocasts Plus Exclusive
Exclusive
Listing and creating difficulties
Building with AdonisJS & Inertia #7.0
・
Nov 11, 24

Listing & Creating Difficulties

In this lesson, we'll create a page to list the active organization's difficulties. Then, we'll add the ability to create a new difficulty and add a new color picker type to our FormInput component.

Video preview
Adocasts Plus Exclusive
Exclusive
Forgot Password
Building with AdonisJS & Inertia #5.6
・
Oct 21, 24

Forgot Password & Password Reset

In this lesson, we'll walk through setting up the complete forgot password flow including, creating a password reset token with time-expiry, sending an email notification with a password reset link, verifying the token, and resetting the users password.

Video preview
Adocasts Plus Exclusive
Exclusive
Login & Exceptions
Building with AdonisJS & Inertia #5.4
・
Oct 11, 24

Logging In Users & Displaying Exceptions

In this lesson, we'll add the ability to login to our application. We'll then discuss the differences between errors and errorsBag and how we can display long-lived exception messages as an alternative to our toast manager.

Video preview
Adocasts Plus Exclusive
Exclusive
Form Validation & Displaying Errors
Building with AdonisJS & Inertia #3.1
・
Sep 06, 24

Form Validation & Displaying Errors

In this lesson, we'll add validation to our POST handler for our register route. We'll then update our form fields to check for and display any validation errors that may have occurred.

Video preview
Posting an Array of Objects with HTML Forms
Let's Learn AdonisJS 6 #11.8
・
Jun 26, 24

Posting Objects, Arrays, and an Array of Objects in HTML Forms

In this lesson, we'll learn how we can use form field names to send an array of objects with our HTML form submission. We'll discuss pitfalls to watch out for and how we use AlpineJS to simplify index syncing within our field names.

Video preview
Managed Transactions and Syncing Movie Cast Members
Let's Learn AdonisJS 6 #11.9
・
Jun 26, 24

Managed Transactions and Syncing Movie Cast Members

In this lesson, we'll learn how we can use what we learned in the last lesson to also sync our cast members. We'll then extract this functionality into a service and wrap it within a managed database transactions.

Video preview
Uploading Movie Cover Images
Let's Learn AdonisJS 6 #11.6
・
Jun 20, 24

Uploading Movie Cover Images in our Create or Edit Form

In this lesson, we'll learn how to upload movie cover images when either creating or editing a movie via our create or edit form.

Video preview
Allowing Admins to Update Movies and Clear Values
Let's Learn AdonisJS 6 #11.4
・
Jun 15, 24

Allowing Admins to Update Movies and Clear Values

In this lesson, we'll recreate our movie form for the purpose of updating our movies. We'll also add the ability to clear values and discuss the difference between VineJS' optional and nullable chain options.

Video preview
Allowing Admins to Create Movies
Let's Learn AdonisJS 6 #11.3
・
Jun 12, 24

Allowing Admins to Create Movies

In this lesson, we'll allow our administrators to create movies via our admin panel. We'll walk through getting the form set up, validated, and our movies created.

Video preview
Uploading and Displaying User Avatars
Let's Learn AdonisJS 6 #10.3
・
Jun 01, 24

Uploading and Displaying User Avatars

In this lesson, we'll learn how to validate and upload avatar images into our project's storage. We'll then learn how we can easily display images we have contained within our app's storage

Video preview
Allowing Users To Edit Their Profile
Let's Learn AdonisJS 6 #10.1
・
May 29, 24

Using Dependency Injection to Update A User's Profile

In this lesson, we'll learn how to allow users to edit their profiles. We'll also cover how we can inject the HttpContext into a service instance using Dependency Injection (DI).

Video preview
Validating Query String Filter Values
Let's Learn AdonisJS 6 #8.5
・
May 06, 24

Validating Query String Filter Values

In this lesson, we'll learn how to use VineJS, AdonisJS' Validator, to validate the filter properties and values we have within our query string.

Showing 1 to 20 of 32 results