← ClaudeAtlas

module-per-menulisted

Build Laravel projects with one menu or page per module, using small controllers, per-page views, shared layouts/components, and dynamic DB-backed data.
soden46/syarif-laravel-ai-skills · ★ 4 · AI & Automation · score 78
Install: claude install-skill soden46/syarif-laravel-ai-skills
# Module Per Menu Use this skill whenever creating, copying, refactoring, or expanding a Laravel web application with multiple menus, pages, dashboards, reports, or admin screens. Default to a module-per-menu structure unless the existing project already has a stronger convention. ## Standard Pattern Use this shape for Laravel apps with menus or pages: ```text Route -> Small Page/Resource Controller -> Action/Service/Query Service when needed -> Eloquent -> View/API Response ``` Organize UI work so one menu or page maps to one clear module: ```text app/Http/Controllers/<Domain>/ AuthController.php DashboardController.php GateInController.php GateOutController.php CustomerController.php ReportController.php app/Services/<Domain>/ DashboardReportService.php BillingService.php DailyReportService.php resources/views/<domain>/ layouts/app.blade.php pages/dashboard.blade.php pages/gate-in/index.blade.php pages/gate-in/create.blade.php pages/gate-out/index.blade.php pages/gate-out/process.blade.php components/filters.blade.php components/table.blade.php ``` ## Controller Rules - Keep controllers small and readable. - Create one controller per menu, page group, or resource boundary. - Let controllers orchestrate HTTP only: receive request, call validation/authorization, call service/action/query, return view/redirect/JSON. - Move repeated query/report calculations to a Service or query object. - Move multi-step writes to Actions or Service