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
What Can We Share?
Building with AdonisJS & Inertia #2.9
・
Sep 06, 24

What Code Can & Can't Be Shared Between AdonisJS & Inertia

In this lesson, we'll discuss what code we can and cannot share between AdonisJS and Inertia.

How To Make A Simple AdonisJS 6 Package
AdonisJS In 30 #8.0
・
Aug 02, 24

How To Make A Simple AdonisJS 6 Package

In this lesson, we'll learn how to use AdonisJS' Package Starter Kit to create a simple package where we can configure and add a make:action Ace CLI command to generate action class files, similar to the make:service command.

Organizing your AdonisJS Logic
AdonisJS In 30 #7.0
・
Jul 22, 24

Three Approaches for Organizing your AdonisJS Business Logic Operations

In this lesson, we'll dive deep into three different ways we can organize our code; fat controllers, services, and actions. We'll also discuss circular dependencies, static and non-static service methods, and dependency injection.

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
Download Storage Images
Let's Learn AdonisJS 6 #11.7
・
Jun 20, 24

Using A Wildcard Route Param to Download Storage Images

In this lesson, we'll learn how we can utilize a wildcard route parameter to dynamically download images that've been uploaded and stored within our application storage.

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
One Form to Create or Edit Movies
Let's Learn AdonisJS 6 #11.5
・
Jun 15, 24

How To Use One Form to Create or Edit Movies

In this lesson, we'll learn how we can merge our create form and edit form together into a create or edit form. We'll conditionally determine whether we'll be creating or editing based on our movie value and use EdgeJS features to simplify the process

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
Filter by User's Watched Status
Let's Learn AdonisJS 6 #9.4
・
May 16, 24

Filtering By User's Watched Status

In this lesson, we'll learn how to add a filter to our user's watchlist allowing them to show only movies they have or have not watched.

Video preview
Listing and Filtering User Watchlist Items
Let's Learn AdonisJS 6 #9.2
・
May 10, 24

Listing and Filtering User Watchlist Items

In this lesson, we'll take our movie filter, and learn how we can reuse it to display a filterable list of the user's watchlist movies.

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.

Video preview
How To Apply A Dynamic Sort Filter To Your Query
Let's Learn AdonisJS 6 #8.3
・
May 01, 24

How To Apply A Dynamic Sort Filter To Your Query

In this lesson, we'll learn how we can add a user-selected sort option to our filters. Then, we'll apply the selected filter to our movie query

Video preview
Joining SQL Tables To Order By A Related Column
Let's Learn AdonisJS 6 #8.4
・
May 01, 24

Joining SQL Tables To Order By A Related Column

In this lesson, we'll learn how to join a related table into our query and use that table to apply a sort via the relationship. We'll then see how we can conditionally apply this join only when it's needed for the selected order by.

Video preview
Singleton Services and the Idea of Caching
Let's Learn AdonisJS 6 #2.12
・
Jan 31, 24

Singleton Services and the Idea of Caching

In this lesson, we'll learn about singleton services and how to use them as a store to hold temporary information throughout our server's life by building a simple in-memory caching service.

Video preview
Let's Learn AdonisJS 6 #2.9
・
Jan 27, 24

Extracting Reusable Code with Services

In this lesson, we'll learn about services and how we can use them to extract reusable code in a way that makes it super simple to use throughout your project.

Let's Learn AdonisJS 5 #4.0
・
Feb 05, 22

Service Providers & The IoC Container

We'll learn about Service Providers and how they interact with the IoC Container. We'll then put this to practice by wrapping a NodeJS package so it's easy to use within AdonisJS

Static, Non-Static, and IOC Services
Let's Learn AdonisJS 5 #3.2
・
Jan 24, 22

Static, Non-Static, & Singleton Services

We'll learn what services are. We'll then discuss three different ways we can use them within our AdonisJS application, including static, non-static, and singleton services.

Let's Learn AdonisJS 5 Preview #4.0
・
Jan 02, 21

Let's Learn Adonis 5: Controllers, Services, Resources, and Namespacing

In this lesson, we'll be hammering down several Adonis topics in one swoop. We'll be covering Controllers, which in turn allow us to utilize Services, Resources, and Namespacing.