PPDL 쇼핑몰 — Flask 기반 전자상거래 플랫폼 개발기
Python Flask와 MySQL을 활용한 풀스택 전자상거래 쇼핑몰 플랫폼입니다. Toss Payments PG 연동, 카카오 알림톡, 적립금 시스템을 포함합니다.
Python Flask와 MySQL을 활용한 풀스택 전자상거래 쇼핑몰 플랫폼입니다.
Toss Payments PG 연동, 카카오 알림톡, 적립금 시스템을 포함한 완전한 쇼핑몰 솔루션을 구현했습니다.
주요 기능
쇼핑 기능
상품/카테고리 관리
장바구니/주문/결제 (Toss Payments)
적립금 시스템
리뷰/Q&A/위시리스트
관리자 기능
관리자 대시보드
주문 현황 및 배송 관리
회원 관리
알림
카카오 알림톡 연동
주문/배송 상태 자동 알림
기술 스택
Backend: Python, Flask, SQLAlchemy
Frontend: Bootstrap, JavaScript
Database: MySQL
Testing: Playwright (E2E)
Infra: Docker, Nginx, Gunicorn
개발 과정
가장 공을 들인 부분은 결제 시스템 구현입니다. Toss Payments API를 연동하여 신용카드, 계좌이체, 가상계좌 결제를 모두 지원했습니다. 결제 완료 후 재고 감소, 주문 상태 변경, 카카오 알림톡 발송을 트랜잭션으로 묶어 데이터 정합성을 보장했습니다.
두 번째는 E2E 테스트 커버리지입니다. Playwright를 활용해 150개 이상의 E2E 테스트 케이스를 작성하여 결제 플로우, 장바구니, 관리자 기능 등 핵심 기능을 자동으로 검증했습니다.
세 번째는 적립금 시스템입니다. 주문 완료 시 자동 적립, 적립금 사용, 만료 처리 등 복잡한 비즈니스 로직을 안정적으로 구현했습니다.
성과
완전한 전자상거래 플랫폼 구축 및 배포 (ppdl.co.kr)
Playwright 기반 E2E 테스트 150+ 케이스
Docker 컨테이너화로 배포 자동화
회고
1. 결제 시스템은 트랜잭션 처리가 핵심입니다 — 결제와 재고/주문 처리는 반드시 원자적으로 이루어져야 합니다
2. E2E 테스트는 초기에 공을 들일수록 나중에 리팩토링이 편합니다
3. 카카오 알림톡은 한국 쇼핑몰에서 이메일보다 훨씬 효과적인 알림 수단입니다
PPDL 쇼핑몰의 전체 구조와 스크린샷은 포트폴리오 상세 페이지에서 확인할 수 있습니다.
이 프로젝트는 CodeLune에서 개발했습니다.
쇼핑몰, 전자상거래 플랫폼 개발이 필요하시다면 편하게 문의해주세요.