Go to file
SeongHyun Kim d001f82565 feat: pop-card-list-v2 설정 패널 MES 간소화 + Core Binding + 내 작업 표시 모드
MES 고정 구조에 맞게 설정 패널을 간소화하고, 작업상세 내장 모달과
작업자 기반 카드 필터링 기능을 추가한다.
[설정 패널 간소화]
- 3탭(데이터/디자인/동작) -> 2탭(정보/동작)으로 축소
- "정보" 탭: 데이터 소스, 카드 구성, 클릭 동작을 읽기 전용 요약으로 표시
- "동작" 탭: cardClickAction 선택(none/modal-open/built-in-work-detail)
  + 내 작업 표시 + 고급 설정(필터 전 숨김, 기본 표시 수) 유지
- PopWorkDetailConfigPanel을 카드 설정에서 분리
  (작업상세 컴포넌트 자체 설정 패널에서 관리)
[Core Binding 내장 모달]
- cardClickAction="built-in-work-detail" 시 내부 Dialog로
  PopWorkDetail 직접 렌더링, parentRow를 prop으로 전달
- LazyPopWorkDetail dynamic import로 성능 최적화
- in_progress 상태 카드만 상세 모달 열림
[카드 열 수 선택]
- 정보 탭 상단에 1열/2열/3열/4열 버튼 UI 추가
- gridColumns 설정 즉시 반영
[내 작업 표시 3모드]
- 전체 보기: 모든 카드 동등 표시
- 우선 표시: 내 카드 상단 + 다른 카드 비활성화(기존 동작)
- 내 작업만: worker 컬럼 기준 내 카드만 표시, 나머지 숨김
- ownerFilterMode("priority"|"only") 타입 추가, 컬럼 선택 드롭다운
  제거하고 worker 고정 토글로 단순화
2026-03-19 16:09:11 +09:00
.cursor docs: add document sync rule for component and DB changes 2026-03-13 16:02:02 +09:00
ai-assistant fix: update filter handling in data filtering logic 2026-03-12 07:02:22 +09:00
backend/gradle/wrapper feat: Enhance menu and screen synchronization services with new fields 2026-03-04 22:46:02 +09:00
backend-node feat: pop-card-list-v2 설정 패널 MES 간소화 + Core Binding + 내 작업 표시 모드 2026-03-19 16:09:11 +09:00
db feat: Implement process work standard routes and controller 2026-02-24 12:37:33 +09:00
docker Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into gbpark-node 2026-03-05 09:59:23 +09:00
docs docs: add production plan management screen implementation guide 2026-03-13 17:22:27 +09:00
frontend feat: pop-card-list-v2 설정 패널 MES 간소화 + Core Binding + 내 작업 표시 모드 2026-03-19 16:09:11 +09:00
mcp-agent-orchestrator chore: Remove obsolete .classpath file 2026-03-04 15:31:45 +09:00
scripts feat: enhance responsive grid rendering and filter width management 2026-03-12 13:27:01 +09:00
test-output feat: enhance component configuration and rendering 2026-03-12 15:01:05 +09:00
test-results Enhance approval process by adding after approval flow ID to templates and implementing user selection via Combobox in the Approval Request Modal. 2026-03-07 03:02:36 +09:00
.cursorrules docs: update user menu development rules 2026-03-11 16:05:25 +09:00
.gitignore feat: BLOCK MES-HARDEN Phase 0~3 + 공정 흐름 스트립 필/칩 UI 개편 2026-03-18 16:38:22 +09:00
Dockerfile feat: 원본 최신 소스 반영 + NCP Kubernetes 배포 설정 추가 2025-11-10 14:20:10 +09:00
Jenkinsfile feat: 원본 최신 소스 반영 + NCP Kubernetes 배포 설정 추가 2025-11-10 14:20:10 +09:00
PLAN.MD feat(pop-card-list): 3섹션 분리 + 포장 2단계 계산기 + 설정 패널 개편 2026-02-25 17:03:47 +09:00
POPUPDATE.md POP 디자이너 v5 그리드 시스템 통합 및 그리드 가이드 재설계 2026-02-05 14:24:14 +09:00
POPUPDATE_2.md feat(pop): 아이콘 컴포넌트 추가 및 디자이너 UX 개선 2026-02-11 10:41:30 +09:00
README.md chore: Remove obsolete .classpath file 2026-03-04 15:31:45 +09:00
STATUS.md feat(pop-card-list): 3섹션 분리 + 포장 2단계 계산기 + 설정 패널 개편 2026-02-25 17:03:47 +09:00
approval-company7-report.txt Enhance approval process by adding after approval flow ID to templates and implementing user selection via Combobox in the Approval Request Modal. 2026-03-07 03:02:36 +09:00
approval-test-report.txt Enhance approval process by adding after approval flow ID to templates and implementing user selection via Combobox in the Approval Request Modal. 2026-03-07 03:02:36 +09:00
docker-compose.backend.win.yml rest api 액션노드 기능변경 2025-10-13 12:00:41 +09:00
docker-compose.frontend.win.yml feat: Docker 및 스크립트 개선 2026-02-04 13:57:04 +09:00
package-lock.json feat: Enhance BOM management with new header retrieval and version handling 2026-02-26 13:09:32 +09:00
package.json feat: Enhance BOM management with new header retrieval and version handling 2026-02-26 13:09:32 +09:00
pw-runner.mjs [agent-pipeline] pipe-20260305181927-h4x5 round-1 2026-03-06 03:21:42 +09:00
run-current-e2e.sh [agent-pipeline] pipe-20260306194817-rw8w round-1 2026-03-07 05:02:42 +09:00
run-e2e-new-spec.sh [agent-pipeline] pipe-20260309055714-23ry round-3 2026-03-09 17:18:45 +09:00
run-e2e-smoke.sh [agent-pipeline] pipe-20260306183434-ewn8 round-1 2026-03-07 04:09:49 +09:00
run-e2e-spec-test.sh [agent-pipeline] pipe-20260309055714-23ry round-1 2026-03-09 15:51:42 +09:00
run-e2e-test.sh [agent-pipeline] pipe-20260305174856-9ogt round-3 2026-03-06 03:07:00 +09:00
run-playwright-test.sh [agent-pipeline] pipe-20260305172438-s3ut round-1 2026-03-06 02:27:10 +09:00
run-pw.js [agent-pipeline] pipe-20260305181927-h4x5 round-1 2026-03-06 03:21:42 +09:00
run-responsive-e2e.mjs [agent-pipeline] pipe-20260306183434-ewn8 round-2 2026-03-07 04:34:44 +09:00
values_logistream.yaml feat: 원본 최신 소스 반영 + NCP Kubernetes 배포 설정 추가 2025-11-10 14:20:10 +09:00

README.md

WACE 솔루션 (ERP/PLM)

프로젝트 개요

본 프로젝트는 WACE ERP/PLM(Product Lifecycle Management) 솔루션입니다. Node.js + Next.js 기반 풀스택 웹 애플리케이션으로, 멀티테넌시를 지원합니다.

주요 특징

  • 모던 프론트엔드: Next.js (App Router) + TypeScript + shadcn/ui
  • Node.js 백엔드: Express + TypeScript + PostgreSQL
  • 반응형 디자인: 데스크톱, 태블릿, 모바일 모든 기기 지원
  • 멀티테넌시: 회사별 데이터 격리 (company_code 기반)
  • Docker 기반 배포: 개발/운영 환경 일관성 보장
  • 타입 안전성: TypeScript로 런타임 에러 방지

기술 스택

Frontend

  • 프레임워크: Next.js (App Router, Turbopack)
  • 언어: TypeScript
  • UI 라이브러리: shadcn/ui + Radix UI
  • 스타일링: Tailwind CSS
  • 상태 관리: TanStack Query + React Context
  • 아이콘: Lucide React

Backend

  • 런타임: Node.js 20+
  • 프레임워크: Express 4
  • 언어: TypeScript
  • 데이터베이스: PostgreSQL (pg 드라이버)
  • 인증: JWT (jsonwebtoken) + bcryptjs
  • 로깅: Winston

개발 도구

  • 컨테이너화: Docker + Docker Compose
  • 코드 품질: ESLint + Prettier
  • 테스트: Jest + Supertest
  • 백엔드 핫리로드: nodemon
  • CI/CD: Jenkins

프로젝트 구조

ERP-node/
├── backend-node/            # Express + TypeScript 백엔드
│   ├── src/
│   │   ├── app.ts          # 엔트리포인트
│   │   ├── controllers/    # API 컨트롤러
│   │   ├── services/       # 비즈니스 로직
│   │   ├── middleware/      # 인증, 에러처리 미들웨어
│   │   ├── routes/         # 라우터
│   │   └── config/         # DB 연결 등 설정
│   └── package.json
├── frontend/                # Next.js 프론트엔드
│   ├── app/                # App Router 페이지
│   ├── components/         # React 컴포넌트
│   │   ├── ui/            # shadcn/ui 기본 컴포넌트
│   │   ├── admin/         # 관리자 컴포넌트
│   │   ├── screen/        # 화면 디자이너
│   │   └── v2/            # V2 컴포넌트
│   ├── lib/               # 유틸리티, API 클라이언트
│   ├── hooks/             # Custom React Hooks
│   └── package.json
├── db/                     # 데이터베이스
│   └── migrations/        # 순차 마이그레이션 SQL
├── docker/                # Docker 설정 (dev/prod/deploy)
├── scripts/               # 개발/배포 스크립트
├── docs/                  # 프로젝트 문서
├── Dockerfile             # 프로덕션 멀티스테이지 빌드
├── Jenkinsfile            # CI/CD 파이프라인
└── .cursorrules           # AI 개발 가이드

빠른 시작

1. 필수 요구사항

  • Node.js: 20.10+
  • PostgreSQL: 데이터베이스 서버
  • npm: 10.0+

2. 개발 환경 실행

# 백엔드 (nodemon으로 자동 재시작)
cd backend-node && npm install && npm run dev

# 프론트엔드 (Turbopack)
cd frontend && npm install && npm run dev

3. Docker 환경 실행

# 백엔드 + 프론트엔드 (개발)
docker-compose -f docker-compose.backend.win.yml up -d
docker-compose -f docker-compose.frontend.win.yml up -d

# 프로덕션 배포
docker-compose -f docker/deploy/docker-compose.yml up -d

4. 서비스 접속

서비스 URL 설명
프론트엔드 http://localhost:9771 Next.js 사용자 인터페이스
백엔드 API http://localhost:8080 Express REST API

주요 기능

1. 사용자 및 권한 관리

  • 사용자 계정 관리 (CRUD)
  • 역할 기반 접근 제어 (RBAC)
  • 부서/조직 관리
  • 멀티테넌시 (회사별 데이터 격리)

2. 메뉴 및 화면 관리

  • 동적 메뉴 구성
  • 화면 디자이너 (드래그앤드롭)
  • V2 컴포넌트 시스템

3. 플로우(워크플로우) 관리

  • 비즈니스 프로세스 정의
  • 데이터 흐름 관리
  • 감사 로그

4. 제품/BOM 관리

  • BOM 구성 및 버전 관리
  • 제품 정보 관리

5. 기타

  • 파일/문서 관리
  • 메일 연동
  • 외부 DB 연결
  • 번호 채번 규칙

환경 변수

# backend-node/.env
DATABASE_URL=postgresql://postgres:password@localhost:5432/dbname
JWT_SECRET=your-jwt-secret
JWT_EXPIRES_IN=24h
PORT=8080
CORS_ORIGIN=http://localhost:9771

# frontend/.env.local
NEXT_PUBLIC_API_URL=http://localhost:8080/api

배포

프로덕션 빌드

# 멀티스테이지 Docker 빌드 (백엔드 + 프론트엔드)
docker build -t wace-solution .

CI/CD

Jenkins 파이프라인 (Jenkinsfile)으로 자동 빌드 및 배포가 설정되어 있습니다.

코드 컨벤션

  • TypeScript: 엄격한 타입 정의 사용
  • ESLint + Prettier: 일관된 코드 스타일
  • shadcn/ui: UI 컴포넌트 표준
  • API 클라이언트: frontend/lib/api/ 전용 클라이언트 사용 (fetch 직접 사용 금지)
  • 멀티테넌시: 모든 쿼리에 company_code 필터링 필수