undefined

Lucid

Lucid is AdonisJS' Object Relational Mapping (ORM). It's a first-party package that follows the active record pattern. With it you can easily perform CRUD operations, add database hooks, normalize data, and so much more.

10 Series
152 Lessons
Database

Adding an API to an AdonisJS Web App

In this series, we'll add a API, using Opaque Access Tokens for authentication, to a preexisting web application. We'll implement dual-guard authentication, add a token management panel, and authenticate our API directly with an organization model!

43 Lessons
5h 31m

AdonisJS Quick Tip

Quick tips, lessons, and screencasts covering specific topics on AdonisJS.

23 Lessons
2h 43m

Building with AdonisJS & Inertia

We'll learn how to use InertiaJS with AdonisJS 6 to build a feature-complete application, called PlotMyCourse. Our application will use server-side rendering (SSR), Vue 3, and Shadcn-Vue. It'll feature organizations, drag-and-drop, and lots of forms.

91 Lessons
14h 5m

AdonisJS In 30

In this series, we'll highlight various features and functionalities in AdonisJS you can complete in about 30 minutes or less.

9 Lessons
2h 59m

Let's Learn AdonisJS 6

In this series, we'll learn AdonisJS 6 step-by-step in a beginner-friendly way. Covering topics like routing, controllers, services, EdgeJS, Lucid ORM, forms, filtering, authentication, etc.

113 Lessons
14h 11m

Let's Learn AdonisJS 5

Learn AdonisJS 5 in-depth as we step through all the major functionalities of the framework in-depth. Learn about Routing, Controllers, Lucid, Auth, and much more.

29 Lessons
5h 3m

HTMX & AdonisJS Filters

In this mini-series, we'll learn how to install HTMX within an AdonisJS project. Once installed, we'll implement a basic filtering system with AdonisJS and initiate form handlers with HTMX to update our DOM.

5 Lessons
20m 10s

Let's Build with AdonisJS

Livestreams where we build applications using AdonisJS 5. Starting out, we'll be rebuilding Adocasts, formerly called Jagr.Co.

12 Lessons
21h 39m

AdonisJS 5 Infinite Load

In this two-part mini-series, we'll be creating an infinite load functionality within our AdonisJS 5 application. We'll make use of a Model Factory & Seeder to make dummy data. We'll then use our Model's paginate method to easily track our progress

2 Lessons
18m 1s
Video preview
Adocasts Plus Exclusive
Exclusive
Optional Relationship Loading
Video preview

User-Defined Relationship Loading

In this lesson, we'll let our users tell us which relationships they'd like to get back in our lesson search. We'll also discuss how to handle nested relationships and what to watch out for.

Video preview
Adocasts Plus Exclusive
Exclusive
Filtering by Publish Date
Video preview

Filtering Lessons by Publication Date

In this lesson, we'll add the ability to search lessons by their publish date and time. We'll utilize before and after properties to allow for filtering that can look forward, backward, or within a specific date range on our lesson's publish at column.

Video preview
Adocasts Plus Exclusive
Exclusive
Searching and Filtering Lessons
Video preview

Searching and Filtering Lessons

In this lesson, we'll take the filters we've created thus far and apply them to a new lessons search endpoint. We'll be able to search our lessons by name, status, access level, and module.

Video preview
Adocasts Plus Exclusive
Exclusive
Filtering by a Number or Array of Numbers
Video preview

Filtering by a Number or Array of Numbers

In this lesson, we'll implement our number filtering system in which we'll allow our search APIs to accept a single number or an array of numbers to filter the data by. To validate this, we'll use the union rule from VineJS.

Video preview
Adocasts Plus Exclusive
Exclusive
Advanced String Filtering
Video preview

Advanced String Filtering

In this lesson, we upgrade our course name filter to support both simple strings and advanced object-based queries using VineJS’ union rule. This allows users to specify not just what to search for, but how to search for it.

Video preview
Adocasts Plus Exclusive
Exclusive
Basic Course Filtering
Video preview

Basic Course Search & Filter

In this lesson, we'll add a new search endpoint for our courses and enable some basic filter functionality along with it. We'll be able to search by course name likeness, status, difficulty, and/or access level.

Video preview
Adocasts Plus Exclusive
Exclusive
Getting A Module's Lessons
Video preview

Getting A Module's Lessons

In this lesson, we'll remove our lesson's index method in favor of a module method whose purpose will be to fetch a module's specific lessons in their stored order.

Video preview
Adocasts Plus Exclusive
Exclusive
Get Modules Endpoint
Video preview

Getting Just Course Modules & Lessons

In this lesson, we'll remove our GET module route, using the except method on our resource. Then we'll refactor to add a GetModules action

Video preview
Adocasts Plus Exclusive
Exclusive
Course Modules Nested Resource
Video preview

Course Module Nested Resource

In this lesson, we'll work on nested resourceful endpoints for our course modules. We'll add endpoints to create, update, patch, and deleting modules from a specific course.

AdonisJS
Lucid

Accessing Lucid's Knex Connection Client

Ever need to directly access KnexJS, the query builder Lucid wraps around? Here's how you can do it!

Lucid
AdonisJS

Using Transaction Events To Defer Actions

We can bind handlers to transaction events to easily defer specific actions until after the transaction has been committed and our changes have persisted to the database.