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 서버 실행 중일 때)