This is an example module with beyond CRUD functions for admin and is shown in the client portal.
my-blog
is the alias aka unique identifier of the module.
- Create a
MyBlog
folder intomodules
directory - Clone the repository:
git clone https://github.com/akaunting/module-my-blog.git
- Install dependencies:
composer install ; npm install ; npm run dev
- Install the module:
php artisan module:install my-blog 1
- API (provider, route, controller, transformer)
- Bulk Actions (class, blade, vuejs)
- Category Type (provider, config, model)
- Client Portal
-
Contact Type - CRUD
- Dashboard (seed)
-
Document Type - Dynamic Relationships (define, use)
- Email Templates (seed, content)
- Exports (controller, class)
- Imports (controller, class)
- Jobs (bulk action, ui, api)
- Menu (admin, portal)
- Notifications (trigger, class)
- Observers (define, provider, class)
- Ownership (
created_by
field, controller, blade) - Permissions (listener)
- Reports (define, report, listener)
- Search String (provider, config, blade)
- Seeds (listener, seeder)
- Settings (define, use)
- Tests (feature)
-
Transaction Type - Widgets (define)
Contact
, Document
, and Transaction
types are not applicable for this module.
The workflow runs both Akaunting and module test suites. They're configured to run once per week and triggered manually.