구부의 메인 페이지에서 구독 추가, 자신이 추가한 구독 목록을 간단히 살펴볼 수 있습니다.
또한 검색, 알림, 로그아웃 등의 기능도 사용할 수 있습니다.
#1 메인페이지
사용자는 자신이 구독 중인 플랫폼을 등록하여 구독 정보를 빠르게 확인할 수 있습니다.
•
사용자는 구독 플랫폼, 결제 주기, 결제일, 결제 수단 등을 한눈에 파악할 수 있습니다.
•
구독 시작일, 계정 ID/PW 등 추가적인 정보는 상세 보기 옵션을 통해 확인할 수 있습니다.
Redis를 활용하여 빠른 조회가 가능합니다.
•
Database에서 직접 조회하는 것보다 빠른 Redis 캐시를 활용했습니다.
•
Look-Aside 캐시 전략을 통해 캐시에서 먼저 조회 후 캐시에 데이터가 없을 시, Database에서 가져오도록 설정했습니다.
•
응답속도 300ms로 목표를 달성하기 위해 성능 테스트를 진행했습니다.
#2 구독 추가 페이지
해당 서비스에서 제공하는 플랫폼의 구독 추가 가능
•
사용자는 자신의 구독 서비스 목록에 새로운 구독 서비스를 추가할 수 있습니다.
•
구독 추가 시, 구독 중인 플랫폼, 결제금액, 구독 시작일, 결제 수단, 결제 주기, 구독 계정 정보를 입력합니다.
•
플랫폼의 계정 정보는 확인할 수 있도록 양방향 암호화를 사용하여 저장하도록 설계했으며, 저장 여부는 선택할 수 있습니다.
결제 시작일과 결제 주기를 기반으로 다음 결제일을 자동으로 계산합니다.
•
사용자는 이 기능을 통해 다음 결제일을 쉽게 확인할 수 있으며, 결제일이 변경될 때마다 수동으로 수정할 필요가 없습니다.
•
구독 목록에서 다음 결제일을 바로 확인할 수 있어, 사용자에게 편의성을 제공합니다.
이번 달 결제 금액을 안내합니다.
•
구독하는 플랫폼의 이번 달 가격을 합산하여 총금액을 안내하고 있습니다.
•
금액 정보는 History 테이블에 저장하여 월별 가격을 확인할 수 있습니다.
라이브러리 | 도입이유 |
Scheduler
(결제일 주기계산) | 결제일이 다가오면 해당 정보를 업데이트하기 위해 Scheduler라이브러리를 활용하였습니다. 이 라이브러리를 사용하여 매일 자정(00시)에 결제일을 확인하고, 데이터가 업데이트하도록 시스템을 구축했습니다. 날짜와 관련된 정보는 매일 한 번씩만 업데이트하면 되므로, Scheduler를 통해 이 작업을 자동화함으로써 효율성을 높이고, 사용자가 놓치는 결제가 없도록 관리할 수 있게 되었습니다, 이러한 이유로 Scheduler 라이브러리를 도입하여 결제일 관리 기능을 구현하였습니다. |