king
6918426264
feat(expense): 첨부 뷰어 패닝/엑셀 + 체크박스 일괄작업 + 정렬
...
[첨부 뷰어]
- 펜 주석 기능 제거 (요구사항 정정).
- 이미지: 마우스 드래그로 패닝, 축소/확대/100%/맞춤 줌 도구.
- 엑셀 (xlsx/xls/xlsm/csv/ods): SheetJS lazy load(CDN) 후 시트 탭으로 표시.
- 기타 파일: 다운로드/새 창 링크.
[경비 내역 / 승인 대기 공통]
- 행 단위 첫 컬럼 체크박스 + thead 전체선택 체크박스.
- 표 제목 상단에 일괄 동작 버튼 (선택 0이면 disabled).
- 카드 헤더와 행 모두 vertical-align: middle 로 일직선 정렬.
[경비 내역]
- 첨부 추가 버튼의 📎 아이콘 제거. "기타" → "기타 파일".
- 행 단위 "제출" 버튼 제거 → 상단 "선택 항목 제출" 단일화.
- 행 단위 첨부 보기 아이콘(📎 ) 추가 — 클릭 시 ErpAttachViewer 호출.
[승인 대기]
- 일괄 승인 (체크 후 상단 버튼).
- 반려는 항목별 유지 (사유 필수라 일괄 부적합).
[CSS]
- erp-table tbody td vertical-align top → middle (admin 포함 일관).
2026-05-29 03:57:18 +09:00
king
151de492ad
feat(expense): 첨부 뷰어 모달 — 이미지 미리보기 + 펜 주석
...
승인 대기 페이지의 "첨부" 텍스트 링크를 클립 아이콘 버튼으로 교체.
클릭 시 모달 팝업으로 이미지 미리보기 + 마우스 펜 주석 + 다운로드.
뷰어 컴포넌트 (전역, 다른 페이지에서도 재사용 가능):
- 좌측: 첨부 목록 (썸네일/메타)
- 우측: 캔버스 스택 (img + 투명 canvas)
- 도구: 펜/지우개, 색상 4종, 굵기 3종, 전체 지우기, 합성 PNG 저장, 원본 열기
- 이미지 외 파일은 다운로드 링크만 표시
- ESC/배경 클릭으로 닫기, pointer events 지원
전역 노출: window.ErpAttachViewer.{open, openFor, close}
2026-05-29 03:40:03 +09:00
king
9c58b022e2
feat(expense): 개인경비 모듈 + ERP 좌측메뉴 셸 + expense_db 연결
...
- ERP 셸: 좌측 사이드바 + 상단 헤더 + 콘텐츠 영역(erp_base.html)
- 분기: 슈퍼관리자 → 업무모듈 카드, 일반사용자 → ERP 메인(erp_home.html)
- 신규 라우트: /modules (슈퍼관리자 모듈 카드 재진입)
- 개인경비 모듈: app/modules/expense/ (라우터/저장소/템플릿)
- JSON 저장소(ExpenseStore) + PostgreSQL 저장소(ExpenseDBStore)
- 팩토리: EXPENSE_DB_URL 있으면 DB, 없으면 JSON 폴백
- DB: scripts/sql/expense_db_init.sql (멱등 DDL, postgres-db 컨테이너)
- expense_db, 역할 expense_app, 테이블 expense_items, 인덱스/트리거
- 마이그레이션: scripts/migrate_expense_json_to_db.py (멱등, --dry-run)
- 의존성: psycopg[binary,pool]>=3.2
- 환경변수: EXPENSE_DB_URL 추가
- 문서: CLAUDE.md 작업 기준 + docs/{PROJECT_OVERVIEW,SERVER_ARCHITECTURE,DATABASES,DEPLOYMENT}.md
- main-app 배포 경로 /opt/www/main 고정 명시
- 위험 명령(DROP/TRUNCATE/rm -rf/volume 삭제) 사용자 승인 정책
2026-05-29 02:21:03 +09:00
king
d7b6c7d029
chore: add DESIGN.md, brand logo, caveman code rules
...
- DESIGN.md: 모노크롬 블루프린트 UI 스타일 레퍼런스
- app/static/[Originals]/dbx-logo.png: 브랜드 로고 원본
- skills/code.rules.md: 코드 작성 규칙
2026-05-29 02:20:40 +09:00
king
316e3fe8d1
feat(erp): ERP 대시보드 + 관리자 권한 시스템 도입
...
- 로그인: dbxcorp.co.kr 도메인 화이트리스트만 사용. ALLOWED_EMAILS 게이트 제거
- king@dbxcorp.co.kr 슈퍼관리자 자동 부여 (강등/삭제 불가)
- 신규 로그인 사용자는 JSON 저장소에 자동 등록 (기본 모듈 권한 0)
- 관리자 페이지(/admin): 역할/모듈별 토글로 직원 권한 수정
- 메인 대시보드를 ERP 시스템(monochromatic shadcn)으로 재설계
· 모듈: CORM, Order, 개인경비(준비중), 휴가(준비중)
· 권한 없는 모듈은 '권한 없음' 배지 + 클릭 불가
- DESIGN.md 토큰 기반 styles → app/static/erp.css
- docker-compose: dbx-main-data 볼륨 마운트 (DATA_DIR=/data)
으로 권한 JSON 영구 보관
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-28 23:36:51 +09:00
king
927990c002
style(ui): brand-divider 애니메이션 10px→50%→10px 24s 주기로 변경
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 02:00:26 +09:00
king
dcecc1476e
style(ui): brand-divider 애니메이션 속도 10s로 조정
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 01:58:24 +09:00
king
9a8dace7ec
feat(ui): 로그인 페이지 brand-divider 호흡 애니메이션 추가
...
5초 주기 ease-in-out으로 48px → 100% → 48px 너비가 반복되는
divider-breathe 키프레임 애니메이션을 적용.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 01:43:51 +09:00
king
c16bc905ed
feat(ui): 메인 포털 홈 화면 카드명 수정 및 로그인/메인 화면 로고/헤더 레이아웃 스타일 개선
...
- 메인 홈 화면 카드 수정: 'CS 발주 업무' -> 'CS, 발주, 반품, 코드관리' (설명 문구도 이에 맞춤) / '고객 주문리스트 프로그램' -> '고객 주문 데이터베이스' (설명 문구도 이에 맞춤)
- 디자인 레이아웃 스타일 개선: 로그인 화면의 좌측 상단 로고 이미지를 원본 이미지 크기로 정상 출력되도록 수정 (styles.css 내 brand-logo-img 수정) / 메인 대시보드 상단 헤더 높이를 기존 110px에서 55px로 단축하여 공간 효율화 / 메인 대시보드 내 로고 높이를 55px로 고정하고 가로 비율이 유지되도록 수정 / 로고 옆의 '업무 포털' 브랜드 텍스트 폰트 크기를 24px로 확대 및 볼드 처리하여 시인성 극대화
2026-05-25 21:12:49 +09:00
king
e8a85be36c
feat: 주문리스트를 /orderlist/ 리버스 프록시 경로로 통합
...
- 메뉴 카드 새 탭 열기 + /orderlist/health/db 헬스 배지 (온라인/오프라인) 추가
- CUSTOMER_ORDER_LIST_URL 기본값을 /orderlist/ 로 (NPM 같은 도메인 하위 경로)
- orderlist 측 compose 정리 스크립트 추가 (ports 제거, npm_default 외부 네트워크 attach)
2026-05-24 05:04:29 +09:00
king
0c007e6432
fix: 로고 크기 페이지별 분리 (denied 284px, 나머지 100px)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-24 01:26:37 +09:00
king
b070fabb96
fix: 메인 헤더 로고 284x284 원본 크기로 표시
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-24 01:23:20 +09:00
king
bad5d04d8b
fix: 메인 헤더 텍스트로 변경/높이 축소, 로그인 로고 44px 복원
...
- main.html 헤더: 로고 제거 → "DBX 업무포털" 흰색 텍스트, 높이 64px→44px
- login/denied 브랜드 패널 로고: 44px 복원
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-24 01:18:38 +09:00
king
6c82415e02
fix: 메인 헤더 로고 크게(48px), 로그인/접근거부 로고 작게(30px)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-24 01:13:43 +09:00
king
cd545d723e
fix: 메인 헤더 원복 및 로그인 로고 크기 조정 (28px → 36px)
...
- main.html 헤더: SVG 아이콘+텍스트 방식으로 원복
- 로그인/접근거부 브랜드 패널 로고: 36px로 조정
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-24 01:09:07 +09:00
king
a52b66868d
fix: 로그인 브랜드 패널 로고 크기 축소 (44px → 28px)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-24 01:02:24 +09:00
king
f93eac9ce5
design: DBX 로고 이미지 적용 (로그인·접근거부·메인 헤더)
...
- dbx-logo.png를 app/static에 추가
- login.html / denied.html 브랜드 패널 SVG 아이콘 → 로고 이미지로 교체
- main.html 헤더 SVG 아이콘 → 로고 이미지로 교체
- styles.css에 .brand-logo-img / .header-logo-img 스타일 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-23 23:36:11 +09:00
king
c4ae1ab3e6
UI: King 텍스트 움직임 범위 확장, 별 도형 제거, 도형 밝기 조정
...
- kingFloat 애니메이션 translate 범위를 ±16px → ±70px 로 확장
- login.html / denied.html 에서 shape-7(별) div 제거
- shape-1~6 도형 밝기 은은하게 감소 (이전 수준으로 복구)
- .shape-king text-transform: none → "King" 으로 표시
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-22 02:04:54 +09:00
king
672a99ef80
design: shape-8 삭제, 별 위치 우측 이동, King 반짝 텍스트 추가
2026-05-22 01:19:19 +09:00
king
d2b145576b
design: 브랜드 패널 도형 강화 — 세모·별 추가, 두께·밝기 증가, 모션 가속
2026-05-22 01:15:23 +09:00
king
e1af7285a1
design: DBX Corporation 명칭 수정, 폰트 확대, 브랜드 패널 애니메이션 도형 추가
...
- 모든 페이지 'DBX Corp' → 'DBX Corporation' 통일
- 브랜드 패널 좌측에 천천히 움직이는 도형 5개 추가 (CSS 애니메이션)
- 전체 기본 폰트 15px → 16px, 제목/카드 크기 확대
- 'Google Workspace 계정...' 문장 한 줄 표시 처리
2026-05-22 01:05:47 +09:00
king
6993ab9397
chore: Pretendard 폰트를 로컬 TTF에서 jsDelivr CDN으로 교체 (저장소 -8MB)
2026-05-22 00:51:00 +09:00
king
60a1426a23
design: 기업용 UI 리디자인 및 로컬 실행 스크립트 추가
...
- 로그인/접근거부 페이지: 좌우 분할 레이아웃(다크 네이비 브랜드 패널 + 흰색 폼),
실제 Google G 컬러 버튼, 자물쇠·안내 아이콘 적용
- 메인 페이지: 다크 네이비 헤더, 웰컴 히어로 배너(오늘 날짜 JS 자동 표시),
SVG 아이콘이 있는 업무 카드 그리드, 호버 시 상단 블루 액센트 라인
- styles.css: 코퍼레이트 네이비/블루 색상 토큰 체계로 전면 재작성,
Pretendard 폰트 유지, 모바일 반응형 포함
- run-local.bat / run-local.ps1: 더블클릭 또는 인수(stop/logs/ps/restart)로
로컬 Docker 컨테이너를 간편하게 관리하는 스크립트 추가
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-05-21 23:38:32 +09:00
king
c93e2be0a7
feat: 초기 커밋 — Pretendard 폰트 적용 및 Docker 배포 구성
...
- Pretendard Regular/Bold/Thin 폰트를 app/static/fonts/ 에 추가하고
@font-face 로 등록하여 전체 페이지에 적용
- Dockerfile(python:3.12-slim + uvicorn --proxy-headers) 작성
- docker-compose.yml: NPM 뒤 운영 서버용 (포트 80)
- docker-compose.local.yml: 로컬 테스트용 (포트 8080)
- .env.local.example: 로컬 OAuth 설정 가이드 포함
- .dockerignore: 이미지 빌드 컨텍스트 최소화
- .gitignore: .env / .env.local 제외 명시
- README: Docker 빌드·배포·업데이트 절차 문서화
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-05-21 22:43:41 +09:00