본문으로 건너뛰기

Member 패널 (Level 6)

📝 초안 (Draft)

이 문서는 검토 중입니다. 내용이 변경될 수 있습니다.

일반 Member(App) 전용 패널 기능을 설명합니다.

개요​

Member 패널(App 패널)은 **Level 6 (Member)**을 위한 사용자 패널입니다. 일반 사용자가 자신의 프로필, 할당된 업무, 알림 등을 관리하는 영역입니다.

접근 권한​

항목값
권한 레벨Level 6 (Member)
기본 경로/app
환경변수PANEL_PATH_APP
접근 가능자Level 0-6 (모든 인증 사용자)

범위​

Member는 자신의 데이터만 접근할 수 있습니다:

내 데이터 ✅
├── 프로필 ✅ 조회/수정 가능
├── 내 업무 ✅ 조회 가능
├── 내 알림 ✅ 조회 가능
└── 팀 정보 ✅ 조회 가능 (읽기 전용)

다른 사용자 데이터 ❌
└── 접근 불가

주요 기능​

1. 개인 대시보드​

사용자별 맞춤 대시보드를 제공합니다.

위젯설명
오늘의 할 일오늘 처리해야 할 업무
최근 활동나의 최근 활동 로그
팀 공지팀/워크스페이스 공지사항
알림읽지 않은 알림 목록

2. 프로필 설정​

개인 정보를 관리합니다.

설정설명
기본 정보이름, 연락처
비밀번호 변경비밀번호 변경
프로필 사진아바타 업로드
알림 설정이메일/푸시 알림 선호도

3. 할당된 업무​

나에게 할당된 업무를 확인합니다.

필드설명
업무명업무 제목
상태대기, 진행중, 완료
마감일완료 기한
담당자할당한 상위자

4. 알림 관리​

시스템 알림을 관리합니다.

유형설명
업무 알림새 업무 할당, 마감 임박
시스템 알림공지사항, 점검 안내
팀 알림팀원 변동, 팀 공지

파일 구조​

app/Filament/App/
├── Resources/
│ ├── TaskResource.php # 내 업무 (읽기 전용)
│ └── NotificationResource.php # 알림 관리
│
├── Pages/
│ ├── Dashboard.php # 개인 대시보드
│ └── Profile.php # 프로필 설정
│
└── Widgets/
├── TodayTasksWidget.php
├── RecentActivityWidget.php
└── NotificationWidget.php

PanelProvider 설정​

// app/Providers/Filament/AppPanelProvider.php

class AppPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
->id('app')
->path(env('PANEL_PATH_APP', 'app'))
->login()
->registration() // 회원가입 활성화 (선택)
->passwordReset() // 비밀번호 재설정 활성화
->profile() // 프로필 페이지 활성화
->colors(['primary' => Color::Slate])
->discoverResources(
in: app_path('Filament/App/Resources'),
for: 'App\Filament\App\Resources'
)
->authMiddleware([
Authenticate::class,
// 모든 인증 사용자 접근 가능 (EnsureUserLevel 미사용)
]);
}
}

데이터 필터링​

Member는 본인 데이터만 접근합니다:

// TaskResource.php
public static function getEloquentQuery(): Builder
{
return parent::getEloquentQuery()
->where('assigned_to', auth()->id());
}

읽기 전용 설정​

Member는 대부분의 데이터를 읽기 전용으로 접근합니다:

public static function canCreate(): bool
{
return false; // 생성 불가
}

public static function canEdit(Model $record): bool
{
return false; // 수정 불가
}

public static function canDelete(Model $record): bool
{
return false; // 삭제 불가
}

상위 패널과의 차이점​

구분관리 패널 (Level 0-5)App 패널 (Level 6)
목적관리/운영일상 업무
데이터 범위담당 영역 전체본인만
CRUD생성/수정/삭제 가능대부분 읽기 전용
UI관리자 스타일사용자 친화적
대시보드통계/현황개인 업무

관련 문서​