Web

WattEver · 배터리 잔존수명 인증 시스템 개발

2023.07 ~ 2023.11·5개월
WattEver · 배터리 잔존수명 인증 시스템 개발 스크린샷 1
WattEver · 배터리 잔존수명 인증 시스템 개발 스크린샷 2
WattEver · 배터리 잔존수명 인증 시스템 개발 스크린샷 3
WattEver · 배터리 잔존수명 인증 시스템 개발 스크린샷 4
WattEver · 배터리 잔존수명 인증 시스템 개발 스크린샷 5
WattEver · 배터리 잔존수명 인증 시스템 개발 스크린샷 6
WattEver · 배터리 잔존수명 인증 시스템 개발 스크린샷 7
01

개요

전기차 배터리의 잔존수명(SOH)을 측정해 인증서 형태로 발급하는 웹 서비스 인증서 발급 요청 → 발급 → 발급 완료 → 조회 4단계 워크플로 운영 일반 사용자뿐 아니라 SK렌터카·SK렌터카(중고차) 등 거래처별 인증서 템플릿을 분리하여 제공 본인인증·결제 게이트웨이·오픈뱅킹 OAuth·Car365 차량 정보 동의 등 외부 시스템과 연동하여 차량 데이터 수집 발급된 인증서는 PDF 문서로 다운로드 가능하고, 파일·인증서 진위 확인 페이지에서 신뢰성 검증 가능 공지·이벤트·FAQ·약관 등 고객 콘텐츠 영역과 마이페이지(결제·배송 내역) 사용자 관리 기능 함께 제공

02

WEB 핵심 작업 내용

  • Next.js 13 (Pages Router) + TypeScript + Tailwind CSS 기반 웹 서비스 구축
  • 인증서 발급 4단계 워크플로 구현 (/manage/certificate/issue · issued · requested · view)
  • @grapecity/activereports 기반 PDF 인증서 뷰어·내보내기 컴포넌트(ReportViewer) 구현
  • 거래처별 인증서 템플릿 분리 (/reports/certificate · certificate-transparent · skrental · skrentercar · [report-id])
  • ApexCharts + 자체 차트 컴포넌트 9종(ChargingCountCircle · Daily · HorizontalBar · HorizontalBubble · HorizontalLine · HorizontalUnit · RadarChart · RadialBar · VerticalBar)으로 배터리 데이터 시각화
  • Battery 그래프 컴포넌트로 배터리 셀 상태 시각화
  • Jotai + jotai-optics(focusAtom) 기반 글로벌 상태를 app·modal·filter·page 4개 도메인 atom으로 슬라이스하여 세밀하게 관리
  • React Hook Form 기반 회원가입·신청·약관 동의 다단계 폼 처리
  • 외부 결제 게이트웨이 콜백 처리 — Next.js API Route에서 EUC-KR 인코딩 응답 디코딩 + 쿼리스트링 파싱
  • OpenBanking OAuth 2.0 authorize 흐름 연동 (계좌 인증)
  • Car365 API 연동으로 차량 정보 제공 동의(insertProvideCarInfo) 처리
  • sharp + Next.js API Route 기반 image-proxy로 외부 이미지 프록시 처리
  • 파일 진위 확인(/file-verification-authenticity)과 인증서 진위 확인(/verification-authenticity) 페이지로 발급물 신뢰성 검증
  • crypto-js + jwt-decode + cookies-next 기반 토큰 관리 및 민감 정보 암호화
  • Framer Motion + Lottie + Swiper 로 메인 페이지·인터랙션 구현
  • React Kakao Maps SDK 로 위치 안내 노출
03

API 및 외부 연동

  • Next.js API Routes 8개 (certificate-callback · certificate · graph · image-proxy · login/getAuthCode · noti-payment · payment · setCookieToken)
  • graph API에서 niceTicks 알고리즘으로 차트 눈금 자동 계산 처리
  • 외부 연동 서비스 모듈 10개 (certificate · payment · openBanking · car365 · vehicle · delivery · customer · announce · user · common)
04

CI/CD

  • Jenkins 파이프라인에서 환경 선택(development/production) 받아 deploy.sh 스크립트로 환경 변수 자동 주입
  • Docker 빌드 후 사내 레지스트리(dev-ciprv.evcert.io:5000)로 푸시 자동화
  • dev-app · prd-app 2개 서버 클러스터(clusterSize=2)로 배포
  • Yarn Berry 3.6.1(PnP) 기반으로 의존성 잠금하여 빌드 환경 일관성 확보
05

기술 태그

#TypeScript#Next.js#React#Tailwind CSS#Jotai#jotai-optics#SWR#React Hook Form#ActiveReports#ApexCharts#Framer Motion#Lottie#Swiper#Kakao Maps#crypto-js#JWT#cookies-next#sharp#lodash#Docker#Jenkins#Yarn Berry
← 이전 프로젝트WattProof · 탈거된 배터리 검사 서비스 개발다음 프로젝트 →피엠그로우 자사 홈페이지 리뉴얼 개발