Outfit Fashion Store
AI 가상 피팅 이커머스 플랫폼
웹에이전시 거인소프트가 제작한 한화로보틱스 홈페이지 프로젝트입니다.
"한화로보틱스"의 기업 브랜드 아이덴티티를 반영한 반응형 웹사이트로 제작되었으며
제품 정보 전달과 글로벌 기업 이미지를 강화하는 UI 구조로 설계되었습니다.
Outfit Fashion Store
AI 가상 피팅과 스타일 공유 이커머스 플랫폼
- Next.js 15
- NestJS
- TypeORM
- PostgreSQL
- Toss Payments
- OAuth 2.0
-
ProjectOutfit Fashion Store
-
Period2025 (진행중)
-
TypeFullstack E-commerce Platform
-
Role풀스택 개발 (Frontend + Backend)
- 프로젝트 유형
- Fullstack / 여성 패션 이커머스 플랫폼
- Frontend
- Next.js 15, TypeScript, Tailwind CSS, Radix UI, React Hook Form
- Backend
- NestJS, TypeORM, PostgreSQL, Passport.js, JWT
- 결제 시스템
- Toss Payments SDK 연동 (신용카드, 무통장입금)
- 인증 시스템
- OAuth 2.0 SSO (Google, Naver, Kakao) + JWT + httpOnly Cookie
- 핵심 성과
- 15개 엔티티, 41개 페이지, 실결제 연동 풀스택 플랫폼 구축
Project
Overview
사용자가 AI를 통해 가상으로 옷을 입어보고, 구매 후 Outfitgram에서 자신의 스타일을 공유할 수 있는 여성 패션 이커머스 플랫폼입니다.
기존 온라인 쇼핑의 "입어보지 않으면 모른다"는 불편함을 해결하고, 소셜 로그인부터 실결제까지 실서비스 수준의 풀스택 시스템을 구현했습니다.
Key
Features
• SSO 소셜 로그인: Google, Naver, Kakao OAuth 2.0
• JWT 인증: httpOnly 쿠키 + Token Rotation
• Toss Payments: 신용카드, 무통장입금 결제 연동
• Outfitgram: 스타일 공유 SNS 커뮤니티
• AI 피팅룸: 가상 의류 시착 기능
• 커뮤니티: 공지, 이벤트, Q&A, 리뷰 게시판
Challenge 1 | JWT 토큰 보안 강화
문제: localStorage에 토큰 저장 시 XSS 공격에 취약하여 보안 강화가 필요했습니다.
해결: Access/Refresh Token 모두 httpOnly 쿠키에 저장하고, secure: true, sameSite: 'strict' 옵션으로 CSRF를 방지했습니다. Token Rotation으로 Refresh 시 새 토큰을 발급합니다.
Challenge 2 | OAuth 콜백 처리 통합
문제: Google, Naver, Kakao 3개 소셜 로그인의 콜백 처리 로직이 중복되어 유지보수가 어려웠습니다.
해결: 동적 라우트 [provider]를 활용한 통합 콜백 페이지를 구현하고, 백엔드에서 provider별 Passport 전략 패턴을 적용하여 코드를 정규화했습니다.
Challenge 3 | Toss Payments 결제 금액 불일치
문제: PostgreSQL DECIMAL 타입이 string으로 반환되어 결제 금액 비교가 실패하는 문제가 있었습니다.
해결: Number() 변환 후 비교하도록 수정하고, 프론트엔드/백엔드 금액 계산 로직을 통일했습니다. 상세 로깅 추가로 디버깅 용이성을 확보했습니다.
What I Learned | 배운 점
• 풀스택 아키텍처: Next.js App Router + NestJS 모듈 기반 책임 분리
• OAuth 2.0: 소셜 로그인 프로토콜의 동작 원리 및 구현 방법
• 결제 시스템: Toss Payments API 통합과 트랜잭션 상태 관리
• JWT 보안: httpOnly 쿠키, Token Rotation 베스트 프랙티스











