Bu sayfayı bakın:
https://laravel.com/docs/5.4/packages
Her bir "modül" dediğiniz yapı aslında Laravel'de bir paket olarak düşünülebilir.
Her paketin bir tane service provider'ı oluyor. Bununla paketin ilk yüklendiğinde yapılacağı işleri, register kısmını yapıyorsunuz
https://laravel.com/docs/5.4/providers
Kendiniz de bir tane sistem için genel ModuleServiceProvider hazırlayacaksınız. Bu, modüllerin olduğu klasörü tarayıp içerisindeki modüllere ait olan ModuleServiceProvider'ı bulup register edecek.
Her modülün kök dizini içerisinde module.php, module.json, module.yaml ya da module.xml gibi bir dosyada da modülün genel ayarlarını tutabilirsiniz. İşte modül adı, açıklaması, aktif mi pasif mi, sırası var mı, çalışması için bir şart var mı, rol yetki vs tutabilirsiniz.
Modülleri taratırken bunları okuyup modül listenizi oluşturursunuz, isterseniz veri tabanında tutarsınız.
Her modülün içerisinde bir composer.json tutarak her birini ayrı bir repo olarak tutabilirsiniz. Bunları wordpress gibi zip olarak github ya da bitbucket'dan indirtebilir (private repo ise api authentication ile ) indirtebilir, modül klasörüne açtırabilir ve bulundukları klasörde composer install yaptırabilirsiniz. Migrasyonları kurdurabilirsiniz, db:seed yapabilirsiniz.
Artisan komutları ile bunları yapan komutlar hazırlayabilirsiniz, örneğin her bir modülün install ve uninstall isimli artisan komutları olabilir.
Eğer Laravel dökümanlarını okursanız...