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
MyBlogfolder intomodulesdirectory - 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, resource)
- Bulk Actions (class, blade, vuejs)
- Category Type (provider, config, model)
- Client Portal
-
Contact Type - Console Command (register, schedule, class)
- 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 main, admin new, portal)
- Notifications (trigger, class)
- Observers (define, provider, class)
- Ownership (
created_byfield, controller, blade) - Permissions (listener)
- Reports (define, report, listener, seed)
- 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.