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/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.
![Allowing Admins to Update Movies and Clear Values](/img/1/allowing-admins-to-update-movies-and-remove-values_1718391820973.jpeg?w=650)
Allowing Admins to Update Movies and Clear Values
In this lesson, we'll recreate our movie form for the purpose of updating our movies. We'll also add the ability to clear values and discuss the difference between VineJS' optional and nullable chain options.
![Video preview](https://videos.adocasts.com/eb11f2cb-77c7-42cc-8769-eea26970d5e3/preview.webp)
![Allowing Admins to Create Movies](/img/1/allowing-admins-to-create-movies_1718143030064.jpeg?w=650)
Allowing Admins to Create Movies
In this lesson, we'll allow our administrators to create movies via our admin panel. We'll walk through getting the form set up, validated, and our movies created.
![Video preview](https://videos.adocasts.com/62114ae4-0c29-4237-9ba7-6c9c24b9b1f8/preview.webp)
![Paginated Admin Movie Table](/img/1/paginated-admin-movie-table_1718142330791.jpeg?w=650)
Paginated Admin Movie Table
In this lesson, we'll learn how we can create a paginated movie table for our administrators. We'll list the movies and some of their relationship data, like the number of crew and cast members associated with the movie.
![Video preview](https://videos.adocasts.com/e9c60f3b-19dd-46f9-92ec-36425366debc/preview.webp)
![Counting Stats for our Admin Dashboard](/img/1/admin-dashboard-counts_1717626512856.jpeg?w=650)
Counting Stats for our Admin Dashboard
In this lesson, we'll perform various counts against our models to display on our admin dashboard page.
![Video preview](https://videos.adocasts.com/94b69770-6c0d-4378-a2fb-18e89ec80b6f/preview.webp)
![Filtering, Preloading, and Sorting By Relationship](/img/1/listing-movies-a-user-has-watched_1717626237359.jpeg?w=650)
Filtering, Preloading, and Sorting By Relationship
In this lesson, we'll list the movies a user has watched on their profile. To do this, we'll filter, preload, and sort by the watchlist relationship where the user's watched at value is not null.
![Video preview](https://videos.adocasts.com/ba6f8aa5-bf43-4f8c-b228-0cf2f74307af/preview.webp)
![Uploading and Displaying User Avatars](/img/1/uploading-and-displaying-user-avatars_1717190043310.jpeg?w=650)
Uploading and Displaying User Avatars
In this lesson, we'll learn how to validate and upload avatar images into our project's storage. We'll then learn how we can easily display images we have contained within our app's storage
![Video preview](https://videos.adocasts.com/caa1a6c4-24ef-477d-ba41-68144d0e38d8/preview.webp)
![Saving All Or Nothing with Database Transactions](/img/1/saving-all-or-nothing-with-database-transactions_1716940053006.jpeg?w=650)
Saving All Or Nothing with Database Transactions
In this lesson, we'll learn about database transactions and how we can use them to batch commit or rollback updates, safeguarding against partial updates due to errors.
![Video preview](https://videos.adocasts.com/5a00acf7-11fe-4418-a025-49bea523c6b8/preview.webp)
![](/img/1/fixing-missing-profiles_1716382922650.jpeg?w=650)
How to Create and Fix Missing User Profiles in Your Application
Learn how to create and manage user profiles in your application. This tutorial covers adding an edit profile button, setting up routes and controllers, ensuring profile creation during registration, handling existing users without profiles, and verifying
![Video preview](https://videos.adocasts.com/f7e67d72-9742-499d-9d58-500e68fb1fd5/preview.webp)
![Paginator Query Strings](/img/1/paginator-query-strings_1716382259491.jpeg?w=650)
Persist Filters Easily with Lucid's Query String Method
Learn how to simplify pagination by persisting active filters with the query string method. Follow this step-by-step guide to clean up your code, apply the .queryString method from Lucid, and ensure seamless pagination for your web applications.
![Video preview](https://videos.adocasts.com/1045e842-6895-4848-b3da-e1b2cad75463/preview.webp)
![AdonisJS 6 Access Token Authentication in 20 Minutes](/img/1/adonisjs-6-access-token-authentication-in-20-minutes_1716245176135.jpeg?w=650)
AdonisJS 6 Access Token Authentication in 20 Minutes
In this lesson, we'll cover how to implement access token authentication, using opaque tokens, in AdonisJS 6. We'll also take a look at what this would look like on the frontend via a Vue 3 app using Pinia
![Video preview](https://videos.adocasts.com/bf3e123e-0f4c-4f68-8dcc-bdc6ce9c1a52/preview.webp)
![Tracking Watched Movies](/img/1/allowing-users-to-track-watched-movies_1715810469365.jpeg?w=650)
Allowing Users To Toggle A Movie As Watched
In this lesson, we'll learn how to allow users to toggle whether they've watched a movie or not within their watchlist.
![Video preview](https://videos.adocasts.com/67f84e93-f484-4982-b3e5-49a30a742a7b/preview.webp)
![Filter by User's Watched Status](/img/1/filter-by-watched-status_1715810596993.jpeg?w=650)
Filtering By User's Watched Status
In this lesson, we'll learn how to add a filter to our user's watchlist allowing them to show only movies they have or have not watched.
![Video preview](https://videos.adocasts.com/9201a520-c7b6-4f24-9c7f-a3eb92638e9f/preview.webp)
![Composite Unique Constraint](/img/1/composite-unique-constraint_1715810994146.jpeg?w=650)
Defining A Composite Unique Constraint
In this lesson, we'll learn how you can enforce uniqueness between multiple columns using a composite unique constraint.
![Video preview](https://videos.adocasts.com/fffd7068-d4e9-4c15-b895-dd826ac36cb6/preview.webp)
![Toggling A Movie in an Authenticated User's Watchlist](/img/1/toggling-a-movie-in-an-authenticated-users-watchlist_1715288820404.jpeg?w=650)
Toggling A Movie in an Authenticated User's Watchlist
In this lesson, we'll learn how to add the ability to toggle whether a user has a movie within their watchlist. We'll also query and display whether a movie is in the authenticated user's watchlist as well.
![Video preview](https://videos.adocasts.com/dde7c981-8473-4836-9846-424c7210eab8/preview.webp)
![An Alternative Approach to Many-To-Many Relationships](/img/1/an-alternative-approach-to-many-to-many-relationships_1715288615499.jpeg?w=650)
An Alternative Approach to Many-To-Many Relationships
In this lesson, learn an alternative approach to many-to-many relationships that allows you to work directly with the pivot table as a model.
![Video preview](https://videos.adocasts.com/c1df2600-42f6-4f64-af56-04695e184561/preview.webp)
![Listing and Filtering User Watchlist Items](/img/1/listing-and-filtering-watchlist-items-for-a-user_1715289606177.jpeg?w=650)
Listing and Filtering User Watchlist Items
In this lesson, we'll take our movie filter, and learn how we can reuse it to display a filterable list of the user's watchlist movies.
![Video preview](https://videos.adocasts.com/0c3db61a-4c17-429d-b4e1-2b0e9ecb30f5/preview.webp)
![How To Paginate Filtered Query Results](/img/1/how-to-paginate-filter-results_1714943963112.jpeg?w=650)
How To Paginate Filtered Query Results
In this lesson, we'll learn about AdonisJS Model Query Builder pagination and walk through an example of how we can easily paginate the results of our filtered movies.
Showing 1 to 20 of 101 results