5.4 KiB
Executable File
5.4 KiB
Executable File
2026-03-30 작업일지
오늘 작업
- Ant Design 기반 프론트엔드 프로젝트 초기 구조 생성
docs/worklogs,docs/features문서 폴더 구성- 기본 대시보드 스타일의 시작 화면 작성
- React 19.2.4, Vite 8.0.3 최신 안정 버전으로 업데이트
- 컴포넌트 샘플 구조를
plugins/,samples/,types/,xxxUI.tsx형태로 정리 - 공통 플러그인 제네릭과
plugins<T>(props, pluginList)합성 유틸 추가 status-badge컴포넌트 샘플과 컴포넌트 문서 작성InputUI.tsx단일 컴포넌트 구조와 validation plugin 기반 입력 샘플 추가- 컴포넌트 샘플과 위젯 샘플을 별도 registry로 분리
WidgetShell,ApiSampleCardWidget, 위젯 샘플 레이아웃 추가- 컴포넌트 샘플 레이아웃을 좌측 내비게이션 + 우측 상세 카드 구조로 개편
- 입력 컴포넌트 구조를
primitives / specialized / composite계층으로 재정리 - Git 저장소 초기화,
main브랜치 생성, 원격origin연결, 초기 커밋 생성
이슈 및 메모
- 초기 스택은
React + Vite + TypeScript + Ant Design으로 결정 antd포함 번들 특성상 빌드 시 청크 크기 경고가 발생함- 원격 저장소
push는 HTTPS 인증 정보 부재로 실패 - 샘플 목록은
samples/Sample.tsx기본형과samples/*.tsx확장형을 구분해 관리하기로 함
결정 사항
- 작업일지는 날짜별 Markdown 파일로 관리
- 기능 문서는 기능 단위 Markdown 파일로 관리
- 컴포넌트 문서는
docs/components아래에서 관리 - 컴포넌트 샘플은
samples/Sample.tsx를 대표 샘플로 사용 - 입력 컴포넌트는
InputUI.tsx하나만 두고 기능은 plugin으로 확장 - 입력 패키지는
primitives,specialized,composite역할 기준으로 분리 - 플러그인은 기본적으로 공통 제네릭 타입을 사용하고, 필요 시 커링/팩토리 형태로 확장
- 여러 props 후처리 플러그인은
plugins<T>(props, pluginList)형태로 합성 - 샘플 목록은 같은 컴포넌트 기준으로 묶고
base -> plugin -> feature순서로 정렬
상세 작업 내역
- 프로젝트 부트스트랩 이후 문서 폴더와 샘플 레지스트리를 함께 정리해 이후 확장 기준을 먼저 마련
status-badge,InputUI를 기준 컴포넌트로 삼아 plugin 합성 구조와 샘플 표시 구조를 동시에 검증- 컴포넌트/위젯 샘플을 분리해 API 성격의 문서 화면으로 확장할 수 있는 기본 형태를 준비
- 원격 저장소 연결까지 완료했지만 인증 이슈로
push는 보류 상태로 남음
스크린샷
소스
src/components/status-badge/StatusBadgeUI.tsx,src/components/status-badge/plugins/status-badge.plugin.ts: 상태 배지 기본 UI와 플러그인 합성 구조를 잡아 샘플 갤러리의 기준 컴포넌트로 삼았습니다.src/components/inputs/input/InputUI.tsx: validation plugin 기반 입력 컴포넌트 초안을 잡아 이후primitives / specialized / composite확장의 출발점으로 사용했습니다.src/widgets/core/WidgetShell.tsx: 위젯 본문을 단순 문단이 아니라 자유 레이아웃 컨테이너로 바꿔 카드형 샘플과 대시보드 위젯을 수용하게 했습니다.docs/templates/worklog-template.md: 작업일지 템플릿에 상세 내역, 스크린샷, 소스, 실행 커맨드, 변경 파일 섹션을 추가해 증적 기록 형식을 고정했습니다.
diff --git a/src/widgets/core/WidgetShell.tsx b/src/widgets/core/WidgetShell.tsx
-const { Paragraph, Title } = Typography;
+const { Title } = Typography;
...
- <Paragraph className="widget-shell__content">{children}</Paragraph>
+ <div className="widget-shell__content">{children}</div>
diff --git a/docs/templates/worklog-template.md b/docs/templates/worklog-template.md
+## 상세 작업 내역
+## 스크린샷
+## 소스
+
## 변경 파일 (전체, 중복 제거, KST 기준)
- A .gitignore
- A README.md
- A docs/README.md
- A docs/components/status-badge.md
- A docs/features/project-setup.md
- A docs/templates/feature-template.md
- A docs/templates/worklog-template.md
- A docs/worklogs/2026-03-30.md
- A index.html
- A package-lock.json
- A package.json
- A src/App.tsx
- A src/components/status-badge/StatusBadgeUI.tsx
- A src/components/status-badge/index.ts
- A src/components/status-badge/plugins/index.ts
- A src/components/status-badge/plugins/status-badge.plugin.ts
- A src/components/status-badge/samples/Sample.tsx
- A src/components/status-badge/types/index.ts
- A src/components/status-badge/types/status-badge.ts
- A src/main.tsx
- A src/styles.css
- A src/types/component-plugin.ts
- A tsconfig.app.json
- A tsconfig.json
- A tsconfig.node.json
- A vite.config.ts
## 실행 커맨드
+## 변경 파일
실행 커맨드
npm install
npm run build
git init
git checkout -b main
git add .
git commit -m "feat: initialize antd app and component plugin structure"
변경 파일
README.mddocs/worklogs/2026-03-30.mdsrc/App.tsxsrc/components/status-badge/StatusBadgeUI.tsxsrc/components/status-badge/plugins/status-badge.plugin.tssrc/components/inputs/input/InputUI.tsxsrc/widgets/core/WidgetShell.tsxsrc/styles.csspackage.jsonvite.config.ts

