← 포트폴리오 목록

미술품 큐레이션 마켓플레이스

작가가 작품을 등록하고 관리자 승인을 거쳐 노출되며, 구매자가 모바일 웹에서 갤러리를 탐색하고 전자결제로 구매하는 이커머스형 미술품 마켓플레이스 MVP를 React 18 + PHP(Laravel) 기반으로 구현합니다.

필터 상태 URL 동기화 갤러리 구현필터 조건을 쿼리 파라미터로 관리해 공유 가능한 탐색 링크와 브라우저 뒤로가기를 지원하는 구조를 설계합니다
PG 결제 트랜잭션 상태 머신 설계결제 요청·승인·실패·재시도를 명시적 상태로 관리하는 트랜잭션 흐름을 구현합니다
다단계 작가 등록 폼 아키텍처 구축React Hook Form 기반 단계별 유효성 검증과 이미지 업로드를 결합한 등록 플로우를 설계합니다
서비스 타입Web
업종이커머스
기술 스택
React 18TypeScriptTailwind CSSPHPLaravelPostgreSQLRedisCapacitor
주요 기능
  • 작품 갤러리 탐색
  • 작품 상세 및 전자결제
  • 작가 등록 및 작품 업로드
  • 마이페이지 및 주문 내역
Overview

프로젝트 개요

범위: 개발, 디자인, 기획

작가가 작품을 등록하고 관리자 승인을 거쳐 노출되며, 구매자가 모바일 웹에서 갤러리를 탐색하고 전자결제로 구매하는 이커머스형 미술품 마켓플레이스 MVP를 React 18 + PHP(Laravel) 기반으로 구현합니다. 미술품 판매 특성상 디자인 완성도를 최우선으로 고려해 여백과 이미지 중심의 갤러리형 UI/UX를 설계합니다.

작업 범위

  • 작품 갤러리 탐색: 구매자가 작가·카테고리·가격대·사이즈별로 작품을 필터링하며 갤러리 그리드에서 탐색합니다
  • 작품 상세 및 전자결제: 작품 상세 정보를 확인한 구매자가 PG사 REST API 연동으로 전자결제를 진행합니다
  • 작가 등록 및 작품 업로드: 작가가 모바일 웹에서 회원가입 후 작품 정보와 이미지를 등록해 관리자 승인을 요청합니다
  • 마이페이지 및 주문 내역: 구매자가 프로필, 주문 내역, 관심 작품을 마이페이지에서 관리합니다

주요 업무

  • 작품 갤러리 탐색 화면: 필터 레일 + 반응형 카드 그리드 + 카드 클릭 시 퀵뷰 drawer 구조로 구현, 무한 스크롤과 결합
  • 작품 상세 및 전자결제 화면: 결제 요청/승인/실패 상태를 관리하는 트랜잭션 상태 머신과 결제 실패 재시도 흐름을 구현
  • 작가 등록 및 작품 업로드 화면: 다단계 등록 폼 + 이미지 업로드 + 승인 상태 추적 UI로 구현
  • 마이페이지 및 주문 내역 화면: 주문 상태별 필터링 + 관심 작품 리스트 + 프로필 수정 폼으로 구성
미술품 큐레이션 마켓플레이스
요구사항 정의

프로젝트 핵심 과제

프로젝트 진행 시 해결한 핵심 기술 과제입니다.

고해상도 미술품 이미지의 로딩 성능과 갤러리 디자인 완성도를 함께 고려한 이미지 최적화 전략 설계

작가 등록부터 관리자 승인까지 이어지는 상태 전이 로직을 일관되게 관리하는 설계

PG사 결제 승인과 주문 상태 동기화 시 네트워크 실패 상황의 트랜잭션 정합성 보장

모바일 웹과 Android 패키징 간 동일한 UX를 유지하기 위한 반응형 레이아웃 설계

구현 내용

핵심 기능 상세

핵심 기능 1

작품 갤러리 탐색

구매자가 작가·카테고리·가격대·사이즈별로 작품을 필터링하며 갤러리 그리드에서 탐색합니다. 필터 레일 + 반응형 카드 그리드 + 카드 클릭 시 퀵뷰 drawer 구조로 구현, 무한 스크롤과 결합.

  • React Query로 작품 목록 서버 상태를 캐싱하고 staleTime을 분리 설정
  • Intersection Observer 기반 무한 스크롤 + 이미지 lazy loading 적용
  • 필터 조건(작가/카테고리/가격대)을 URL 쿼리 파라미터와 동기화해 공유 가능한 탐색 상태 구현

필터 상태를 URL과 동기화하는 구조로 검색 결과 공유와 뒤로가기 탐색을 자연스럽게 지원합니다

작품 갤러리 탐색
작품 갤러리 탐색 실제 화면
핵심 기능 2

작품 상세 및 전자결제

작품 상세 정보를 확인한 구매자가 PG사 REST API 연동으로 전자결제를 진행합니다. 결제 요청/승인/실패 상태를 관리하는 트랜잭션 상태 머신과 결제 실패 재시도 흐름을 구현.

  • 포트원(아임포트) 계열 PG REST API 연동 구조로 결제 요청·검증 흐름 설계
  • 결제 상태(대기/승인/실패/취소)를 관리하는 상태 머신 구현
  • 결제 실패 시 사유별 안내와 재시도 플로우 설계

PG 응답을 서버에서 재검증하는 구조로 결제 위변조를 방지하는 흐름을 설계합니다

작품 상세 및 전자결제
작품 상세 및 전자결제 실제 화면
핵심 기능 3

작가 등록 및 작품 업로드

작가가 모바일 웹에서 회원가입 후 작품 정보와 이미지를 등록해 관리자 승인을 요청합니다. 다단계 등록 폼 + 이미지 업로드 + 승인 상태 추적 UI로 구현.

  • 다단계(Step) 등록 폼 상태를 React Hook Form으로 관리하고 단계별 유효성 검증 적용
  • 작품 이미지 업로드 시 클라이언트 사이드 리사이징 후 스토리지 업로드 구조 설계
  • 승인 상태(대기/검토중/승인/반려)를 폴링으로 작가에게 노출

이미지 업로드 전 클라이언트 리사이징으로 업로드 대역폭을 고려한 구조를 설계합니다

작가 등록 및 작품 업로드
작가 등록 및 작품 업로드 실제 화면
핵심 기능 4

마이페이지 및 주문 내역

구매자가 프로필, 주문 내역, 관심 작품을 마이페이지에서 관리합니다. 주문 상태별 필터링 + 관심 작품 리스트 + 프로필 수정 폼으로 구성.

  • 주문 내역을 상태(결제완료/배송준비/완료)별로 필터링하는 탭 UI 구현
  • 관심 작품(위시리스트) 로컬 상태와 서버 동기화 구조 설계
  • 프로필 수정 폼에 낙관적 업데이트(Optimistic UI) 적용

위시리스트를 로컬 상태와 서버 상태로 이중 관리해 오프라인에서도 즉시 반응하는 UI를 설계합니다

마이페이지 및 주문 내역
마이페이지 및 주문 내역 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

요구사항 분석 및 ERD 설계 · 2026.09

작가·작품·주문·정산 테이블 설계, PostgreSQL 스키마 정의 및 관계 매핑

STEP 2

Laravel 기반 API 및 결제 연동 개발 · 2026.09

작품 CRUD·주문·PG 결제 REST API 구현, 결제 상태 머신 설계

STEP 3

React 갤러리 UI 및 작가 등록 플로우 개발 · 2026.09

갤러리 그리드·퀵뷰·작가 등록 다단계 폼 등 18~22개 화면 구현

STEP 4

Android 패키징 및 통합 테스트 · 2026.09

Capacitor 기반 Android 앱 패키징, 크로스 브라우저·모바일 통합 검증

프로젝트 성과

주요 성과

필터 상태 URL 동기화 갤러리 구현필터 조건을 쿼리 파라미터로 관리해 공유 가능한 탐색 링크와 브라우저 뒤로가기를 지원하는 구조를 설계합니다
PG 결제 트랜잭션 상태 머신 설계결제 요청·승인·실패·재시도를 명시적 상태로 관리하는 트랜잭션 흐름을 구현합니다
다단계 작가 등록 폼 아키텍처 구축React Hook Form 기반 단계별 유효성 검증과 이미지 업로드를 결합한 등록 플로우를 설계합니다
Capacitor 기반 Android 패키징 구조 설계모바일 웹 코드베이스를 그대로 Capacitor로 패키징해 Android 앱 빌드 파이프라인을 구축합니다
Highlights

기술적 주안점

  • 필터 상태를 URL과 동기화하는 구조로 검색 결과 공유와 뒤로가기 탐색을 자연스럽게 지원합니다
  • PG 응답을 서버에서 재검증하는 구조로 결제 위변조를 방지하는 흐름을 설계합니다
  • 이미지 업로드 전 클라이언트 리사이징으로 업로드 대역폭을 고려한 구조를 설계합니다

유사한 프로젝트를 기획하고 계신가요?

FIRSTPIP이 개발 범위와 로드맵을 함께 정리해드립니다

무료 상담 시작하기