undefined

Controllers

Controllers are a great way to cleanly direct the business logic needed to handle requests for a route within your application.

7 Series
35 Lessons
Control panel icon

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

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 15m

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

Let's Build A Changelog App

We'll be building a changelog application with AdonisJS through a series of livestreams.

5 Lessons
9h 8m

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

Let's Learn AdonisJS 5 Preview

In this series, we'll be doing a deep-dive into AdonisJS 5's Preview version. We'll learn about routing, controllers, the Lucid ORM, migrations, it's CLI, handling file uploads, transactional email, and much more.

16 Lessons
3h 37m

Discussions

Is there any point in putting try/catch statements in each method of a controller?

@alexys-laurent
@alexys-laurent

I'm using Adonis JS as the API for my application. For each method in my controllers, I add try/catch statements to handle errors and return a response to my front-end in case one occurs. async createDiscussion({ request, auth, response }:...

Video preview
Adocasts Plus Exclusive
Exclusive
Reusing Search Courses
Video preview

Making our Search Course Action Easily Reusable

In this lesson, we'll make our search course filters optional to increase the reusability of our action. We'll then switch our courses index route handler to use this action.

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.

Video preview
Adocasts Plus Exclusive
Exclusive
Listing Courses
Video preview

Listing Courses

Our goal in this step is to add an endpoint that lists our courses. We'll then build upon this endpoint further with the ultimate goal of getting a list of paginated courses.

Video preview
Adocasts Plus Exclusive
Exclusive
API Authorization
Video preview

API Authorization Checks

In this lesson, we'll implement our API Authorization checks across all the API controller methods we've implemented thus far. We'll then create a specific access token for each operation (read, create, update, and delete) to ensure everything is working.

Video preview
Adocasts Plus Exclusive
Exclusive
Status CRUD
Video preview

Status API CRUD

In this lesson, we'll duplicate everything we did one more time for our organization's statuses.

Video preview
Adocasts Plus Exclusive
Exclusive
Access Level CRUD
Video preview

Access Level API CRUD

In this lesson, we'll walk through adding API endpoints for the full CRUD (create, read, update, and delete) flow for our organization's access levels.

Video preview
Adocasts Plus Exclusive
Exclusive
Listing Difficulties
Video preview

Listing Organization Difficulties

In this lesson, we'll begin work on our first CRUD-based API resource by adding the ability to query a list of all our organization's difficulties.

Video preview
Adocasts Plus Exclusive
Exclusive
Simple API Versioning
Video preview

Simple API Versioning

In this lesson, we'll implement a simple versioning mechanism for our API. Versioning allows us to safely make breaking changes without breaking our user's implementations of our API.