한정된 시간, 한정된 수량으로 만나는 특가 전자기기
실시간 트래픽 대응과 상용 수준의 커머스 플랫폼을 경험하는 기술 중심 프로젝트
시간 한정 타임 딜을 지원하는 전자기기 구매 플랫폼
- 희소성과 긴급성을 기반으로 한 마케팅 효과 체험
- 상품 등록, 재고 관리, 타임 딜 이벤트 등 운영 중심 기능 구현
- 트래픽 급증 대응 아키텍처 설계 및 성능 개선 실습
- 캐싱, 비동기 메시징, 대규모 사용자 처리 등 실무형 기술 습득
- 실시간 처리 및 고부하 트래픽에 강한 아키텍처 설계 경험
- 캐싱, 메시지 큐, 동시성 처리 중심 백엔드 실무 역량 강화
- 팀 협업을 통한 문서화·프로젝트 관리·역할 분담 경험
- 유사한 기술적 요구 사항이 있는 프로젝트 설계 및 구현에 응용 가능
- 🔍 상품 검색 및 조회
- ⏱ 타임 딜 기반 특가 상품 제공
- 💳 주문·결제·환불 프로세스
- 🛒 장바구니
- 🔐 로그인, 회원가입, 마이 페이지
- 🛠 상품 및 타임 딜 관리
항목 | 사용 기술 |
---|---|
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 |
담당 |
|
|
|
항목 | 소진영 | 이현지 | 한지성 |
---|---|---|---|
역할 | Team Member | Team Member | Team Member |
담당 |
|
|
|
# 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