한정된 시간, 한정된 수량으로 만나는 특가 전자기기
실시간 트래픽 대응과 상용 수준의 커머스 플랫폼을 경험하는 기술 중심 프로젝트
시간 한정 타임 딜을 지원하는 전자기기 구매 플랫폼
- 희소성과 긴급성을 기반으로 한 마케팅 효과 체험
- 상품 등록, 재고 관리, 타임 딜 이벤트 등 운영 중심 기능 구현
- 트래픽 급증 대응 아키텍처 설계 및 성능 개선 실습
- 캐싱, 비동기 메시징, 대규모 사용자 처리 등 실무형 기술 습득
- 실시간 처리 및 고부하 트래픽에 강한 아키텍처 설계 경험
- 캐싱, 메시지 큐, 동시성 처리 중심 백엔드 실무 역량 강화
- 팀 협업을 통한 문서화·프로젝트 관리·역할 분담 경험
- 유사한 기술적 요구 사항이 있는 프로젝트 설계 및 구현에 응용 가능

- 🔍 상품 검색 및 조회
- ⏱ 타임 딜 기반 특가 상품 제공
- 💳 주문·결제·환불 프로세스
- 🛒 장바구니
- 🔐 로그인, 회원가입, 마이 페이지
- 🛠 상품 및 타임 딜 관리
| 항목 |
사용 기술 |
| Language |
Java 21 |
| Framework |
Spring Boot 3.4.5 |
| Build Tool |
Gradle + Jacoco |
| ORM & Data access |
JPA, Hibernate, Spring Data JPA, QueryDSL 5 (Jakarta) |
| Database |
MySQL, Redis (Docker), S3, H2 |
| Messaging |
RabbitMQ |
| 인증 & 인가 |
Spring Security, OAuth2 (Google/Kakao/Naver), JWT |
| API 문서화 |
Spring REST Docs, Swagger UI (OpenAPI 3) |
| 모니터링 & 부하 테스트 |
Actuator, Prometheus, nGrinder |
| 테스트 |
JUnit5, RestAssured, Testcontainers |
| Frontend |
Next.js 15, TypeScript, MUI, Tailwind CSS |
| Infra & DevOps |
AWS EC2, S3, GitHub Actions, Docker |
| 협업 도구 |
GitHub Projects, Figma, Notion, Slack, Discord |


| 단계 |
기간 |
주요 활동 |
| 기획 |
4/21 ~ 4/29 |
주제 선정, 기획안 작성 |
| 설계 |
4/29 ~ 5/3 |
와이어프레임, ERD, API 명세서 작성 |
| 개발 1차 |
5/3 ~ 5/13 |
기능 개발 및 테스트 |
| 배포 설정 |
4/21 ~ 6/1 |
CI/CD 및 서버 배포 |
| 고도화 |
5/14 ~ 6/1 |
기능 개선 및 고도화 |
| 총 개발 기간 |
4/21 ~ 6/1 (6주) |
|
| 항목 |
강웅빈 |
김지수 |
김채은 |
| 역할 |
Backend Leader |
Project Owner |
AWS Administrator |
| 담당 |
- 상품 조회 및 검색
- 쿼리 카운터 개발
- 커스텀 응답 구조 자동 변환
- CI/CD 구축
- 모니터링 시스템 구축
- 서버 관리
- Rest Docs + Swagger UI 설정
- 상품 수정 동시성 처리
|
- 팀 리딩 및 일정 관리
- 프론트엔드 커뮤니케이션 주도
- 주문 내역 조회
- 주문 취소 및 환불
- 주문 상태 변경 스케줄링
- 상품 수정 동시성 처리
- 타임 딜 상태 변경 고도화
|
- 상품 조회, 등록, 수정, 삭제
- CD 구축
- 타임 딜 상태 변경 고도화
- 이미지 업로드 고도화
- AWS 관리
- AWS 사용 현황 문서화
|
| 항목 |
소진영 |
이현지 |
한지성 |
| 역할 |
Team Member |
Team Member |
Team Member |
| 담당 |
- 로그인 및 회원가입
- 시큐리티 설정
- 결제 프로세스
- 마이 페이지
- 공통 예외 처리
- 인증 코드 이메일 발송
- S3 전송 비동기 처리
- 분산 락 AOP 적용
|
- 타임 딜 생성
- 타임 딜 조회 및 검색
- 타임 딜 상태 변경 고도화
- 상품 조회 쿼리 튜닝
- 문서화 및 발표 자료 준비
|
- 장바구니
- 상품 이미지 업로드
- 상품 조회 쿼리 튜닝
- 문서화 및 발표 자료 준비
- 이슈 템플릿 관리
|
# 1. 리포지토리 클론
git clone https://github.com/prgrms-web-devcourse-final-project/WEB4_5_AnjolinaJelly_BE.git
# 2. `.env` 파일 작성 (루트 디렉토리)
MYSQL_DEV_PASSWORD=
MYSQL_TEST_PASSWORD=
...
# 3. `application-secret.yml` 파일 작성 (src/main/resources)
spring:
datasource:
username: ...
password: ...
rabbitmq:
username: ...
password: ...
jwt:
secret: ...
...
# 4. 도커 실행
docker-compose -f docker-compose.dev.yaml up -d