Professional experience

한국딥러닝(주)

2023.11 ~ 2024.06

Pov-3d npm 라이브러리 배포 [ 참여 인원 : FE 1 ]

npm: pov-3d

Tech 사용기술 JavaScript, Three.js, npm
배포 Npm
담당업무 3D-veiwer 라이브러리 개발 이슈 및 목표
• 사내 프로젝트 Polyground의 마케팅을 위한 프로젝트
• Polyground에 3D viewer 미리보기 기능 제공
전략
• Three.js 공식문서 참고
• 기존 3D viewer의 github 코드 분석 (https://modelviewer.dev )
성과 (기여도 100%)
• Npm 라이브러리 등록 및 오픈소스 기여
****• 웹 브라우저에서 3D 뷰어를 렌더링 할수 있는 간편한 Script 제공
• 프레임워크 상관없이 javascript를 통해 웹에 적용 가능
****• 3D 모델 파일 적용 기능 제공 (Glb, Obj, Fbx 파일 지원)
• 3D 모델의 색상변경 기능 제공 ( 16진수 색상 코드를 허용)
• 3D 모델의 자동 회전을 활성화기능 제공 (Auto Rotate on/off 가능)
• 3D 모델 브라우저 다운로드 Progress 표시기능 (on/off 가능)

POLYGROUND 서비스 페이지 개발 [ 참여 인원 : FE 2, BE 2, PM 1 ]

POLYGROUND

Tech 사용기술 React + Typescript, Zustand ,React-Query, styled-Components
디자인 패턴, 아키텍처 Layered Architecture
배포 Jenkins
담당업무 PC 웹 서비스 페이지 개발
Axios 인터셉터 구현 이슈 및 목표
• 서비스 이용중에 Token 유효기간 만료 시 로그인이 풀리는 현상 이슈 수정 요청
전략
• 403 Error 발생시 기존 토큰을 사용하여 새로운 토큰을 요청 및 저장하는 Axios 인터셉터를 구현
• 토큰이 필요한 API 요청 시 커스텀 Axios 인스턴스의 메소드를 사용하도록 함
성과 (기여도 100%)
콜백으로 Error 핸들링하는 로직을 제거하여 중복 코드를 Axios 인터셉터 통해 1500 line 이상 제거
레이어드 아키텍처 적용,
Typescript 리펙토링 이슈 및 목표
• Typescript의 type 미지정 코드가 많아 가독성이 떨어지고 코드 안정성이 떨어짐
• 컴포넌트 간에 일관성 있는 데이터 전달과 유지보수 시간 단축
전략
• 레이어드 아키텍처를 적용하여 Data, Domain, Application 레이어로 분리
• 스타트업 특성상 자주 변경되는 서버 데이터의 유연한 대응을 하기위해 아래 방법을 도입
Data 레이어
• API를 요청하는 **API Function** 정의
• Swagger를 참고하여 **Entity**라는 이름으로 API Function의 Return Type지정 

Domain 레이어 • 컴포넌트에서 필요로하는 데이터 Interface를 Model이라는 이름으로 생성 • Entity를 Model로 변환하는 Mapper Function ****정의 Application 레이어 • 컴포넌트 및 Hook, router, 상태관리 정의 • 컴포넌트에서 API Function 호출 후 응답값을 Mapper를 통해 Model을 만들어 사용 성과 (기여도 50%) • 서버에서 내려주는 데이터가 변경되어도 Entity, Mapper 수정작업만 하면 컴포넌트 코드 수정없이 유지보수 가능 (기존대비 15분 이상 단축) | | | Frond-end 페이지 문서화 | 이슈 및 목표 • 본회사에 입사 후 FE 인원이 2명으로 늘어남 • 온보딩 및 인수인계를 받으면서 초기 입사자 관점에서 문서 작성 • FE 협업을 위한 노션 문서화 전략 • 브랜치 관리, 배포방법, Node 버전, PR문서 작성법, Css style 컨벤션 문서화 • 화면 정책 생성 및 업데이트시, 실무진 협의시 항상 문서화 하도록 함 성과 (기여도 80%) • 신규 입사자 온보딩시 불필요한 리소스 감소 • 언제든 히스토리를 파악할 수 있어 협업자 간의 소통 이슈가 없어짐 | | | 마이 페이지 구현 | 이슈 및 목표 • 구매한 3D 모델을 확인 및 다운로드 받을 수 있는 페이지 개발 • 사내 디자이너 퇴사 • 3D 모델 파일 다운로드 API 보안 이슈 전략 • 사내 요구사항과 경쟁사 사이트 마이페이지 레퍼런스 참고하여 직접 디자인 기획 후 UI 구현 • 3D 모델 파일 다운로드 API URL에 일회성 데이터를 삽입하도록 함 • 일회성 데이터를 API를 통해 구매여부 판단 후 전달 받음 • *document*.createElement 를 통해 가상 a태그 생성 • link.herf 에 완성된 3D 모델 파일 다운로드 API URL 삽입 후 link.click() 실행 성과 (기여도 100%) • 사용자 고용량의 3D 모델 파일을 다운받을 수 있다. • 일회성 다운로드 URL을 사용하므로 보안성 확보 | | | 신규 리뉴얼 디자인 적용 | 이슈 및 목표 • 외주 디자이너와 협업을 통해 모든 페이지 신규 디자인으로 적용 • 모바일, 테블릿, PC 를 기준으로 서비스 모든 페이지 반응형 디자인 적용 전략 • FE 작업자(총 2명) 협업시 코드 충돌을 방지하기 위해 Atomic 디자인 패턴 적용 • 페이지별 필요한 atoms, molecules, organism, template를 사전 협의 후 문서 작성 문제 발생 • 3달의 작업시간이 6주로 변경 (사내 이슈로 협의 불가능한 기간) 문제 해결 (기여도 50%) • 기존 비즈니스 로직을 최대한 살리고, 페이지를 나눠 작업하는 방향을 전략 수정 • 페이지 컴포넌트 먼저 생성 후 두번이상 사용되는 공용컴포넌트만 Atomic 디자인 패턴에 맞춰 적용 • 페이지 UI 구현시 최대한 반응형과 동시에 작업 성과 • 6주의 시간안에 모든 페이지 신규디자인 및 반응형 다자인 구현 완료 |

POLYGROUND 백오피스 개발 [ 참여 인원 : FE 2, BE 2 ]

Tech 사용기술 React + Typescript, Zustand, React-Query, styled-Components
디자인 패턴, 아키텍처 Layered Architecture
배포 Jenkins
담당업무 **백오피스 신규 개발을 위한
신규 아키텍처 적용** 이슈 및 목표
• Admin 서비스 신규 생성
• 유지보수가 편한 신규 아키텍처 적용
• 반복되는 UI 영역을 공용컴포넌트로 구현
전략
• 관련부서와 협업하여 직접 요구사항 분석 및 UI 기획
• 레이어드 아키텍처와 React-Query 와 Zustand를 사용하여 신규 아케텍처 적용
Store 레이어
• React-Query 함수 정의
• Zustand Store 정의

Business 레이어 • React의 hook 기능을 사용하여 ViewModel 생성 ****• React-Query를 호출하고 Zustand Store에 업데이트하는 방식 • Zustand Store에 저장된 데이터를 반환 Component 레이어 • ****Business 레이어의 ViewModel을 사용하여 UI 컴포넌트에 데이터를 전달 ex) const { tagId, generalList, onSubmit} = useAssetEditVM(); • React-Hook-Form을 사용하여 공용 컴포넌트 구현 및 적용 • MUI의 DataGrid를 사용하여 리스트 공용 컴포넌트 구현 및 적용 성과 (기여도 50%) • 공용컴포넌트 개발로 신규 개발 속도 향상 • React-Query로 불필요한 API 요청 감소 및 렌더링 속도 향상 • UI 컴포넌트와 비즈니스 로직 코드 분리로 가독성 향상 |

(ex) Professional experience

주식회사 엔코드

2022.03 ~ 2023.09

디코드 - 편리한 명품 쇼핑·해외직구 서비스

디코드 모바일/PC 웹 서비스 페이지 개발 및 유지보수

[ 참여 인원 : FE 5, BE 8, QA 2, PM 2, UI/UX 디자이너 1 ]

Tech 사용기술 React + Typescript, Mobx, styled-Components
디자인 패턴, 아키텍처 MVVM 패턴,Layered Architecture
배포 Jenkins
담당업무 모바일/PC 웹 서비스 페이지 개발 및 유지보수
Analytics 연동 이슈 및 목표
• 사용자 행동 데이터 분석을 위한 **GA4 / GTM 웹 서비스 연동
**전략
****• 마케팅팀과 협업하여 필요한 데이터 추출 여부 확인
Google Tag Maneger 초기 세팅 코드 적용
• 컴포넌트에서 필요한 데이터를 가공, Google Tag Maneger를 통해 필요한 데이터를 전달
성과 (기여도 30%)
**• 프로모션 페이지 진입 사용자 데이터 분석 가능
주소검색 모듈 구현 이슈 및 목표
• Daum API 주소 서버 화재 발생
• 일정 기간 고객이 배송지 주소를 입력 못하는 상황이 발생
전략
행정안전부 API 사용
Dependency Injection 을 활용한 주입식 주소 모듈 구현
• 기존 주소입력창이 제공하는 기능을 모두 재현
성과 (기여도 100%)
• Daum API 주소 서버 이슈가 발생하더라도 행정안전부 API 주소 모듈로 변경하여
주소모듈 이슈 대응 가능해짐
상품 다중 옵션 선택 기능 개발 이슈 및 목표
• LIFE 카테고리 신설로 인해 기존 color, size 고정된 옵션이 아닌 관리자가 지정한 옵션 만큼
설정이 가능해야함
전략
• MD 팀, 디자인팀 과 협의를 통해 명확한 요구사항 도출
• 상품 상세페이지 신규 디자인 적용
• 다중 옵션 선택 UI 반응형 디자인 구현
성과 (기여도 50%)
• 다중 옵션 기능 개발을 통해 구성요소 옵션이 가능해져 핸드폰케이스 , 세트 상품 등 신규 카테고리 상품 판매 가능
신규 디자인 적용 (모바일 / PC) 이슈 및 목표
• 전체 페이지 신규 리뉴얼 디자인 구현
전략
• Figma를 통한 디자인팀과 협업
• 프론트 개발자 4명과 협업
• 페이지별 파트 분리하여 작업
성과 (기여도 25%)
• 상품 상세 페이지, 브랜드 상세 페이지, 프리오더 목록/상세 페이지, 장바구니, 결제페이지 구현

디코드 백오피스 시스템 개발 및 유지보수

[ 참여 인원 : FE 5, BE 8, QA 2, PM 2 ]

Tech 사용기술 React + Typescript, Mobx, Ant-Design, styled-Components
디자인 패턴, 아키텍처 MVVM 패턴, ,Layered Architecture
배포 Jenkins
담당업무 백오피스 시스템 개발 및 유지보수 ****
쿠폰/ 포인트 관리기능 이관 및 고도화 작업 이슈 및 목표
• 레거시 쿠폰/포인트 기능을 3.0 신규 백오피스로 이관
• 운영자는 쿠폰을 발급하여 특정 유저에게 지급 할 수 있다.
• 운영자는 특정사용자에게 포인트를 지급 및 회수 할 수 있다.
전략
• 쿠폰/ 포인트 정책 관련 사업부와 협업하여 요구사항 문서 정리
• 쿠폰 지급방식 선택, 발급대상선택, 대상 상품 선택, 프로모션 코드 생성 기능 개발
• 포인트 지급 대상 선택을 위한 유저검색시 추천 검색기능 구현
• 생성될 쿠폰의 미리보기 기능 개발
• 엑셀을 통한 다중 쿠폰 등록, 다중 포인트 지급/ 회수 기능 개발
성과 (기여도 100%)
• 연 1066회 쿠폰 생성 10만회 이상 포인트 지급
교환/ 반품 관리기능 이관 및 고도화 작업 이슈 및 목표
• 레거시 교환/ 반품 관리기능을 3.0 신규 백오피스로 이관
• CX팀의 업무 처리 시간 개선
전략
• CX팀의 요구사항 협의
◦ 교환/ 반품 접수, 완료, 철회, 재출고 사용 상태별 히스토리 누적 페이지 개발
◦ 엑셀 다운로드 기능 , 일관 주문상태 변경 기능 개발
성과 (기여도 100%)
◦ 교환/반품건 마다 반복된 엑셀 작업이 생략되어 CX팀 업무 처리시간 개선됨
◦ 신규 백오피스 이관 후 S3 서버 관리 비용 감소

우노솔루션