반려동물 동반 장소·중고거래·커뮤니티·채팅을 한 곳에 모은 통합 서비스입니다. 5인 팀에서 Backend·Infra 역할로 거래 도메인, 이미지 관리, 동시성 문제 분석, 배포 자동화에 기여했습니다.

1. 프로젝트 개요

image.png

항목 내용
프로젝트 WuZuZu — 반려동물을 위한 통합 커뮤니티
기간 2024.03.26 ~ 2024.04.30 (약 5주)
팀 구성 백엔드 중심 5인 팀
담당 역할 Backend API 개발 · 성능 개선 · CI/CD 및 AWS 배포 구성
기여도 25%
직접 기여 범위 거래·주문·찜·카테고리 기능, S3 이미지 공통화, Redis 기반 동시성 처리 실험, GitHub Actions·CodeDeploy 배포 자동화
주요 기술 Java 17, Spring Boot 3.2, Spring Security, JPA, QueryDSL, MySQL 8, Redis, AWS S3·SQS·EC2·RDS·CodeDeploy, GitHub Actions, JMeter

2. 문제 정의와 핵심 기능

반려동물 보호자는 동반 가능한 장소 탐색, 중고 용품 거래, 정보 교류와 산책 모임을 서로 다른 서비스에서 처리해야 했습니다. WuZuZu는 이 경험을 하나의 서비스 안에서 연결하는 것을 목표로 했습니다.

3. 시스템 구조

image.png

사용자
  ↓
React 클라이언트
  ↓ HTTPS / REST / STOMP
Spring Boot API
  ├─ MySQL · JPA · QueryDSL
  ├─ Redis
  ├─ AWS S3 이미지 저장소
  └─ AWS SQS FIFO 주문 메시지
  ↓
GitHub Actions → S3 배포 번들 → CodeDeploy → EC2

애플리케이션 계층은 Presentation–Business–Persistence 흐름으로 역할을 분리했습니다. 외부 저장소와 메시지 큐를 활용해 이미지·주문 처리의 책임을 애플리케이션 서버에서 분리하고, 배포 과정은 저장소의 워크플로 파일과 CodeDeploy 스크립트로 자동화했습니다.

4. 내가 수행한 핵심 작업

4.1 거래 도메인 백엔드 기반 구축