🆕 신규 화면 개발
무엇 — 어드민 전 화면과 다운로드 엑셀에서 같은 대상을 부르는 말을 표준 용어 1개로 통일하고, 그 근거가 되는 용어 대응표(글로서리)를 단일 소스로 관리한다.📍 위치: 시스템 설정 › 용어 사전 관리
핵심 결정
표준 용어(핵심 4)
공급처=공급사 / 상품코드=히어로코드 / 주문 고객=식당 / 대체발주→대체주문
변경 범위
어드민 노출 전체 글자 + 다운로드 엑셀 제목줄 전체를 전수 감사 후 1:1로 교체
대외 노출
대외 화면·문서도 공급사로 통일('파트너' 폐기). 약어 MFC·DC·SoldTo는 유지
구분(통일 아님)
상품코드 3종 히어로코드 / 공급사상품코드 / 그룹코드는 각각 다른 코드 — 병합 금지
거버넌스
용어 사전(글로서리)을 단일 소스로 개발·유지, 신규 화면 용어 규칙 매뉴얼화
01화면 — 먼저 보기
이 티켓이 실제로 어떤 화면이 되는지 먼저 봅니다
실제 공급사 관리 화면 하나에 제목은 '공급사', 표는 '유통사 ID·공급사 명', 검색칸은 '파트너명', 버튼은 '거래처 코드 등록'이 공존한다. DB의 seller 테이블에도 seller_name과 partner_name이 함께 존재 — 이 화면은 그 혼선을 표준어 1개로 수렴시키는 단일 소스다.
현행 화면 · 실제 캡처현행 「공급사」 목록 — 용어 혼용(공급사/파트너/거래처) 예시
변경안 · 제안 화면
시스템 설정 › 용어 사전 관리신규 화면
상태(전체·미교체·교체완료·예외) ▾🔍 개념/표준어/노출 텍스트 검색표준어 일괄 교체 적용화면·엑셀 재스캔대응표 CSV 내보내기
▲ 용어 대응표 — 바뀌는 컬럼은 🆕 로 표시(예시 데이터)
1전수 감사 스캔 — 어드민 전 화면의 라벨·표 헤더·버튼·검색칸 텍스트와 다운로드 엑셀 제목줄을 수집해 term_occurrence에 적재한다. 엑셀 실제 제목줄은 운영에서 수집(0순위).
2개념별 표준어 확정 — 수집된 표현을 개념(concept_key)으로 묶고, term_glossary에 표준어 1개와 폐기 별칭을 확정한다. 코드 3종처럼 '구분' 개념은 is_locked=true로 잠근다.
3대응표 검토 — 표준어별 노출 위치 목록을 화면에서 확인. '공급사'처럼 한 화면에 유통사 ID·파트너명·거래처가 섞인 케이스를 한눈에 본다.
4링크 영향 판정 — location_type=route 항목은 라벨만 바꾸고 라우트는 보존하거나 redirect 대상으로 표시해 기존 외부 링크가 깨지지 않게 한다.
5표준어 일괄 교체 적용 — 확정 표준어로 화면 문구와 엑셀 제목줄을 1:1 교체하고 status=done 처리. 대체발주→대체주문 개칭도 이 단계에서 반영.
6거버넌스 고정 — term_glossary를 코드/문서 단일 소스로 배포하고 신규 화면 용어 규칙을 매뉴얼화한다. 이후 나머지 24건 티켓은 이 표준어로 '어느 화면 어느 칸'을 지목.
term_glossary 신규
idPK bigserial
concept_keyvarchar(50)
standard_termvarchar(50)
aliasesjsonb
external_visibleboolean
scopevarchar(20)
is_lockedboolean
updated_attimestamp
개념별 표준 용어 사전(단일 소스). 개념 1건당 표준어 1개 + 폐기 별칭 목록.
term_occurrence 신규
idPK bigserial
glossary_idFK bigint
screen_keyvarchar(100)
location_typevarchar(20)
raw_textvarchar(255)
source_refvarchar(255)
statusvarchar(20)
전수 감사 결과: 실제 화면/엑셀에 박힌 표현의 위치 대응표. 교체 진행 상태 추적.
seller READ
idPK varchar(100)
seller_namevarchar(20)
partner_namevarchar(20)
공급사 마스터. seller_name·partner_name이 공존해 혼선의 근원 — 표준어 노출은 seller_name로 수렴.
hero_code_mapping READ
hero_product_codevarchar(100)
typevarchar(30)
specific_codevarchar(100)
히어로코드↔개별코드 매핑. type으로 코드 종류 구분 → 코드 3종 '구분' 정책의 근거.
term_occurrence.glossary_id → term_glossary.id (표준어 1건이 여러 노출 위치를 가짐)
term_occurrence.screen_key = 어드민 라우트/엑셀 파일 식별자(예: partnerList) — 링크 보존 판단용
hero_code_mapping.type 으로 히어로코드 vs 공급사상품코드 vs 그룹코드 구분(병합 금지)
-- 용어 사전(글로서리): 개념별 표준 용어 단일 소스\nCREATE TABLE term_glossary (\n id BIGSERIAL PRIMARY KEY, -- PK\n concept_key VARCHAR(50) NOT NULL UNIQUE, -- 개념 키(supplier, hero_code, restaurant ...)\n standard_term VARCHAR(50) NOT NULL, -- 표준 용어(예: 공급사)\n aliases JSONB NOT NULL DEFAULT '[]', -- 폐기/혼용 별칭 배열(예: [\"유통사\",\"파트너\",\"거래처\"])\n external_visible BOOLEAN NOT NULL DEFAULT TRUE, -- 대외 노출에도 표준어 적용(공급사=true)\n scope VARCHAR(20) NOT NULL DEFAULT 'all', -- 적용 범위: admin/excel/app/all\n is_locked BOOLEAN NOT NULL DEFAULT FALSE, -- '구분' 개념 잠금(코드 3종 등 통일 금지)\n updated_at TIMESTAMP NOT NULL DEFAULT (CURRENT_TIMESTAMP AT TIME ZONE 'Asia/Seoul')\n);\nCOMMENT ON TABLE term_glossary IS '용어 사전(단일 소스): 개념 1건당 표준어 1개';\n\n-- 전수 감사 결과: 화면/엑셀에 박힌 표현의 위치 대응표\nCREATE TABLE term_occurrence (\n id BIGSERIAL PRIMARY KEY, -- PK\n glossary_id BIGINT NOT NULL REFERENCES term_glossary(id), -- 표준어 FK\n screen_key VARCHAR(100) NOT NULL, -- 화면/라우트 식별(예: partnerList)\n location_type VARCHAR(20) NOT NULL, -- label/table_header/button/search/excel_header/route\n raw_text VARCHAR(255) NOT NULL, -- 실제 박혀있던 텍스트(예: '유통사 ID')\n source_ref VARCHAR(255), -- 근거(파일:라인 또는 엑셀 파일명)\n status VARCHAR(20) NOT NULL DEFAULT 'todo' -- todo(미교체)/done(교체완료)/except(예외)\n);\nCOMMENT ON TABLE term_occurrence IS '용어 노출 위치 전수 감사 및 교체 진행 상태';\nCREATE INDEX idx_term_occurrence_glossary ON term_occurrence(glossary_id);\nCREATE INDEX idx_term_occurrence_status ON term_occurrence(status);\n\n-- [참고] 기존 seller.partner_name 은 데이터 보존, 노출만 seller_name 으로 수렴(스키마 변경 없음)\n-- [참고] 링크 보존: /partnerList 등 기존 라우트는 유지하거나 표준 경로로 redirect(앱/코드 레벨 처리)
04화면 상세 — 세부 표·규칙
목록 외 품목표·모달·규칙 등 세부 화면
개념별 표준 용어 확정표(규칙)
티켓 A/B 섹션의 확정 내용을 규칙표로 고정. '유지/구분' 항목은 교체 대상에서 제외됨을 명시.
엑셀 다운로드 제목줄 대응표
운영 수집 0순위 항목. 화면 라벨과 엑셀 제목줄을 반드시 1:1로 맞춤. 실제 제목줄은 운영 다운로드본을 수집해 채운다([가정] 일부 파일명 예시).