올리브영 이커머스 관리자 대시보드 - 최신 React 패턴으로 구조화된 코드
- React 18 - 최신 React 기능 활용
- Vite - 빠른 개발 환경
- Tailwind CSS - 유틸리티 우선 CSS 프레임워크
- ESLint - 코드 품질 관리
src/
├── components/ # React 컴포넌트
│ ├── Common/ # 공통 컴포넌트
│ ├── Icons/ # 아이콘 컴포넌트
│ ├── Layout/ # 레이아웃 컴포넌트
│ └── RuleEngine/ # 룰엔진 관련 컴포넌트
├── constants/ # 상수 및 데이터
├── hooks/ # 커스텀 훅
├── styles/ # 스타일 파일
├── utils/ # 유틸리티 함수
└── types/ # TypeScript 타입 정의
- 다크/라이트 모드
- 커스텀 테마 (신스웨이브, 미드나잇, 로즈파인 등)
- CSS 변수를 활용한 동적 테마 전환
- 프로모션 규칙 관리
- 풀필먼트 지정 규칙
- 배송 옵션 규칙
- 리워드 규칙
- Dry Run 테스트 기능
- 키보드 단축키 지원 (⌘K)
- 페이지, 규칙, 기능 검색
- 실시간 검색 결과
npm install
npm run dev
npm run build
npm run lint
npm run lint:fix
- 단일 책임 원칙에 따른 컴포넌트 분리
- 재사용 가능한 공통 컴포넌트
- 명확한 props 인터페이스
useTheme
- 테마 관리useKeyboardShortcuts
- 키보드 단축키 관리- 로직과 UI의 분리
- 기능별 상수 파일 분리
- 타입 안전성 확보
- 유지보수성 향상
- CSS 변수를 활용한 테마 시스템
- Tailwind CSS 유틸리티 클래스
- 반응형 디자인
Sidebar
- 네비게이션 사이드바Header
- 상단 헤더 (검색, 테마, 알림)GlobalSearchModal
- 전역 검색 모달
RuleEnginePage
- 룰엔진 메인 페이지RuleCatalog
- 규칙 목록 관리RuleEditorModal
- 규칙 편집 모달DryRunModal
- 규칙 테스트 모달
PlaceholderPage
- 개발 중 페이지SectionWrapper
- 섹션 래퍼
- 함수형 컴포넌트 사용
- 명확한 props 타입 정의
- 적절한 컴포넌트 분리
- 재사용성 고려
- Tailwind CSS 클래스 우선 사용
- CSS 변수 활용한 테마 시스템
- 반응형 디자인 고려
- 접근성 고려
- 로컬 상태는 useState 사용
- 복잡한 로직은 커스텀 훅으로 분리
- 전역 상태는 필요시 Context API 사용
MIT License