← 이력서로 돌아가기

PlayDapp MarketPlace

Marketplace 개발팀 · 2020.10 ~ 2022.08
Next.jsTypeScriptReduxTanStack QueryEmotionweb3-react

PlayDapp 생태계의 블록체인 NFT C2C 마켓플레이스 서비스 리뉴얼 및 고도화를 진행했습니다.

주요 과제 및 문제 인식

  • 멀티 체인 분리로 인한 운영 효율성 저하Polygon 마켓과 Ethereum 마켓이 완전히 별도의 프로젝트 구조로 분리 운영되어, 기능 추가 및 유지보수 시 리소스가 2배로 낭비되는 비효율적인 아키텍처였습니다.
  • JS 레거시 환경의 낮은 개발 안정성프로젝트 전체가 JavaScript 기반 CRA(Create React App)로 작성되어 데이터 구조 파악이 어렵고, 신규 기능 추가 시 잠재적 런타임 에러에 쉽게 노출되는 한계가 있었습니다.
  • 글로벌 유저 타겟을 위한 SEO 및 마케팅 확장성 필요마켓플레이스 특성상 검색 엔진 노출(SEO)이 중요했으나 CSR 환경으로 한계가 있었고, 글로벌 IP 협업에 신속히 대응할 유연한 UI 아키텍처가 부재했습니다.

주요 역할 및 성과

서비스 통합 및 리뉴얼

  • Next.js & TypeScript 기반 전면 리뉴얼레거시 JS/CRA 환경을 Next.js·TypeScript·Emotion 스택으로 재구축하여 타입 안정성을 확보하고, SSR 도입으로 검색 엔진 최적화(SEO) 성능 개선
  • 체인 통합 파이프라인 설계별개로 관리되던 멀티 체인 마켓 인프라를 하나의 코드베이스로 통합 관리할 수 있도록 프론트엔드 비즈니스 로직 최적화

NFT 거래 기능

  • NFT Detail 페이지getServerSideProps에서 react-query prefetchQuery로 item detail을 prefetch해 클라이언트에 전달하고, 구매(buy)는 redux에 order 정보를 담아 market SDK 거래 reducer를 호출하며 event state에 따라 modal로 진행 단계를 노출 (불필요한 SDK 재초기화·API 호출 로직 제거)
  • Offer 파이프라인판매(sell)·makeOffer 등록 취소 로직을 useListingCancel 훅(isCancelListing·handleCancelListing 반환)으로 공통화해 반복 코드를 제거하고, My Offers(Offer Table·OfferAccept 모달)로 Offer 승인 기능 구현
  • NFT metadata refreshNFT metadata가 비어 있을 때 useToastMessage 훅(position·duration 옵션)으로 refresh 진행 상태를 안내

인증 및 대외 협업

  • Email 인증 페이지react-hook-form register로 입력 유효성을 검증하고, 인증 결과 페이지는 getStaticPaths·getStaticProps로 결과·에러 값을 동적 라우팅 경로로 받아 렌더링해 페이지별 중복 작성을 제거
  • 대외 협업 (OOZ 티징)IPX(라인프렌즈)와 협업하여 OOZ NFT 티징 페이지를 원페이지 스크롤 UI로 제작 → 신규 유저 유입 확대

© 2026 dan.dev.log, All right reserved.

Built with NextJS