AdonisJS / 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.
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
AdonisJS in 15
In this series, we'll highlight various features in AdonisJS you can complete in about 15 minutes or less.
AdonisJS Quick Tip
Quick tips, lessons, and screencasts covering specific topics on AdonisJS.
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.
Let's Build with AdonisJS
Livestreams where we build applications using AdonisJS 5. Starting out, we'll be rebuilding Adocasts, formerly called Jagr.Co.
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.
Recently Released on Lucid
How To Use AdonisJS Model Hooks To Log All User Actions
In this lesson, we’ll be taking a look at how we can log any and every user action performed against our AdonisJS models.
Defining Our AdonisJS Filter Form Handler
In this lesson, we'll expand on the filter query we built in the last lesson by reusing the query within a service for our filter form handler.
Creating Our Filter Query with AdonisJS
In this lesson, we'll create the route and query we'll need to get filtered results with our filter form using the Lucid ORM and AdonisJS.
Exploring My Favorite AdonisJS Model Query Builder Macros: Tips and Examples
In this lesson, I'll highlight a few of my favorite Model Query Builder Macros that I carry with me from project to project. Have a favorite of your own? Let me know in the comments!
Easy Querying with Static Model Query Methods
In this lesson, we'll learn what static methods are available on our Lucid Models to help us easily query records from our database. These methods offer a convenient query option compared to the query builder.
Password Hashing & Model Hook Overview
In this lesson, we'll learn briefly about the model hooks available and how they work. Then, we'll walk through an example by hashing our password anytime it is changed.
Creating Records with Lucid ORM
In this lesson, we'll learn various ways we can create and bulk-create records using the AdonisJS Lucid ORM.
Defining Model Relationships
In this lesson, we'll learn how to define relationships on our Lucid Models. We'll cover one-to-one, many-to-one, one-to-many, and many-to-many relationship definitions.
Creating Teams & Setting Default Team
In this stream, we'll be adding the ability to create new teams, set the default team for a user when they switch between teams, and auto-forward users to their default team after login.
Database Migrations To Lucid Models
In this lesson, we'll walk through examples of transferring our database migrations into our Lucid Models. This will pave the way for us to begin CRUD operations in later lessons.
Database Schema to Migration
In this lesson, we'll walk through a real-world example of a database schema and how to create migrations. We'll define each table's columns, primary keys, and foreign keys.
What Is A Model?
In this lesson, we'll delve into AdonisJS Models learning what they are, what they represent, how to create them, what we can do with them, and more.
What To Know Before Altering Your Database with Migrations
In this lesson, we'll discuss two different flows you can use to alter your database. One, when working completely locally and another when a migration has already been executed on your production database.
Migrations & Understanding the Flow of Migrations
In this lesson, we'll learn all about migrations, what they are, how they're used, and how they're tracked. We'll also learn about the flow of migrations and how they work similarly to a timeline.
Introducing, Installing, and Configuring Lucid ORM
In this lesson, we'll learn about Lucid ORM; its capabilities, Ace CLI commands, and the difference between it and the Database module. We'll then install and configure it within our project.
How To Do Multi Model Authentication with AdonisJS and Lucid ORM
In this lesson, we'll learn how to set up multi-model authentication using a User and Admin model with AdonisJS and Lucid ORM.
Comment Likes & Unlikes
In this stream, we'll be adding the ability to like and unlike a comment on the new upcoming Jagr.Co site, built with AdonisJS.
How To Add A Custom Method to the Model Query Builder in AdonisJS
In this lesson, we'll learn how to define a macro for the Model Query Builder within an AdonisJS project to provide a new method onto all our Model's Query Builder.
Building A Comment System
In this stream, we focused on building a comment system that allowed infinitely nestable responses. It's all done server-side too, so it's SEO friendly!
How To Serialize All AdonisJS Lucid Model Properties As Camel Case
In this lesson, we'll learn how to use Naming Strategies in AdonisJS to alter the serialization behavior for all our model properties from snake case to camel case.
AdonisJS Authentication in 15 Minutes
We'll be creating a new AdonisJS project and adding authentication to it within 15 minutes. You'll be able to logout, register, and login with either your username or email.
Rebuilding Jagr.Co, Adding Posts & SubCollections to Collections
In this stream, we focus on adding the ability to add posts and subcollections to a collection.
Rebuilding Jagr.Co, Post, Collection, & Taxonomy Models
In this stream, we focus on setting up the models and migrations for the Collection and Taxonomy models and tables. We set up their relationships and get the Collection CRUD operations setup
Rebuilding Jagr.Co, Password Reset & Account Locking
In this livestream, we'll add a system to lock users' accounts after so many bad login attempts and we'll also add in the password reset flow.
Rebuilding Jagr.Co, Username Sign In & Post CRUD
In this livestream we cover adding the ability to sign in using either a username or email address. We also dig into setting up the ability to create, read, update, and delete our posts.
Getting Data by the User's Timezone with Luxon's DateTime
In this lesson, we'll learn how we can use the user's current time zone to create, update, or query time-sensitive information in AdonisJS using Luxon's DateTime object.
Rebuilding Jagr.Co, Start & Auth
In this livestream we create a new project, install and configure the Lucid and Auth packages. Define our migrations and model schema. And hammer down basic authentication.
Project Setup & Creating Dummy Data
In this lesson, we'll be setting up our project with fake data using a Model Factory and a Seeder. We'll also set up our initial list of posts so that we're all set and squared away to cover
Let's Learn Adonis 5: Writing Reusable Queries with Query Scopes
In this lesson, we'll learn how we can extract repetitive query builder statements into reusable query scopes as a way to keep our codebase easy to maintain.
Let's Learn Adonis 5: Querying, Checking Existence, and Aggregating Relationships
In this lesson we'll learn how to query relationships, determine if a relationship exists, and how to aggregate relationship data.
Let's Learn Adonis 5: The Query Builder
In this lesson we'll be focusing specifically on the query builder. We'll discuss how we can filter down data, order, limit, and aggregate our data.
Let's Learn Adonis 5: Creating Data & Relationships Records
In this lesson, we learn about conditional inserts and how to reach through to relationships to create relationships and related records.
Let's Learn Adonis 5: Intro to Creating, Reading, Updating, and Deleting (CRUD)
In this lesson, we'll learn the two different modules Adonis' Lucid provides us to communicate with our database. We'll then introduce basic CRUD operations using these modules.
Let's Learn Adonis 5: Defining Model Relationships
In this lesson, we'll learn about the different types of database relationships, how Adonis supports these relationship types, and how to define these relationships.
Let's Learn Adonis 5: Intro to Models
This lesson is all about models. We'll learn what they are, how to define them, what they're used for, and some of the extended capabilities they provide.
Let's Learn Adonis 5: Installing and Configuring Lucid
In this lesson, we'll be learning how to install and configure Lucid, Adonis' Object-Relational Mapping (ORM) system, within our application.