Laraddon is a lightweight Laravel package for modular development, inspired by Odoo's modular architecture. It allows developers to organize application features into self-contained "addons" that are automatically loaded at runtime.
Build scalable Laravel apps with clean module separation, lifecycle management, and dynamic discovery.
- 📦 Auto-discovery of modules from
./Addons - 🧩 Simple addon structure (routes, views, models, etc.)
- 🔌 No extra config or registration needed
- ⚙️ Designed for extensibility (ServiceProvider support, lifecycle hooks)
- 🎯 Inspired by Odoo’s addon system
Each addon lives in the Addons/ folder and follows this basic structure:
Addons/
├── YourModule
│ ├── Controllers/
│ ├── Models/
│ ├── Views/
│ ├── init.php
│ ├── manifest.json ← optional metadata (coming soon)
│ └── YourModuleServiceProvider.php (optional)
├── app
├── bootstrap
...The package auto-loads all folders under Addons/ in our code, but you can change the path where do you like.
The init.php file is loaded first when the Modules is installed, this can be usefull if you have to create global function or something. The file also can determined if you want change folder path controllers, views, or models.
composer require iqionly/laraddonAnd give permission to run execute code. Don't worry, this just create folder Addons in your project and composer dump-autoload automatically
- Add addon:create, addon:list, addon:enable Artisan commands
- Lifecycle support: onInstall, onUpgrade, onUninstall
- Add caching for faster discovery
- Metadata module.json support
- Dependency management
For more information, you can check in here https://sharing.clickup.com/9018908232/l/6-901805849920-1/list
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Laraddon is open-sourced software licensed under the MIT license.
Laravel Modular Community
Odoo Framework
Try this project laravel ITaskManager, this example has builtin addons folder just change composer.json in repositories.iqionly/laraddon.url to this laraddon repo or your local laraddon if you already cloning it (sorry this package is still in dev, so you need to manually clone this package first to your computer).