Browse all series
TechniquesAdvanced25 episodes

Modular Laravel

In this course, we'll discuss the modular monolith, or - if you want to sound fancy - a module-oriented architecture. A modular monolith provides a fantastic middle-ground between the simplicity of a traditional monolithic architecture, and some of the benefits you might encounter within a microservice-based architecture. Curious to learn more? Let's get going!

Series episodes

Introduction

2m 9s

Kickstart your Laravel journey by exploring the project goals and challenges we'll tackle together to build a powerful, real-world application step-by-step.

Splitting the Application

8m 9s

Learn how to split your Laravel app into logical modules, improving organization, scalability, and maintainability with a clean, modular structure.

Setting Up Service Providers

10m 57s

Learn how to set up service providers for each Laravel module, organizing your app’s bootstrapping and improving modularity with clear, maintainable code.

Where to Put Automated Tests

6m 32s

Discover the best places to store automated tests in modular Laravel apps, keeping your tests organized, maintainable, and easy to manage.

Setting Up Model Factories

5m 18s

Explore the best ways to organize and store your Laravel model factories, making testing easier and your codebase cleaner and more maintainable.

Install the IDE Helper

4m 28s

Learn how to install and configure the Laravel IDE Helper package to boost your coding efficiency and get smart autocompletion with modular projects.

Building a Basic Checkout Flow

20m 10s

Build a basic checkout flow in Laravel step-by-step, creating a solid foundation for your e-commerce app with clean, easy-to-follow code.

Introducing Data Transfer Objects

16m 38s

Learn how to use Data Transfer Objects (DTOs) in Laravel to pass data cleanly between modules, improving code clarity and maintainability across your app.

Introducing a Payment Model

2m 55s

Add a Payment model abstraction to your Laravel app, making your code cleaner, more organized, and ready for scalable payment features.

Extracting Behavior to Actions

8m 37s

Learn how to encapsulate and orchestrate app behavior using self-handling actions, making your Laravel code cleaner, modular, and easier to maintain. (157 characters) Let me know if you'd like it adjusted!

Payment Actions and Database Transactions

7m 31s

Learn how to extract payment logic into a dedicated class and use database transactions to ensure reliable, maintainable Laravel payment processing.

Encapsulating Behavior Into Models

9m 8s

Learn how to enrich your Laravel models by encapsulating key behaviors, making your code cleaner, more maintainable, and powerful.

Temporal Coupling and Events

11m 7s

Learn how temporal coupling causes issues and discover how using an event system in Laravel can solve them for cleaner, more flexible code.

Consolidating Data Into Dtos

14m 57s

Learn how to use DTOs to consolidate data and create stable contracts, making your Laravel app more organized, reliable, and easier to maintain.

Where We Are

5m 5s

Take a quick pause to review your progress, see what you’ve built so far, and get ready to move forward with confidence in your Laravel project.

Introducing Interfaces and Enabling Polymorphism

14m 8s

Discover how to use interfaces in Laravel to enable polymorphism, making your code flexible, modular, and easier to maintain.

Automatically Loading Views and Components

6m 36s

Learn how to configure Laravel to automatically load views and components from custom directories, streamlining your app’s structure and boosting productivity.

Tooling

5m 29s

Discover essential Laravel tools to build modular applications efficiently. Join this episode to explore powerful resources that boost your development workflow.

Vertical Slices

7m 25s

Learn what vertical slices are and how to implement them in your app to improve organization, clarity, and maintainability from top to bottom.

Grouping by Type

7m 20s

Learn how to group Laravel app components by type within modules to build clean, organized, and maintainable applications faster and smarter.

How to Fake Boundaries

10m 55s

Learn how to create fake boundaries in tests by replacing components with fake versions, making your Laravel testing faster, cleaner, and more reliable.

Applying Templates to Our Mailables

4m 54s

Fix your mailables by applying Blade templates, ensuring your Laravel emails are clean, dynamic, and easy to maintain with this practical guide.

An Event-driven Approach - Part 1

5m 10s

Discover how to re-architect your checkout using events to build a more flexible, scalable Laravel app with clear, decoupled workflows.

An Event-driven Approach - Part 2

11m 32s

Explore a simple event-driven implementation in Laravel, enhancing your app’s flexibility and making your code cleaner and easier to maintain.

Wrapping Up

4m

Thanks for joining this course! Wrap up your Laravel journey with key takeaways and insights to boost your skills and build better apps confidently.

Continue learning

Thumbnail for Jeffrey's Larabits
Jeffrey's Larabits

With Jeffrey Way

  • 52 episodes
  • Intermediate
  • Techniques
Thumbnail for Hands On: Community Contributions
Hands On: Community Contributions

With Jeffrey Way

  • 13 episodes
  • Intermediate
  • Frameworks
Thumbnail for How Do I
How Do I

With Jeffrey Way

  • 25 episodes
  • Intermediate
  • Techniques
Thumbnail for 10 Techniques for Cleaner Code
10 Techniques for Cleaner Code

With Jeffrey Way

  • 10 episodes
  • Intermediate
  • Techniques
Thumbnail for What's New in Laravel 5.3
What's New in Laravel 5.3

With Jeffrey Way

  • 18 episodes
  • Intermediate
  • Frameworks

Would you like to hear from Laracasts by email occasionally?