Home

Awesome

Concord

Concord is a Laravel Extension that helps to build Modules for Laravel Applications on top of Laravel's built-in Service Providers.

Tests Packagist version Packagist downloads StyleCI Code Quality MIT Software License

Concord at first is a Laravel package. It also offers some conventions that help you to better structure complex systems.

Version Compatibility

LaravelConcord
5.41.0 - 1.3
5.51.0 - 1.8
5.61.1 - 1.8
5.71.3 - 1.8
5.81.3 - 1.8
6.x1.4 - 1.10
7.x1.5 - 1.10
8.x1.8+
9.x1.10.2+

Basics

Modular Architecture is exactly what you think it is - a way to manage the complexity of a problem by breaking them down to smaller manageable modules. -- Param Rengaiah

Concord itself (this library) manages the modules.

Concord modules are isolated fractions of the business logic, built around a single topic.

There are two kinds of modules from the usage perspective:

Concord is not aware of this difference at all, but they represent two different approaches of modularization.

In-app Modules

External Modules

Either module types are always coupled to Laravel and Concord;

Installation

Refer to the Installation Section of the Documentation.

Create Your First Module

php artisan make:module ShinyModule

This will create a very basic in-app module in the app/Modules/ShinyModule folder.

In order to activate the module add it to the config/concord.php file:

return [
    'modules' => [
        App\Modules\ShinyModule\Providers\ModuleServiceProvider::class
    ]
];

Documenatation

See the Concord Documentation for all the nasty details ;)

Plans For Version 2.0