- src/dist 산출물 분리 원칙 정리(.gitignore, .gitattributes) - 루트 및 주요 폴더(config/scripts/prompts/tests/src, 런타임 폴더 5종)에 안내용 README.md 추가 - CHANGELOG.md, LICENSE, docs/ops/05-release-and-versioning.md 추가 - docs/README.md 문서 지도 갱신
4.5 KiB
4.5 KiB
design.md
브리프 3줄
- 무엇을: Windows 11용 DMF 설정/복구 앱과 매일 생성되는 DMF xlsx 리포트의 시각 언어·정보 위계·상태 표현을 개선한다.
- 누구에게: 개발자가 아닌 한국어 규제 실무자가 키 등록, 자동 실행, 오늘 리포트 확인을 막힘 없이 수행하게 한다.
- 제약: Python stdlib
tkinter, XlsxWriter 단독, 런타임 의존성 추가 금지, 실제 9,084건 기준선, 기본 언어 ko-KR 한국어, Google/agy는 선택, No RED No Code.
레퍼런스와 근거
- R1 구조: Microsoft Windows/Fluent 설정·접근성 원칙. 설정은 단순 그룹, 상태와 다음 행동, 접근 가능한 기본 컨트롤을 사용한다.
- R2 톤: 규제 문서/감사 가능한 원장. 차분한 잉크·종이 표면, 기준일·출처·한계 문구를 숨기지 않는다.
- R3 디테일: Excel 접근성/대시보드 관습. A1 목적문, 명확한 시트명, 표/ListObject, 동결창, 의미 있는 하이퍼링크, 색 단독 금지.
한 문장 컨셉
감사 가능한 조용한 계기판 — 사용자는 예쁜 화면보다 오늘 무엇이 막혔고 어떤 파일이 근거인지 즉시 알아야 한다.
프리셋
- designpaca
swiss-minimal기반. - 이유: DMF 수집은 정보가 많고 신뢰가 전제인 내부 도구다. 실험적 장식보다 정렬, 대비, 필터 가능한 표, 출처 노출이 우선이다.
감수한 리스크 하나
- xlsx 대시보드 A1에 스크린리더용 목적문 행을 추가했다.
- 시각적으로는 한 줄이 늘어나지만, Excel 접근성상 빈 A1에서 시작하지 않고 파일 목적을 즉시 읽게 하는 편이 이 브리프에 맞다.
토큰
Windows 앱
- 폰트:
맑은 고딕우선. Windows 한국어 환경에서 기본 탑재되고 추가 설치가 필요 없다. - 색 역할:
- 배경
#FFFFFF - 카드
#F6F7F8 - 요약 표면
#F3F6F8 - 본문
#1F2328 - 보조
#6E7781 - 경계
#D0D7DE - 강조
#0072B2 - 상태: OK
#167A3C, WARN#C77700, BAD#BE2828
- 배경
- 간격: 4/8px 리듬. 외곽 28/24, 카드 14/12, 버튼 padding 14/8.
- 형태: 큰 그림자 없음. 카드/요약은 1px 선과 배경 톤 차이로만 구분.
- 모션: 없음. 긴 작업은 freeze 방지를 위해 worker thread + 상태 문장으로 피드백.
xlsx
- 폰트:
맑은 고딕10pt, 제목 14/18pt, KPI 값 28pt. - 팔레트: Okabe-Ito 기반. 강조
#0072B2, 신규#009E73, 변경#E69F00, 취하#D55E00, 워치#CC79A7, 잉크#1F2933. - 상태 표현: 배경색 + 폰트색 + 텍스트 라벨 + 기호. 취하는 취소선까지 사용.
- 열 폭: 데이터 시트의 visible column은 Excel 폭 약 48.75 이하로 제한. 긴 한글 값은 줄바꿈/필터/원장 조회로 흡수한다.
- 링크:
조회같은 모호한 문구 금지. 외부 원문은원문 조회, 원장 내부 이동은원장 보기처럼 목적을 쓴다.
성능·의존성 예산
- 새 런타임 의존성 0개.
- GUI 프레임워크 교체 없음.
tkinter유지. - xlsx 생성 엔진
XlsxWriter단독. openpyxl/pandas 금지 유지. - GUI 모션/이미지/WebGL 없음.
채택한 효과와 폴백
- 효과 없음. 표면은 색·선·타입 위계로만 구성한다.
- xlsx는 Excel을 한 번도 열지 않아도 수식 캐시값으로 값이 보이게 한다.
의도적으로 하지 않은 것
- WinUI/PySide로 교체하지 않았다. 비개발자 PC에서 설치 의존성과 실패면이 늘어난다.
- 대시보드를 화려한 다크/네온/그라디언트로 만들지 않았다. 규제 원장과 한국어 표 읽기에는 조용한 라이트 표면이 맞다.
- Google/agy를 기본 설정 여정에 넣지 않았다. AI 요약은 선택 기능이고, 기본 수집·xlsx 생성은 막으면 안 된다.
- xlsx 데이터 시트에서 모든 긴 텍스트를 넓게 펼치지 않았다. 9,084건 원장은 스캔·필터가 우선이라 열 폭 상한을 둔다.
2026-09-03 변경 기록
- Windows 앱: 상단 상태 요약 strip(
필수/권장/정상),필수 설정/선택 기능/운영 상태그룹, 전용 상태 badge, 행 액션 버튼 최소 폭을 추가했다. - xlsx: 문서 속성(title/subject/category/author/comments), 대시보드 A1 목적문, dashboard 내부 링크 검증, 데이터 시트 역링크 검증, 의미 있는 링크 문구, visible column width cap을 추가했다.
- 테스트:
tests/test_gui_design_contracts.py,tests/test_report_e2e_design.py디자인 RED를 추가했고pytest tests -q58 passed로 검증했다.