수습평가 발표
티맥스와플, PL2-1팀 / 정동환
목 차
Wapl/core – 계층 구조 학습 및 번들링 최적화
- Model/Repo/Store로 구현되어 있는 프로젝트 구조 학습
- lodash에서 트리셰이킹을 지원하는 lodash-es로 의존성 변경
- webpack, react-virtuoso 등 필요 없는 의존성 삭제
- yarn-deduplicate로 중복된 모듈 의존성 제거
3
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
설정창 – 배달공제회 이용약관
4
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
설정창 – 배달공제회 이용약관
- Word 문서로 이용약관을 전달받고 HTML로 변환
- 각 조항을 Title + (text or table ui) 배열로 이루어진 객체로 정의
- 이용약관을 조항들의 배열로 변환해서 렌더링
=> 하루라는 제한 시간안에 마감 완료
5
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
설정창 – 배달 공제회 연락처 관련 설정
6
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
설정창 – 개인정보 변경 페이지 화면
7
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
설정창 – 개인정보 변경 유효성 기획
8
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
설정창 – RHF + Zod
React-hook-form
Zod
9
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
설정창 – 유효성 검사, 폼 상태 관심사 분리(zod)
Before
- React-hook-form이 form 상태와 유효성 검사를 모두 관리
- 만약 회원가입과 같은 input이 많은 폼이라면?
10
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
설정창 – 유효성 검사, 폼 상태 관심사 분리(zod)
After
- 유효성 검사는 zod에게 위임
- React-hook-form은 폼상태만 관리
11
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
설정창 – 그 외 이슈
포스코 설정창
- safari 브라우저에서 input에 focus했을때 줌인 되는 버그 수정
- BI사 요청으로 배달기사용 설정 페이지에서 근무지 조회되는 기능 추가
- 비밀번호 변경 api 변경사항 core 및 shell에 반영
배달공제회 설정창
- 성별, 생년월일이 undefined로 보여지는 버그
- api에서 성별, 생년월일을 응답으로 주지 않기 때문에 발생하는 문제
- 추후 api 개발자에게 문의 필요
- 응답이 없을 시 ‘선택 안됨’, 빈 텍스트로 보여주도록 수정
- 휴대폰 표시 형식 수정
- 공지사항, 차단 유저 관리 기능 존재하는지 기획에 문의
- 공지사항, 차단 유저 관리 기능은 삭제됐다고 답변 수신
12
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
테스팅 – 도입 계기
- 시시각각 변하는 기획
- API 개발을 기다리며 TODO 주석을 달아 놓은 컴포넌트들
- 개발 현재 상황 및 태스크를 파악 어려움
=> 테스트 코드를 작성해서 개발된 기능의 안정성을 높이고 문서화하자
13
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
테스팅 – 사용 라이브러리
vitest
Testing Library
14
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
테스팅 – 설정 파일
15
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
테스팅 – mocking
Mocking
- 모든 것을 테스팅 할 수는 없음
ex) 타 라이브러리
- 타 라이브러리의 함수는 mocking해 호출 여부만 테스트
Mocking 한 것
16
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
테스팅 – 전체 테스트 요약
17
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
테스팅 – createFormattedTime 함수 단위테스트
18
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
테스팅 – 이름 변경 페이지 통합테스트
19
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
테스팅 – 통합 테스트(포스코 이름 변경 Form)
20
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
테스팅 – 아쉬웠던 점 및 보완방법
아쉬웠던 점
RestAPI가 아니라 웹소켓 환경이라 msw를 이용해 실제 네트워크 요청이 잘 가는지 확인하지 못함
보완방법
Cypress나 Playwright로 E2E 테스트
21
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
Wapl/ui – 최신화되지 않은 스토리북
22
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
Wapl/ui – TextField
- TextField의 기본 fontSize 14px에서 16px으로 수정
- 기존: TextField의 타입이 text, search, password일때만 스타일 적용
- email, tel 등 다른 타입일 경우에도 스타일이 적용되도록 수정
23
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
Wapl/ui – storybook 빌드 에러 수정(타입 에러)
24
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
Wapl/ui – storybook 버전 업데이트 및 성능 개선
25
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
계획
슈퍼앱 설정 창 기획 검토 및 개발
다른 팀 이슈 대응
테스트와 린트 등 Gitlab CI 스크립트 추가
26
Copyrightⓒ 2022, TmaxSoft All Rights Reserved.
감사합니다.