Generating Dynamic Open Graph Images
DeIndexing Documents
Indexing New Documents
Performing A Multi-Search
Unpoly Search & Render
Full-Text Search
Meilisearch Index Ace CLI Command
Meilisearch Service
Seeding Fake Data
Migrations, Models, and Factories
Creating our AdonisJS Project
Installing & Setting Up Meilisearch
What We'll Be Building
Globally Altering the Base Model
Configuring Multi-Auth Guards

Get Ship Done

Adocasts teaches you how to ship NodeJS apps in no time using AdonisJS and it's many built-in batteries.

Adocasts by the numbers

Comprehensive library
427
Lessons & counting
Skills mastered
35.2k
Lesson completions
Growing community
3.9k
Members strong
Vibrant discussions
1.1k
Comments & forum posts

Learn one step at a time

AdonisJS Scenarios

In this ongoing series, we'll cover various scenarios you're likely to run into while developing or maintaining an AdonisJS application. Topics will range from authentication challenges to database management, testing, and more.

3 Lessons
37m 37s

Building A Multi-Search with Meilisearch & AdonisJS

In this series, we'll build a server-rendered mutli-search utilizing Meilisearch, Unpoly, and a sprinkle of AlpineJS. We'll setup factories and seeders to make fake data to allow us to index and search against books, authors, and genres simultaneously!

12 Lessons
1h 38m

AdonisJS Quick Tip

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

25 Lessons
2h 59m

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

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

Dive into a topic

null

AdonisJS

17 series 415 lessons
AdonisJS
EdgeJS

EdgeJS

8 series 91 lessons
EdgeJS
Database

Lucid

12 series 158 lessons
Database
Authentication

Authentication

9 series 44 lessons
Authentication
Terminal

Ace CLI

3 series 16 lessons
Action

Actions

2 series 36 lessons
AlpineJS Icon

AlpineJS

2 series 7 lessons
Authorization badge

Authorization

3 series 14 lessons
null

AWS Amplify

1 series 8 lessons
Padlock

Bouncer

1 series 4 lessons
Components

Components

3 series 35 lessons
Control panel icon

Controllers

7 series 35 lessons
Debugging icon

Debugging

1 series 4 lessons
Drive

Drive

1 series 1 lessons
Email

Email

2 series 6 lessons
Filtering

Filtering

4 series 14 lessons
HTMX

HTMX

1 series 5 lessons
HttpContext

HttpContext

6 series 26 lessons
null

InertiaJS

2 series 102 lessons
null

JavaScript

3 series 11 lessons
Markdown icon

Markdown

1 series 3 lessons
null

Nuxt

1 series 7 lessons
Pagination

Pagination

2 series 8 lessons
Rate Limiting

Rate Limiting

1 series 4 lessons
Redis logo

Redis

1 series 2 lessons
Router

Router

6 series 51 lessons
Services icon

Services

5 series 19 lessons
Tailwind CSS Icon

Tailwind

4 series 22 lessons
Idea lightbulb

Tips

3 series 25 lessons
TypeScript logo

TypeScript

1 series 10 lessons
Validation dials

Validator

5 series 38 lessons
Vite logo

Vite

1 series 3 lessons
VS Code logo

VS Code

3 lessons
null

VueJS

3 series 90 lessons

Jump straight to the latest

Video preview
Adocasts Plus Exclusive
Exclusive
Generating Dynamic Open Graph Images
Video preview

Generating Dynamic OG Images with AdonisJS & Puppeteer

In this lesson, we'll learn how to generate dynamic Open Graph (OG) images using AdonisJS and Puppeteer. We'll also add rate limiting to limit the number of OG images being generated at once and discuss some things to watch out for.

Video preview
Adocasts Plus Exclusive
Exclusive
DeIndexing Documents
Video preview

Removing Indexed Documents when they're Deleted

In this lesson, we'll learn how we can remove documents from a Meilisearch index as records are deleted from our application. For this, we'll deindex author documents when a user deletes their account in our application.

Video preview
Adocasts Plus Exclusive
Exclusive
Indexing New Documents
Video preview

Indexing Data as its Created

In this lesson, we'll learn how we can dynamically index documents in Meilisearch as records are created within our application. For this, we'll index a new author document when a user registers within our application.

Video preview
Adocasts Plus Exclusive
Exclusive
Performing A Multi-Search
Video preview

Performing a Multi-Search Across Indexes

In this lesson, we'll piece everything together into our final multi-search by searching across our book, genre, and author indexes within Meilisearch with a single call. We'll also discuss how we can get a single federated result array back if desired.

Video preview
Adocasts Plus Exclusive
Exclusive
Unpoly Search & Render
Video preview

Making our Search Results Functional with Unpoly

In this lesson, we'll install and configure Unpoly to handle our search form's submission. We'll then server-render the search's results using EdgeJS and return it back as our response for Unpoly to swap in-place directly in the working document.

Video preview
Adocasts Plus Exclusive
Exclusive
Full-Text Search
Video preview

Performing Full-Text Search

In this lesson, we'll learn how to perform a full-text search with Meilisearch while also building the structural base for what will eventually serve as our multi-search autocomplete.

Video preview
Adocasts Plus Exclusive
Exclusive
Meilisearch Index Ace CLI Command
Video preview

Creating a Command to Index Data in Meilisearch

In this lesson, we'll create an Ace CLI command to index our pre-existing data within our Meilisearch database so it is ready to search against. We'll walk our way through this and point out what to watch out for and how to view task errors.

Video preview
Adocasts Plus Exclusive
Exclusive
Meilisearch Service
Video preview

Creating A Meilisearch Service to Initialize Admin & Search Instances

In this lesson, we'll create a singleton Meilisearch service to simplify operations against our Meilisearch database by allowing us to specify whether we want to simply search or perform an admin authorized operation.

Video preview
Adocasts Plus Exclusive
Exclusive
Seeding Fake Data
Video preview

Seeding Fake Data to Index for our Multi-Search

In this lesson, we'll create a database seeder that will utilize our model factories to generate plenty of fake data to index and search against. We'll also discuss how we can easily batch insert bulk data in a single call.

Video preview
Adocasts Plus Exclusive
Exclusive
Migrations, Models, and Factories
Video preview

Creating our Database Migrations, Models, and Factories

In this lesson, we'll work on structuring our database by defining our migrations, Lucid models, and model factories to aide in generating fake data we'll later index and search against with Meilisearch.

Launch into Adocasts Plus

Get access to all the tools, tips, and real-world knowledge to build with confidence. Just choose the plan that fits you best.

  • Unlock all series, lessons, and assets
  • 2 weeks early access to new free lessons
  • Download lessons to watch offline anytime
  • Save time-stamped notes (coming soon)
  • Priority lesson support
  • Renewal reminders; cancel anytime

Monthly plan

Just getting started? Try Adocasts Plus on a month-by-month basis and unlock everything instantly with no strings attached.

$8

USD

per month

Annual plan

Ready to level up your Node game? Go annual and save big while accessing all premium content, all year long.

$80

USD

per year

Forever plan

All-in forever? One-time payment, lifetime access. Everything we make, now and in the future, is yours.

$285

USD

per lifetime