Coreline 협업 대시보드
공개 조회 화면과 작업 변경 API, 관리자 조작 모드를 나눴습니다. 검색 필터와 역할별 업무 범위가 같은 조건을 읽도록 구성한 Coreline 협업 대시보드 제작기입니다.
AI Tools Lab · 소개 글 작성 · 수정

상태를 함께 보는 화면과 상태를 바꾸는 권한을 나눴습니다
일반 사용자가 다른 사람의 업무를 수정하려는 요청은 거절하고, 관리자가 같은 대상을 수정하려는 요청은 허용하는 조건을 검수에 넣었습니다. Coreline 협업 대시보드에서는 포트폴리오에서 프로젝트를 보고 개별 업무와 팀원, 활동 기록으로 내려갑니다. 저는 이 화면을 만들면서 누가 각 업무를 바꿀 수 있는지도 함께 설계했습니다.
대시보드와 업무 목록에는 공개 조회 경로를 두었습니다. 하지만 읽을 수 있다는 이유로 생성·수정까지 같은 권한으로 열지는 않았습니다. 로그인한 사용자가 자기 업무를 다루는 경로와 관리자가 전체를 다루는 경로를 나눕니다. 이 글에서 설명하는 화면의 데이터는 검수용 시드이며 실제 팀 운영 성과를 뜻하지 않습니다.
로그인보다 계정 상태와 업무 관계를 확인했습니다
요청을 받는 API는 현재 사용자가 존재하고 활성 상태인지 확인합니다. 세션에 사용자 ID가 있다는 사실만으로 비활성 계정의 작업을 허용하지 않습니다. 그다음 관리자 여부와 업무의 담당자·작성자를 확인합니다.
관리자는 전체 업무를 다룰 수 있고, 일반 사용자는 자신이 담당하거나 만든 업무를 읽고 편집하는 조건을 가집니다. 업무에 연결된 사용자 관계가 권한의 근거입니다. 같은 프로젝트 화면에 들어왔다는 이유만으로 모든 태스크를 바꾸는 방식은 택하지 않았습니다.
이 규칙은 조회와 편집 함수에서 함께 사용합니다. 화면마다 역할을 다르게 해석하면 목록에 보이는 업무와 편집 가능한 업무가 어긋날 수 있습니다. 화면은 같은 사용자 관계를 기준으로 조작을 보여 주고, 요청을 허용할지는 서버가 최종 판단하도록 했습니다.
관리 모드는 권한을 주는 스위치가 아닙니다
관리자 화면에는 ‘관리 모드’ 토글을 두었습니다. 기본 조회 화면에서는 관리 패널을 숨기고, 관리자가 의도적으로 모드를 켰을 때 프로젝트나 팀원 관리 조작을 펼칩니다. 자주 읽는 정보와 변경 조작을 한 화면에서 구분하려는 선택입니다.
일반 사용자와 비로그인 사용자에게는 이 토글 자체를 보여주지 않습니다. 관리자가 토글을 켰다고 새로운 서버 권한을 얻는 구조도 아닙니다. 이미 가진 역할에 맞는 조작을 표시할 뿐이고, API는 요청마다 관리자 권한을 확인합니다.
검색 조건을 붙여도 사용자 범위는 유지합니다
업무 목록에서는 프로젝트와 상태, 단계, 검색어, 담당자로 찾을 수 있게 했습니다. 필터로 목록을 좁힐 때도 사용자가 조회할 수 있는 업무 범위는 그대로 적용합니다.
일반 사용자의 조회에는 담당자 또는 작성자 관계를 추가하고, 검색어 조건과 함께 적용합니다. 기본 담당자 필터는 자기 업무를 중심으로 읽도록 합니다. 관리자가 전체 또는 자기 업무를 선택할 때도 프로젝트와 상태 조건은 계속 유지됩니다.
검수에는 공개 조회와 인증 조회에서 같은 프로젝트·상태·단계·검색어를 조합하는 경우를 넣었습니다. 일반 사용자가 검색했을 때 다른 업무가 섞이지 않는지도 따로 확인합니다.
수정 버튼을 넘어 실제 요청의 거절을 확인합니다
권한 검수에는 일반 사용자가 다른 사용자의 업무 수정 API를 호출하는 경우를 넣었습니다. 화면에서 버튼이 안 보이는지와 별도로 요청이 403으로 거절되는지 확인하는 조건입니다. 같은 대상에 관리자 요청은 허용되고, 검수 뒤 원래 값으로 돌리는 흐름도 둡니다.
공개 경로에서는 대시보드·업무·프로젝트·팀원·검색을 읽는 조건을 확인하고, 설정처럼 보호된 화면은 로그인으로 이동하도록 합니다. 관리 UI에서는 관리자의 기본 OFF 상태와 ON 상태, 일반 사용자와 방문자의 패널 미표시를 각각 확인합니다.
방문자, 일반 사용자, 관리자별로 화면과 API를 함께 확인해야 합니다. 한 화면의 성공 캡처만으로는 역할마다 보이는 조작과 실제 요청의 허용 범위가 맞는지 알 수 없습니다.
활동 기록은 현재 값 다음에 읽을 맥락입니다
대시보드에서는 프로젝트 상태와 진행률을 요약하고, 값이 바뀐 이유는 별도의 활동 기록 화면에서 확인하도록 했습니다. 현재 상태와 누가 어떤 필드를 바꿨는지를 함께 살피기 위한 구성입니다.
업무 목록은 기본 표를 중심으로 두고, 보드와 하위 업무 펼치기는 필요할 때 열도록 했습니다. 상태 요약을 먼저 읽고 필터를 적용한 뒤 상세로 내려가는 순서입니다. 모든 조작을 처음부터 노출하는 대신 읽는 밀도와 변경 의도를 나누려 했습니다.
목록을 읽고 필터로 찾아 상세로 내려가는 동작은 단순하게 두되, 변경 요청은 계정 상태와 역할, 업무와의 관계를 확인하도록 했습니다. 역할별 화면과 실제 요청을 함께 보는 것이 이 대시보드의 검수 기준입니다.
개발 자료
프로젝트 링크
공개 조회와 역할별 편집 범위를 나누고, 관리 모드 표시가 서버 권한을 대신하지 않도록 만든 과정입니다.
원본 프로젝트 ↗ · 문의·정정 요청