새로운 소비 트렌드를 반영하여 낭비를 최소화하는 기프티콘 전문 중고거래 플랫폼으로, 사용하지 않거나 만료가 임박한 기프티콘을 판매하고 저렴한 가격으로 구매할 수 있는 환경을 제공하는 서비스 플랫폼
전체 프로토타입 -> 카카오 오븐 UI
- 판매
- 등록 / 삭제
- 목록 / 총 판매 금액 조회
- 구매
- 가격별 / 유효기간 별 조회
- 구매 내역 조회(최근 구매순 || 만료 임박순)
- 구매하기
- 구매 확정
- 회원
- 회원 가입 / 로그인 / 로그아웃
- OAuth 로그인 (카카오﹒네이버)
- 비밀번호 찾기 및 변경
- 상품 좋아요
- 계좌 등록
자세한 UseCase 👉 Use Case (wiki)
- GitHub Actions을 활용하여 CI/CD 구축
- Git Submodule을 도입하여환경 변수 관리의 유지보수성 향상 및 보안 강화
- 외부 호출 라이브러리 비교 및 적용 👉 해당 블로그
- Spring Security를 사용하지 않고 직접 OAuth 로그인을 구현하여 유연성, 테스트 용이성 향상 👉 구현 과정
- MyBatis에서 insert 성공 시 1을 반환하는데, 자동증가된 id를 얻기 위해 생성된 객체애서 반환한 id를 효과적으로 활용 👉 해당 블로그
- 이메일 인증이 5초 이상 소요되는 문제를 해결하기 위해 인증과 회원가입을 분리하고, 인증 기능을 비동기로 개선하여 신속한 회원가입 가능
- 좋아요 기능에 대한 두 가지 고민
- 좋아요와 취소 기능을 하나의 메서드(토글 형식)에서 두 메서드로 분리하여 코드의 가독성, 유지보수성 그리고 테스트 용이성 증가
- 좋아요 취소 시 isFavorite 칼럼을 false로 변경하는 대신 데이터를 삭제하여 데이터 일관성을 유지하며 불필요한 보관을 생략함으로써 DB 용량 절약
- 데이터 액세스 계층에 맞는 레이어드(계층) 비교 및 적용 👉 해당 블로그