Recently Released.
Newly Released in the last 30 days
![Video preview](https://videos.adocasts.com/68bde41a-ceb4-4bf5-987b-0d31aa76f817/preview.webp)
![Adocasts Plus Exclusive](/imgs/plus-badge-100.png)
![Organizing your AdonisJS Logic](/img/1/organizing-business-logic-operations_1721419785966.jpeg?w=650)
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](https://videos.adocasts.com/5b82ed35-5526-4dba-b8bd-894fae08a21e/preview.webp)
![Thank You for Watching](/img/1/thank-you-for-watching_1719604958174.jpeg?w=650)
Thank You for Watching!
A quick thank you to all those who watched! If you have feedback, please let us know down in the comments.
![Video preview](https://videos.adocasts.com/cc0ff4b4-0df3-42e0-afa4-54b60700004f/preview.webp)
![Allowing Admins to Delete Movies](/img/1/allowing-admins-to-delete-movies-and-their-relationships_1719604792290.jpeg?w=650)
Allowing Admins to Delete Movies and their Relationships
In this lesson, we'll learn how we can safely delete movies and their relationships. We'll discuss how we need to consider foreign key constraints, and what to do when our deletes aren't set to cascade.
![Video preview](https://videos.adocasts.com/381d5a01-9b89-40ce-84fc-63ce516ce179/preview.webp)
![Managed Transactions and Syncing Movie Cast Members](/img/1/managed-transactions-and-syncing-cast-members_1719352476784.jpeg?w=650)
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](https://videos.adocasts.com/4e59a1e8-3e50-43f8-bfee-ee50dfc1d930/preview.webp)
![Posting an Array of Objects with HTML Forms](/img/1/posting-an-array-of-objects-with-html-forms_1719352308432.jpeg?w=650)
Posting Objects, Arrays, and an Array of Objects in HTML Forms
In this lesson, we'll learn how we can use form field names to send an array of objects with our HTML form submission. We'll discuss pitfalls to watch out for and how we use AlpineJS to simplify index syncing within our field names.
Lessons.
![Video preview](https://videos.adocasts.com/8cc97997-14aa-4a81-88d5-7d9905f4b1f7/preview.webp)
![Protecting Routes with Auth, Guest, and Admin Middleware](/img/1/protecting-routes-with-guest-auth-and-admin-middleware_1714172189592.jpeg?w=650)
Protecting Routes with Auth, Guest, and Admin Middleware
In this lesson, we'll learn about the auth and guest middleware included when we created our AdonisJS 6 project. Then, we'll create our own named middleware that will allow us to restrict page access to only users with the admin role.
![Video preview](https://videos.adocasts.com/b83afd27-bb3f-4a07-9d57-1defb7a81db6/preview.webp)
![Adocasts Plus Exclusive](/imgs/plus-badge-100.png)
![Location from user IP address](/img/1/2023-location-from-ip_1698965604824.jpeg?w=650)
How To Get City and State Info from User’s IP Address using IP2Location
In this lesson, we'll learn how to get our user's city, region, and country location information using their IP address.
![User Role Management](/img/1/user-management-screen_1668268824920.jpeg?w=650)
AdonisJS User Role Management
In this lesson, we'll learn how to create a user management screen that'll allow administrators to change any of our registered user's roles
![User Role Authentication in 15 Minutes](/img/1/2022-User-Role-Auth-In-15-Minutes_1668034260916.jpeg?w=650)
AdonisJS User Role Authentication in 15 Minutes
In this lesson, we'll learn how we can specify user roles using a User and Role AdonisJS Model within our project.
![](/img/1/2021-BOUNCER-04_1641073626936.jpeg?w=650)
Creating & Using Bouncer Policies
We'll learn about policies and how we can use them to group resource-based actions. We'll also learn how to create and share hooks with policies.
![](/img/1/2021-BOUNCER-02_1640132587375.jpeg?w=650)
Bouncer Actions & Authorizations
We'll learn about AdonisJS Bouncer actions and how we can use these actions to check if a user is authorized to perform a specific task. Plus, conditional check authorizations.
![](/img/1/2021-BOUNCER-01_1639772025928.jpeg?w=650)
Introducing, Installing, & Configuring Bouncer
In this lesson, we'll introduce AdonisJS Bouncer, the first-party AdonisJS package for authorization checking. We'll also get a start project setup and install and configure Bouncer.