File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
/**
* 화면별 도움말 본문. 버튼 옆 물음표(HelpButton)가 이 표에서 topic을 찾아 모달에 그린다.
*
* 문구는 실제 동작을 그대로 적는다 - 시안이나 계획이 아니라 지금 코드가 하는 일이다.
* 화면을 고치면 여기도 같이 고쳐야 한다(그래서 설명이 한 곳에만 있다).
*
* image는 public/help 아래 실제 화면 캡처다. 빌드하면 static/help로 복사돼 /help/*.png로 열린다.
*/
export interface HelpImage {
src: string
alt: string
/** 캡처 아래에 붙는 한 줄 설명. 어디를 보라는 안내. */
caption: string
}
export interface HelpTopic {
title: string
/** 한 문장 요약. 모달 맨 위에 크게 나온다. */
summary: string
images?: HelpImage[]
/** 순서가 있는 사용 절차. */
steps?: string[]
/** 알아둬야 하는 규칙·주의. 경고색으로 나온다. */
cautions?: string[]
}
export const HELP: Record<string, HelpTopic> = {
'dashboard.kpi': {
title: 'KPI 타일',
summary: '전체 기관의 진행 상황을 7개 숫자로 요약한다. 실제 데이터를 그대로 센 값이다.',
images: [
{
src: '/help/dashboard-kpi.png',
alt: '대시보드 상단 KPI 타일 7개',
caption: '왼쪽부터 신청 · 서류제출 · 권리확인 · 권리처리 · 미해결 RE · 보고서 작성 · 완료',
},
],
steps: [
'신청 — 기관 명부에 등록된 전체 기관 수',
'서류제출 — ②목록접수 단계 이상에 도달한 기관 수',
'권리확인 / 권리처리 — 전 기관 건수 합계(완료 / 전체)와 진척률',
'미해결 RE — 기관관리 RE 탭의 메모 중 「해결」로 처리되지 않은 건수의 전 기관 합계',
'보고서 작성 — ⑫보고서 작성 단계에 도달한 기관 수',
'완료 — ⑬보고서 제출 완료에 도달한 기관 수(최종 보고서가 올라온 기관만 센다)',
],
cautions: [
'RE 메모를 「해결」로 바꾸면 이 숫자가 줄어든다. 삭제하지 않아도 집계에서 빠진다.',
'권리확인·권리처리 진척률은 소수점을 버리고 정수로 반올림한다.',
],
},
'dashboard.kanban': {
title: '단계별 현황 (칸반)',
summary: '기관 카드를 끌어다 놓아 진행단계를 바꾼다. 맨 왼쪽 "단계 미지정"은 채널을 아직 만들지 않은 기관이다.',
images: [
{
src: '/help/dashboard-kanban.png',
alt: '단계 미지정 컬럼과 ①신청~ 컬럼들이 있는 칸반',
caption: '컬럼은 단계 미지정 + ①~⑬ 순서다. 오른쪽으로 스크롤하면 나머지 단계가 나온다',
},
{
src: '/help/dashboard-drag-warning.png',
alt: '채널을 먼저 생성해 주세요 경고창',
caption: '단계 미지정 카드를 끌면 이동하지 않고 이 경고창이 뜬다',
},
],
steps: [
'카드를 옮기려는 단계 컬럼 위로 끌어다 놓는다. 놓는 순간 그 기관의 현재 단계가 바뀐다.',
'카드를 클릭하면 기관관리 화면으로 넘어가 그 기관을 연다.',
'컬럼 아래 [+N건 더보기]를 누르면 그 단계의 나머지 기관이 모두 펼쳐진다.',
'위쪽 필터 5개(업무 구간·담당 변호사·현재 단계·진행 상태·기관명)로 카드를 걸러낼 수 있다.',
],
cautions: [
'단계 미지정 카드는 끌어도 옮겨지지 않는다. 채널이 없으면 게시글·자료·권리검토가 전부 동작하지 않아 단계만 올려도 빈 껍데기가 되기 때문이다. 채널관리에서 채널을 만들면 자동으로 ①신청으로 들어간다.',
'단계 미지정 컬럼에는 다른 카드를 놓을 수 없다. 단계를 없애는 기능은 없다(초기화는 시스템관리에서 한다).',
'카드의 D+숫자는 현재 단계로 넘어온 뒤 지난 날짜다.',
],
},
'dashboard.recent': {
title: '최근 진행 기관',
summary: '최근에 변동이 있었던 기관을 위에서부터 보여준다. 기본 8개이며 아래에서 더 펼칠 수 있다.',
images: [
{
src: '/help/dashboard-recent.png',
alt: '최근 진행 기관 표와 필터',
caption: '필터 5개 + [초기화], 아래에 [더보기]와 [전체 기관 보기]',
},
],
steps: [
'표의 줄을 클릭하면 기관관리 화면으로 넘어가 그 기관을 연다.',
'[더보기]를 누르면 8개씩 더 보여준다.',
'[전체 기관 보기 →]는 기관관리 화면으로 이동한다.',
'[초기화]는 검색어와 필터 5개를 모두 지운다.',
],
cautions: [
'"최근 변경"은 단계 변경·권리확인/처리 수정·업무메모·담당자 배정 중 가장 최근 시각이다.',
'자료접수 상태 필터의 "접수"는 권리확인 자료가 1건 이상 올라온 기관을 뜻한다.',
],
},
'channel.seed': {
title: '신청목록 시트 올리기',
summary: '엑셀 신청목록 시트를 올려 기관 명부를 만든다. 여러 번 올려도 안전하다.',
steps: [
'[신청목록 시트 올리기]를 누르고 xlsx/xlsm 파일을 고른다.',
'연번1_연번2(예: 001_00)를 기관 코드로 삼아 기관을 만들거나 이미 있으면 갱신한다.',
'결과로 생성 / 갱신 / 전체 건수가 표시된다.',
],
cautions: [
'같은 파일을 다시 올려도 기관이 중복 생성되지 않는다(코드 기준으로 덮어쓴다).',
'담당자 정보는 이 파일에서 가져오지 않는다. 담당자는 담당자관리에서만 등록한다.',
],
},
'channel.assign': {
title: '담당자 배정',
summary: '이미 등록된 담당자를 신청기관 / 문정원 / 아이티앤 / 변호사 네 자리에 배정한다.',
images: [
{
src: '/help/channel-assign.png',
alt: '채널관리의 담당자 4카드와 채널 생성 버튼',
caption: '카드마다 [선택]으로 담당자를 고르고, [해제]로 비운다',
},
],
steps: [
'카드의 [선택]을 누르면 담당자 목록 모달이 열린다. 이름·소속으로 검색해 고른다.',
'변호사 카드에서는 배정일도 함께 입력한다.',
'[저장]을 누르면 네 자리 배정이 한 번에 저장된다.',
],
cautions: [
'여기서는 담당자를 새로 만들 수 없다. 목록에 없으면 담당자관리에서 먼저 등록한다.',
'신청기관 담당자가 비어 있으면 채널을 만들 수 없다.',
],
},
'channel.provision': {
title: '채널 생성',
summary: '기관마다 (문정원) · (법률검토) 두 채널을 만들고, 담당자 계정·최초 안내글까지 한 번에 준비한다.',
images: [
{
src: '/help/channel-provision.png',
alt: '담당자 카드 아래의 채널 생성 버튼',
caption: '신청기관 담당자가 비어 있으면 버튼이 잠긴다. 누르면 두 채널의 처리 결과가 표시된다',
},
],
steps: [
'담당자 배정을 저장한 뒤 [채널 생성]을 누른다.',
'(문정원) 채널과 (법률검토) 채널이 만들어진다.',
'담당자의 Mattermost 계정이 없으면 이메일 앞부분을 아이디로 자동 생성해 팀에 넣는다.',
'두 채널에 담당자를 넣고, 담당자 정보를 담은 최초 안내글을 올려 고정한다.',
'채널이 만들어지면 진행단계가 ①신청으로 자동 시작된다.',
],
cautions: [
'여러 번 눌러도 안전하다. 이미 있는 채널은 다시 만들지 않고 없는 것만 만든다.',
'한쪽만 실패했으면 성공한 채널은 그대로 남는다. 다시 눌러 없는 쪽만 만들면 된다.',
'자동 생성 계정의 비밀번호는 공통값이다. 실제 담당자에게 전달 후 변경하도록 안내해야 한다.',
],
},
'org.stage': {
title: '진행단계 변경',
summary: '13단계 업무 진행 상태를 사람이 직접 바꾼다. 자동으로 넘어가는 일은 없다.',
images: [
{
src: '/help/org-stage.png',
alt: '업무단계 현황 스트립과 진행단계 변경 버튼',
caption: '완료된 단계는 진하게, 현재 단계는 파랗게, 남은 단계는 회색으로 보인다',
},
],
steps: [
'현재 단계(파란 원)를 클릭하면 다음 단계로 넘어갈지 물어본다.',
'특정 단계로 바로 가려면 오른쪽 위 [진행단계 변경]을 눌러 단계를 고른다.',
'단계마다 그 단계에 도달한 날짜가 아래에 표시된다.',
],
cautions: [
'자료를 올리거나 게시글을 써도 단계는 자동으로 바뀌지 않는다(요청자 확정 사항).',
'채널을 만들기 전에는 모든 단계가 회색이며 변경할 수 없다.',
'단계를 되돌릴 수도 있다. 변경 이력은 타임라인 탭에 모두 남는다.',
],
},
'org.firstPost': {
title: '최초 게시글 보기',
summary: '두 채널에 고정(핀)된 게시물을 한 번에 확인한다. 채널을 만들 때 올린 최초 안내글이 여기 보인다.',
steps: [
'[최초 게시글 보기]를 누르면 문정원·법률검토 채널의 고정 게시물을 함께 보여준다.',
'[채팅 탭에서 보기]를 누르면 채팅 탭으로 이동한다.',
],
cautions: [
'채널을 만들기 전에는 버튼이 잠긴다.',
'공지를 다른 글로 바꾸면 여기에도 바뀐 글이 보인다(채널에 고정된 글을 그대로 읽기 때문).',
],
},
'org.chat': {
title: '채팅 탭',
summary: 'Mattermost 채널에 글과 파일을 올린다. (문정원) · (법률검토) 채널을 탭으로 오간다.',
images: [
{
src: '/help/org-chat.png',
alt: '채팅 탭 아래쪽 입력창 - 파일 첨부, 공지로 등록, 보내기',
caption: '패널 아래 입력창. Enter로 전송, Shift+Enter로 줄바꿈이다',
},
],
steps: [
'[문정원] / [법률검토] 칩으로 채널을 고른다.',
'내용을 쓰고 [보내기]를 누른다. [파일 첨부] 또는 창에 파일을 끌어다 놓아 첨부할 수 있다.',
'중요한 글은 [공지로 등록]을 누른다. 기존 공지는 해제되고 새 글이 채널 상단에 고정된다.',
'공지를 내리려면 [공지 해제]를 누른다.',
],
cautions: [
'공지는 채널에 하나만 유지된다. 새로 등록하면 이전 공지는 자동으로 풀린다.',
'화면은 3초마다 새 글을 확인한다. 다른 사람이 쓴 글도 곧 나타난다.',
'올린 파일은 자료 탭에도 함께 나타난다.',
],
},
'org.files': {
title: '자료 탭',
summary: '두 채널에 올라온 첨부파일을 모아 최신순으로 보여준다.',
steps: [
'[문정원] / [법률검토] 칩으로 채널을 고른다.',
'파일 이름을 클릭하면 내려받는다.',
'[새로고침]을 누르면 방금 올린 파일까지 다시 읽는다.',
],
cautions: [
'여기서 파일을 올리거나 지울 수는 없다. 올리기는 채팅 탭에서 한다.',
'목록은 Mattermost 채널을 그대로 읽어 만든다. 채널에서 지운 파일은 여기서도 사라진다.',
],
},
'org.review': {
title: '권리확인 탭',
summary: '조사원이 만든 권리확인 파일을 올리고, 건별로 변호사 판단을 입력한다.',
images: [
{
src: '/help/org-review.png',
alt: '권리확인 목록과 엑셀 업로드·다운로드 버튼',
caption: '오른쪽 위 [엑셀 업로드]로 자료를 넣고, 목록에서 건을 클릭해 판단을 입력한다',
},
],
steps: [
'조사원이 보낸 xlsm 파일을 올린다. 1행이 1건으로 들어온다.',
'목록에서 건을 클릭하면 상세가 열린다.',
'권리확인 대분류·세부를 고르면 처리결과가 자동으로 제안된다. 필요하면 직접 바꾼다.',
'의견·판단근거를 쓰고 [저장]한다.',
'[엑셀 다운로드]로 지금 상태를 파일로 내린다.',
],
cautions: [
'같은 파일을 다시 올리면 조사원이 채운 영역은 파일 내용으로 덮어쓰지만, 웹에서 수정한 값은 그대로 보존된다.',
'병합 기준은 파일의 행 순서다(순번이 중복된 파일이 있어 순번으로 맞추지 않는다).',
'조사원 영역 중에서는 첨부 여부와 기존 공공누리 유형만 웹에서 고칠 수 있다.',
],
},
'org.process': {
title: '권리처리 탭',
summary: '권리처리 파일을 올리고 건별로 처리 결과를 확정한다.',
steps: [
'권리처리 xlsm 파일을 올린다.',
'건을 클릭해 상세를 열고 최종의견·판단근거를 쓴다.',
'[처리등록]을 누르면 처리상태가 처리완료로 바뀌고 시각이 기록된다.',
'처리상태·검색으로 목록을 걸러 볼 수 있다.',
],
cautions: [
'기관 카드와 대시보드의 권리처리 숫자는 처리완료 건수 기준이다.',
'권리확인과 마찬가지로 웹에서 수정한 값은 재업로드해도 보존된다.',
],
},
'org.timeline': {
title: '타임라인 탭',
summary: '이 기관에서 일어난 일을 한 줄씩 시간순으로 모아 보여준다.',
steps: [
'단계 변경, 파일 등록, 업무메모가 한 줄씩 날짜별로 묶여 나온다.',
'왼쪽 색 점으로 종류를 구분한다.',
],
cautions: [
'읽기 전용이다. 여기서 지우거나 고칠 수는 없다.',
'Mattermost 조회가 실패하면 파일 항목만 빠지고 나머지는 그대로 보인다.',
],
},
'org.memo': {
title: '업무메모',
summary: '기관별 내부 메모를 남긴다. Mattermost로는 나가지 않는다.',
steps: [
'내용을 쓰고 [등록]한다. 작성자는 로그인한 사용자로 자동 기록된다.',
'[수정]을 누르면 그 자리에서 본문을 고칠 수 있다. [저장]으로 반영, [취소]로 되돌린다.',
'[삭제]로 메모를 지운다.',
],
cautions: [
'작성자를 직접 고르는 칸은 없앴다(요청자 확정). 서버가 로그인 사용자를 기록한다.',
'수정해도 작성자와 작성시각은 처음 값이 유지된다.',
'작성한 메모는 타임라인 탭에도 함께 나타난다.',
],
},
'projects.overview': {
title: '사업관리',
summary: '3단계 법률검토 대상 기관 현황을 한 표로 보고, 기관마다 연락 이력과 최종 보고서를 관리한다.',
steps: [
'검색·현재 단계·연락 이력 유무로 기관을 걸러 본다.',
'기관명을 클릭하면 기관관리 화면으로 넘어간다.',
'[연락·보고서]를 누르면 그 기관의 연락 이력과 보고서를 다루는 창이 열린다.',
],
cautions: [
'권리확인·권리처리 숫자는 대시보드와 같은 집계를 그대로 쓴다(두 화면 숫자가 어긋나지 않는다).',
'대시보드 아래 [사업관리에서 전체 보기]를 누르면 이 화면으로 온다.',
],
},
'projects.contactLog': {
title: '신청 확인 연락 이력',
summary: '기관에 연락한 내용을 날짜별로 쌓아 둔다. 자료가 자주 바뀌는 부분이라 이력으로 남긴다.',
steps: [
'연락일·방법(전화/메일/방문/기타)·내용을 넣고 [등록]한다.',
'[수정]을 누르면 위 입력칸에 값이 올라온다. 고친 뒤 [수정 저장]을 누른다.',
'[삭제]로 잘못 넣은 이력을 지운다.',
],
cautions: [
'작성자는 로그인한 사용자로 자동 기록되며, 수정해도 처음 작성자가 유지된다.',
'목록의 "최근 연락"은 여기 등록한 가장 늦은 연락일이다.',
],
},
'projects.report': {
title: '최종 보고서',
summary: '기관별 최종 보고서를 올리고 내려받는다. 같은 기관에 여러 번 올려 개정판을 쌓을 수 있다.',
steps: [
'[보고서 업로드]로 파일을 고른다.',
'파일 이름을 클릭하면 내려받는다.',
'[삭제]로 잘못 올린 파일을 지운다.',
],
cautions: [
'보고서는 Mattermost가 아니라 이 시스템 DB에 보관된다 - 채널을 초기화해도 사라지지 않는다.',
'한 번에 올릴 수 있는 파일 크기는 20MB까지다.',
],
},
'contacts.manage': {
title: '담당자관리',
summary: '담당자 정보를 입력하는 유일한 화면이다. 여기서 등록한 사람을 채널관리에서 배정한다.',
images: [
{
src: '/help/contacts.png',
alt: '담당자 목록과 회원명단 업로드·담당자 추가 버튼',
caption: '위쪽 칩으로 구분을 걸러 본다. 캡처의 이름·연락처는 예시로 바꿔 둔 값이다',
},
],
steps: [
'[담당자 추가]에서 구분·성명·소속·부서·직급·연락처·이메일을 넣고 [등록]한다.',
'목록의 [수정] / [삭제]로 고치거나 지운다.',
'회원정보 엑셀을 올리면 여러 명을 한 번에 등록한다. 신청기관 담당자는 소속 기관에 자동으로 배정된다.',
],
cautions: [
'이메일은 Mattermost 계정을 만드는 기준이다. 정확히 넣어야 채널 생성이 제대로 된다.',
'이미 기관에 배정된 담당자를 지우면 그 기관의 배정이 비워진다.',
],
},
'system.reset': {
title: '채널 초기화',
summary: '웹앱이 만든 Mattermost 채널을 보관 처리하고, 기관을 채널 생성 전 상태로 되돌린다.',
images: [
{
src: '/help/system-reset.png',
alt: '채널 초기화 대상 목록과 확인 문구 입력',
caption: '무엇이 보관되는지 목록으로 먼저 확인한 뒤 실행한다',
},
],
steps: [
'대상 목록에서 어느 기관의 어느 채널이 보관될지 확인한다.',
'입력창에 "채널 초기화" 를 그대로 입력한다.',
'[채널 초기화 실행]을 누르면 확인창이 한 번 더 뜬다.',
'실행 후 보관된 채널 수·초기화된 기관 수와 실패 내역이 표시된다.',
],
cautions: [
'삭제가 아니라 보관(아카이브)이다. 게시글·파일은 남고 Mattermost 시스템 콘솔에서 되돌릴 수 있다.',
'담당자 배정, 권리확인·권리처리 자료, 업무메모, 기관 명부는 지워지지 않는다.',
'공용 채널(Town Square·FAQ·대쉬보드·양식 모음·자료실)과 엑셀로 만든 예전 채널은 대상이 아니다. 사용자 계정도 건드리지 않는다.',
'한 기관의 채널 중 하나만 실패하면 그 기관의 채널 연결은 그대로 남는다. 다시 실행하면 남은 것만 처리한다.',
],
},
}