// Create roles and permissions php artisan db:seed --class=RolesAndPermissionsSeeder // Assign admin role to a user php artisan permission:assign-admin admin@admin.com // --- Backend --- // Middleware Aliases (defined in bootstrap/app.php) 'role' => \Spatie\Permission\Middleware\RoleMiddleware::class 'permission' => \Spatie\Permission\Middleware\PermissionMiddleware::class 'role_or_permission' => \Spatie\Permission\Middleware\RoleOrPermissionMiddleware::class // Route Protection Example Route::middleware(['role:admin'])->group(function () { ... }); // --- Frontend --- // Vue Auth Helper: resources/js/composables/useAuth.ts import { useAuth } from '@/composables/useAuth'; const { hasRole, hasPermission, isAdmin, isSuperAdmin } = useAuth(); // Example Usage:
Admin View
// --- Data Seeding (Consolidated) --- // Unified data import (Medicines, Doctors, Hospitals, etc.) // Source files located in: data/ php artisan db:seed --class=UnifiedDataSeeder // Storage path for images // Ensure link exists: php artisan storage:link // Paths: public/storage/medicines, public/storage/images/doctors, public/storage/hospitals // CSV Data Handling // - Medicinces: Cleaned for duplicates/errors in data/medicines.csv // - Doctors: Full dataset in data/doctors.csv // - Idempotency: All imports use updateOrCreate/updateOrInsert // --- Database --- // Clear all caches php artisan config:clear && php artisan route:clear && php artisan view:clear && php artisan cache:clear && php artisan optimize:clear && php artisan optimize