Commit Graph

3881 Commits

Author SHA1 Message Date
Claude (gbpark) 407da15e6d UI 디자인 패스 — 타이포/헤더/빈화면/로그인 정돈
- 타이포 스케일: body 12→14px, caption 9.6→12px, display 25.6→32px, 위계 강화
- 헤더 우측 3그룹화 (대시보드액션 | 테마/알림/설정 | 모드+프로필), v5-hdr-sep 구분자 추가
- 사이드바 SUPER_ADMIN 회사 카드 borderless slim 라벨로 압축
- 메뉴명 빈 텍스트 방어 + title 속성 추가
- 빈 대시보드(EmptyDashboard) 리디자인: 탭없음/위젯없음 2상태 분리, 2-CTA 카드
- 로그인 코스믹 공연 축소: 별 150→30, 파티클 20→0, 카피 한글화 (로그인 버튼/서브타이틀)
- 모드 전환 burst/sweep/badge-zoom 제거, sidebar stagger morph만 유지 (handleModeSwitch 100→25줄)
- View transitions duration 1800ms → 500ms

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 19:42:46 +09:00
DDD1542 3eda684787 사용자 대시보드 기능강화 및 인비온 스튜디오 메뉴관리 자잘한수정
Build & Deploy to K8s / build-and-deploy (push) Successful in 4m22s
2026-04-22 18:27:06 +09:00
DDD1542 a5de92de65 정리 완료
Build & Deploy to K8s / build-and-deploy (push) Successful in 39s
2026-04-22 09:45:55 +09:00
chpark 2c57dc8cda 부서 권한 그룹 권한 관리
Build & Deploy to K8s / build-and-deploy (push) Successful in 7s
2026-04-22 03:16:38 +09:00
gbpark 868ddac9a3 Merge branch 'gbpark-node' of https://git.junggomoa.com/gbpark/invyone into gbpark-node
Build & Deploy to K8s / build-and-deploy (push) Successful in 6s
2026-04-22 01:32:25 +09:00
gbpark c7f00ff2cb 대시보드 캐시 오류 수정완료 2026-04-22 01:29:08 +09:00
chpark 7c30955809 윈도우 및 맥 DB정보 수정정
Build & Deploy to K8s / build-and-deploy (push) Successful in 40s
2026-04-22 00:54:52 +09:00
gbpark 15c74ae26c 라이트 모드 색상 톤 조정
Build & Deploy to K8s / build-and-deploy (push) Successful in 4m0s
- 패널/카드 배경을 솔리드 흰색으로 변경
- 캔버스/카드/보더 대비 강화
- v5 본문 라벤더 그라데이션 제거, 흰색 + 우측 보더 분리

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 00:12:53 +09:00
gbpark 5153386fce 디자인 수정
Build & Deploy to K8s / build-and-deploy (push) Successful in 3m59s
2026-04-21 22:59:51 +09:00
DDD1542 bc66d8c549 버튼 수정 TemplateRenderer
Build & Deploy to K8s / build-and-deploy (push) Successful in 4m0s
2026-04-20 18:32:12 +09:00
DDD1542 fbd46c53cf 라인 레이아웃 버튼 tight-fit compaction 추가
Build & Deploy to K8s / build-and-deploy (push) Successful in 4m3s
row 단위 그룹으로 버튼 크기를 자동 축소해 cell overflow 방지.
text-aware floor 로 라벨 길이에 따라 최소 폭 보장.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 17:49:36 +09:00
DDD1542 5fc1e7ede2 자유배치 -> 라인선 레이아웃자유형 반응구현
Build & Deploy to K8s / build-and-deploy (push) Successful in 3m58s
2026-04-20 16:51:33 +09:00
DDD1542 aab894b553 임시저장 2026-04-20 10:00:18 +09:00
gbpark b3ad787179 대시보드 구현 완료 세세한 오류 수정 진행중
Build & Deploy to K8s / build-and-deploy (push) Successful in 5m4s
2026-04-19 21:15:25 +09:00
gbpark 937505ab28 Merge remote-tracking branch 'origin/gbpark-node' into gbpark-node
Build & Deploy to K8s / build-and-deploy (push) Successful in 7s
2026-04-16 00:35:50 +09:00
gbpark de7ab9b7e3 중간세이브 - 메뉴수정 - INVYONE 스튜디오 작업 2026-04-16 00:32:19 +09:00
chpark 4d39d70f1d DB 연결정보를 서버 로컬 DB로 변경 (183.99.177.40:5432)
Build & Deploy to K8s / build-and-deploy (push) Successful in 6s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 15:15:22 +09:00
gbpark 1aa48cc0bb INVYONE 화면 디자이너 개편 + 컴포넌트 86→8 통합
## 디자인 개편
- IDE 톤 CSS 오버라이드 (builder-ide.css)
- 컴팩트화 (폰트/간격/패딩 축소)
- INVYONE STUDIO 로고 추가 (SlimToolbar)
- 좌측 수평 탭 → 수직 아코디언 (details/summary)
- 우측 속성 패널 신설 (V2PropertiesPanel 완전 이주)
- 다크모드 지원 (7개 통합 컴포넌트 inline hex → CSS 변수)

## 기반 시스템
- ScreenDefinition.fields/connections 타입 확장
- ComponentDefinition.dataPorts 타입 확장
- FieldConfig adapters (fieldsToColumns/Search/Form)
- DataPortBus + setupConnections runtime
- FieldsPanel (화면 수준 필드 관리 패널)

## 컴포넌트 통합 (Phase A~C)
- divider (3→1): 가로/세로 + 텍스트 구분선
- title (2→1): h1~h6/body/caption variant
- button (3→1): 6 variant × 13 actionType
- search (3→1): inline/stacked 검색 필터
- input (20+→1): FieldConfig.type 10종 내부 분기
- stats (6→1): card/chip/bigNumber 3종 스타일
- table (9→1): table/split/grouped/pivot/card 5종 displayMode
- container (11→1): tabs/section/accordion/repeater/conditional 5종

## 버그 수정 (기존 VEX 코드)
- 드래그 드롭 불가 (defaultSize camelCase 불일치)
- 설정 변경 미반영 (componentConfig vs component_config)
- ConfigPanel 미인식 (config_panel vs configPanel)
- v2- 자동 매핑 함정 (INVYONE_UNIFIED_IDS 화이트리스트)
- LayerManagerPanel 무한 API 호출 (useEffect deps)
- Button size 이름 충돌 (visual size 객체 vs config string)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 20:37:23 +09:00
chpark 1eb13050dd ci: backend-node 제거 (Spring Boot로 전환됨)
Build & Deploy to K8s / build-and-deploy (push) Successful in 39s
2026-04-12 02:27:40 +09:00
chpark 4b15263ee7 ci: retrigger deploy after node install
Build & Deploy to K8s / build-and-deploy (push) Successful in 7m24s
2026-04-11 17:15:58 +00:00
chpark 39fdc2683e fix: selectCompanyName LIMIT 1 추가 및 K8s 배포 설정 추가
Build & Deploy to K8s / build-and-deploy (push) Failing after 7s
2026-04-11 17:09:40 +00:00
gbpark a0c9d9a0ab 화면 디자이너 제작
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 19:28:28 +09:00
gbpark 2c0a97f2ba Phase 1: INVYONE 카드 엔진 토대 정리
- components/builder/* 폐기 (12-grid 미완성 빌더 14개 파일)
- components/template-builder/TemplateBuilder.tsx 신규
  (자유배치 + 3뷰 + Zustand 스토어 + 드래그/리사이즈/히스토리/격자)
- admin/builder/page.tsx 진입점 전환 (BuilderLayout → TemplateBuilder)
- 타입 정리: FreePosition / TemplateComponent / ViewConfig / Card /
  Dashboard / CardConnection 추가, 레거시(GridPosition/TemplateKind/
  DEFAULT_COMPONENT_LAYOUTS/CANVAS_KEYWORDS) @deprecated 표기
- v2-* 마이그레이션 1차:
  · 완전: v2-table-list (ResizeObserver), v2-table-search-widget (@container)
  · 경량: button/input/select/date/text-display/card-display/aggregation-widget
    (withContainerQuery HOC)
- 다크 모드 대응: Tailwind dark: variant 21패턴 71곳 치환
- /test-card-responsive PoC 검증 페이지

세션 후반 버그 픽스 (phase1-log §7):
- test-card-responsive (main) 그룹 밖 이동 (AppLayout 탭 시스템 회피)
- useRegistryPalette default_size {width,height}/{w,h} 포맷 정규화
- dark: variant 중복 체인 정리

검증: (A) 반응형 메커니즘, (B) TemplateBuilder UI 통과
(C) 기존 VEX 화면은 마이그레이션 미완 상태라 Phase 2 이후 개별 진행

스펙: notes/gbpark/2026-04-10-card-engine-final-spec.md
로그: notes/gbpark/2026-04-10-card-engine-phase1-log.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 03:08:06 +09:00
gbpark 9c36191ebf 중간 세이브 2026-04-10 13:33:37 +09:00
gbpark c6e81c4520 22 2026-04-09 00:39:11 +09:00
gbpark 3dad7fcf4f 11 2026-04-08 21:18:22 +09:00
gbpark 06ab990dbd 진행중 2026-04-08 04:55:12 +09:00
gbpark 4603ac7fd6 디자인 수정 2026-04-08 02:27:27 +09:00
gbpark db8df83b31 node 업그레이드-->25 이전 서버설정 cash문제 해결. 2026-04-08 01:10:59 +09:00
gbpark 9890b906b9 chore(docker): point invyone backend at test_dev instead of vexplor_dev
User confirmed test_dev is the correct database for invyone (the
old TEST-VEX project), matching what the previous mac compose was
using. Same host (211.115.91.141:11134), same credentials, just a
different database name.

Verified end-to-end: real login (POST /api/auth/login from the
browser path) returns 200 with a valid JWT, meaning the full chain
browser → next dev rewrites → backend-spring → HikariCP → test_dev
works and the user table lookup + password check both pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 23:45:27 +09:00
gbpark 276e338b0e fix(frontend): use relative API URL so browser works from any host
NEXT_PUBLIC_API_URL was hardcoded to http://localhost:8083/api which
gets baked into webpack bundles at build time. NEXT_PUBLIC_* vars
run in the browser, so "localhost" resolves to the *user's own PC*,
not the office host running the container — connect refused for
anyone hitting the site over Tailscale or LAN.

Use a relative URL (/api) and let next dev's rewrites proxy to
SERVER_API_URL (invyone-backend-spring:8081 inside invyone-net).
This way the request always lands on whatever host the browser is
already talking to (localhost / 100.126.230.80 / public domain),
and the Next dev server forwards it to the backend container.

Verified: POST /api/auth/login from browser path returns the spring
controller's 400 response, confirming the full
browser → frontend → backend chain works.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 23:38:01 +09:00
gbpark 00dd9e3a59 fix(frontend): disable standalone + webpackMemoryOptimizations in dev
next dev mode was throwing ENOENT for routes-manifest.json and other
chunk files, leaving /login and other routes permanently 404 after
the first compile. Root cause:

- output: "standalone" is a prod build option; combined with next dev
  it produces chunk paths and manifests that don't match what dev
  expects.
- experimental.webpackMemoryOptimizations evicts compiled modules to
  save memory, but in dev that includes already-served SSR chunks,
  so requests after the eviction window 404 even though the page
  compiled successfully.

Wrap both options in an isDev check so prod build behavior is
preserved while dev no longer self-destructs its own chunks.
Verified on the office Ubuntu invyone-frontend container: /, /login
return 200 and the chunk-loss errors are gone.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 23:32:31 +09:00
gbpark 5bcff2db4d 123 2026-04-07 23:25:25 +09:00
gbpark b7c5262c53 chore: drop backend-node from invyone docker stack
invyone (= old TEST-VEX) is React + Java only; backend-node belongs
to a different project (PMS) and was bundled by mistake. Remove the
backend-node service from docker-compose.invyone.yml, drop the
backend-node.Dockerfile, and clean up the now-unused frontend env
vars that pointed at the node API.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 22:55:22 +09:00
gbpark a3872a271f chore: add unified docker dev stack for invyone (frontend + spring + node)
Adds backend-node.Dockerfile (Node 20-alpine + nodemon) and a single
docker-compose.invyone.yml that brings up all three services on
invyone-net with restart unless-stopped, intended for the office
Ubuntu host. Uses vexplor_dev DB for both backends and exposes
9772 (frontend) / 8083 (spring) / 8082 (node) on the host.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 22:24:20 +09:00
gbpark b994ac7335 chore: ignore CLAUDE.local.md (per-user setup notes)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 21:55:13 +09:00
gbpark b2c52e32b1 test 2026-04-07 18:51:18 +09:00
gbpark c314530dfa chore: ignore Syncthing local marker dirs (.stfolder, .stversions)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 18:39:40 +09:00
gbpark b7f95d3ced chore: split .stignore into shared file for auto-sync
Move ignore patterns to .stignore-shared (syncs across machines).
.stignore becomes a per-machine stub with #include directive.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 18:06:34 +09:00
gbpark 9bef34ccab chore: ignore bin/ output dirs (Eclipse/Java)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 17:29:24 +09:00
gbpark 57ef137831 세팅 2026-04-07 16:53:40 +09:00
gbpark e3fe7b640f 22 2026-04-07 13:39:14 +09:00
gbpark 7669baa171 ]] 2026-04-06 16:34:21 +09:00
gbpark 7c0b8c80fe 123 2026-04-06 15:54:35 +09:00
gbpark de24fb09d5 123 2026-04-06 15:54:31 +09:00
DDD1542 87498b9940 Refactor code structure for improved readability and maintainability 2026-03-31 09:34:54 +09:00
DDD1542 c465141f53 snake_case 통일 작업 중간 저장 - 프론트 완료, 백엔드 쿼리 ID 불일치 수정 전 2026-03-30 12:22:26 +09:00
DDD1542 fc8930778b [agent-pipeline] pipe-20260330021427-v9fb round-3 2026-03-30 11:43:11 +09:00
DDD1542 cbe16aa5e5 [agent-pipeline] pipe-20260330021427-v9fb round-2 2026-03-30 11:35:08 +09:00
DDD1542 b9e3f68fce [agent-pipeline] pipe-20260330021427-v9fb round-1 2026-03-30 11:25:52 +09:00