2026-07-05 Shopify Auto 작업일지입니다. 오늘은 2건의 작업을 진행했습니다.

[프로젝트 전체] 초기 구축

현상/기능

  • 다중 Shopify 계정을 지원하는 매출 수집·조회 샘플 프로젝트 빌드
  • I-UM 템플릿 프로젝트 구조 + `.cursor/rules/ui-style-guide.mdc` 준수
  • 진행 방식 확인 결과: 전체 일괄 빌드 / NextAuth 인증 포함 / n8n은 MCP 생성 + JSON 파일 둘 다 / SQL은 파일만 생성
  • 테이블 · 용도
  • `app_users` · 웹 로그인 사용자 (bcrypt, 기본 admin/admin1234)
  • `app_menu` · 사이드바 메뉴 (대시보드/상점 계정 관리)
  • `shopify_accounts` · 상점(테넌트) 마스터 — 도메인·API토큰·상태
  • `shopify_orders` · 주문/매출 — Shopify Order 전체 필드(스칼라 컬럼 + JSON 컬럼), `account_id` FK, KST 일시, 전 컬럼 COMMENT

작업

  • `src/app/` + `components/`, `components/`
  • `src/app/accounts/` — 상점 계정 관리: 좌측 목록 / 우측 등록 폼 (분할 패널)
  • `src/app/api/accounts/` — GET(목록)/POST(등록, zod 검증, 중복 도메인 409)
  • `src/app/api/orders/` — GET(주문 목록 + 매출 요약)
  • 인증 간소화: // — I-UM의 역할(RBAC)/학원 구조 제거, `mbLevel` 단일 레벨로 단순화
  • 레이아웃: header/sidebar/dashboard-layout/mobile-sidebar에서 dashboardRole 제거, Shopify 브랜딩 적용
  • `package.json` — 프로젝트명 `shopify-auto`, 포트 3200
  • DB 접속/NextAuth 환경변수 정의
  • 검증: `npm run build` 성공, 린트 오류 없음

n8n

  • 워크플로우 "Shopify 매출 수집 (멀티 계정)" MCP로 생성 (ID: `8MB2irUFtAHmg8ot`)
  • 흐름: 매시간 Schedule → MySQL 활성계정 조회 → Loop(batch 1) → HTTP(Shopify Orders, 토큰 DB 동적주입) → Code(KST 변환+account_id 매핑) → IF(빈 응답 스킵) → MySQL Upsert(order_id 기준) → last_synced_at 갱신 → nextBatch
  • `n8n/shopify_transform.js` — Code 노드용 변환 스크립트 파일
  • `n8n/workflow.json` — 수동 임포트용 JSON

삭제(템플릿 정리)

  • I-UM 비즈니스 페이지(1-admission ~ 8-system), actions, rbac/notifications 컴포넌트, ium-* lib/types, prisma 폴더 전체

[프로젝트 전체] codebase-memory 인덱싱

현상/기능

  • codebase-memory-mcp로 Shopify_Auto 프로젝트 인덱싱 및 자동 최신화 설정

작업

  • `index_repository` 실행 — 프로젝트명 `D-ServiceOn-program-Shopify_Auto`
  • 결과: nodes 472, edges 931, status `ready`
  • 아티팩트: `.codebase-memory/graph.db.zst` (persistence), `.codebase-memory/artifact.json`
  • 제외 경로: `node_modules`, `.next`
  • MCP 설정 확인: `auto_index = true`, `auto_index_limit = 50000` (이미 활성)
  • Git 변경 시 MCP 백그라운드 watcher가 증분 갱신 수행 (Cursor에서 MCP 서버 실행 중일 때)