Trend Up은 전자기기 쇼핑몰로 사용자가 필요한 물건을 쉽게 탐색하고, 리뷰와 문의를 통해 신뢰도 높은 물건을 구매할 수 있는 것에 가치를 두고 만들었습니다.
- 서버 : https://github.com/junhyeong00/Trend-up-backend
- 사용자 프론트 : https://github.com/junhyeong00/Trend-up-frontend
- 어드민 프론트 : https://github.com/junhyeong00/Trend-up-admin
- 2022.11.26 ~ 2022.01.20
- 일주일 간격으로 8번의 스프린트를 진행했습니다.
- 상품 카테고리별 조회 및 검색
- 상품 세부 정보 조회
- 상품 장바구니 담기
- 상품 주문 / 결제
- 주문 목록 및 상세 내역 조회
- 리뷰 작성
- 배송상태 조회
- 문의 작성
- 로그인 / 회원가입
- 상품 등록 및 관리
- 문의 답변 작성
- 주문 내역 조회 및 배송 관리
- 대시보드 조회
- Redis 캐시(Cache)를 적용해 조회 성능 50% 개선
- Transactional
구현 이슈
- 서버를 무료 플랜으로 배포하였더니 상품 목록 화면로딩이 느려지는 현상 발생
해결
-
빈번하게 사용되지만 변경이 자주 발생되지 않는 리소스의 조회 요청 성능을 개선하기 위해 Cache 적용
-
쇼핑몰의 특성상 데이터의 일관성이 깨지면 비즈니스에 영향을 주기 때문에 Global Cache 서버를 사용
-
Jmeter를 이용해 부하테스트 진행 → 상품목록 조회 평균속도 50% 개선 (415ms > 206ms)
⇒ 성능 개선 경험을 통해 사용자를 위한 성능적인 측면도 고려하게 됨
- JUnit과 Mockito를 이용한 독립적인 테스트 코드로 비즈니스 로직의 무결성 검증
- 백엔드 프로젝트 테스트 코드 168개 / Line coverage 67%
- Sprint#1
- 프로젝트 기획
- Sprint#2
- 쇼핑몰에서 상품을 확인하고 구매할 수 있다.
- Spring#3
- 쇼핑몰에서 주문한 내역들을 확인할 수 있다.
- Spring#4
- 사용자는 제품에 대한 정보(신뢰도 확인)를 얻기 위해 리뷰를 확인할 수 있고, 다른 사람에게 도움을 주기 위해 구매한 제품에 대해 리뷰를 작성할 수 있다.
- Spring#5
- 사용자는 리뷰 삭제, 수정을 할 수 있고, 장바구니를 이용해 여러개의 상품을 한번에 구매할 수 있다.
- Sprint#6
- 회원은 상품에 대한 문의를 작성할 수 있고 카카오를 이용하여 로그인 및 결제를 할 수 있다.
- 관리자는 상품 등록을 할 수 있다.
- Sprint#7
- 관리자는 상품 관리를 위해 상품 목록에서 상품을 수정,삭제 할 수 있으며, 주문관리에서 상품의 배송상태를 변경할 수 있다.
- 관리자는 작성된 문의에 대한 답변을 작성할 수 있다.