쿠폰 서비스
API
카테고리 : 쿠폰 서비스
API
개요
- 이 프로젝트는 쿠폰 서비스를 위한 REST API를 구현하는 것을 목적으로 합니다. 쿠폰 조회, 발급, 그리고 사용 등의 기능을 제공합니다. 또한, HTTPS 프로토콜과 암호화 기술을 이용하여 보안적인 측면에서 안전한 서비스를 제공합니다.
- 기간: 2019.08 ~ 2021.04
- 인원: 2명
기술 스택
- Spring4.1.4
- JAVA 1.7
- PostgreSQL-PPAS
- MyBatis
- Jenkins
- RUNDESK
- NEXUS
- SVN
기술적인 부분
- API 보안 : HTTPS 프로토콜과 SSL 인증서를 이용하여 보안을 강화합니다.
- 데이터 암호화 : 사용자 정보와 쿠폰 정보를 AES 암호화를 이용하여 보호합니다.
- 빌드 및 배포 : Jenkins를 사용하여 CI/CD 환경을 구축합니다. 코드의 빌드와 배포를 자동화하여 개발자들의 효율성을 높이고, 안정적인 서비스 운영을 위해 노력합니다.
- 데이터베이스: PostgreSQL-PPAS를 사용하여 관리자 페이지의 데이터베이스를 관리합니다.
- ORM: MyBatis를 사용하여 데이터베이스와 상호작용하고 SQL문을 처리합니다.
- 저장소: Nexus를 사용하여 관리자 페이지의 의존성 관리 및 배포를 관리합니다.
- UI/UX: JSP와 JavaScript, jQuery를 사용하여 사용자 경험을 최적화합니다.
- 서버 관리: Rundeck를 사용하여 서버를 관리하고 작업을 자동화합니다.
기능 요약
- 쿠폰 조회 API
- 쿠폰 단건 조회 API
- 쿠폰 발급 API
- 광고 수신 동의 조회 API
- 광고 수신 동의 변경 API
- 회원 정보 최신화 API
- 휴대폰 결제 내역 PUSH 수신 동의 API
- 결제 및 취소 처리 결과 전송 요청 API
상세 설명
- 쿠폰 조회 API
- 다수의 쿠폰 정보를 조회하는 API
- 쿠폰 ID, 사용자 ID 등을 파라미터로 전달
- 쿠폰 단건 조회 API
- 특정 쿠폰 정보를 조회하는 API
- 쿠폰 ID를 파라미터로 전달
- 쿠폰 발급 API
- 새로운 쿠폰을 발급하는 API
- 사용자 ID, 쿠폰 종류, 유효 기간 등을 파라미터로 전달
- 광고 수신 동의 조회 API
- 사용자의 광고 수신 동의 여부를 조회하는 API
- 사용자 ID를 파라미터로 전달하며, 동의 여부를 반환
- 광고 수신 동의 변경 API
- 사용자의 광고 수신 동의 여부를 변경하는 API
- 사용자 ID와 변경할 동의 여부를 파라미터로 전달
- 회원 정보 최신화 API
- 사용자의 회원 정보를 최신화하는 API
- 사용자 ID와 최신화할 정보를 파라미터로 전달
- 휴대폰 결제 내역 PUSH 수신 동의 API
- 사용자의 휴대폰 결제 내역 PUSH 수신 동의 여부를 조회하고 변경하는 API
- 사용자 ID를 파라미터로 전달하며, 동의 여부를 반환
- 결제 및 취소 처리 결과 전송 요청 API
- 결제 및 취소 처리 결과를 전송 요청하는 API
- 결제 및 취소 요청 시 전달받은 거래 ID와 결과값을 파라미터로 전달
각 API는 REST API로 구현되며, HTTP/HTTPS 프로토콜을 사용합니다. API 호출 시 요청 파라미터와 결과값은 JSON 형식으로 반환됩니다. 또한, API 호출 시 보안을 강화하기 위해 HTTPS 프로토콜을 사용하며, AES 암호화 와 Base64와 같은 인코딩 기술과 Inisafenet (json value)과 같은 JSON 데이터 암호화 기술을 지원합니다. 모든 API는 인증된 사용자만이 호출할 수 있도록 보안 기능이 적용되어 있습니다.
성과
- API를 통해 쿠폰 발급 및 사용, 광고 수신 동의 관리가 간편해졌고, 관리자 측에서는 결제 및 취소 처리 결과를 쉽게 전송 요청할 수 있어 업무 효율성이 향상되었습니다.
- 쿠폰 서비스의 이용률과 만족도가 증가하였습니다.
- 쿠폰 사용 및 발급에 대한 오류 발생률이 감소하였습니다.
- 광고 수신 동의 여부 및 회원 정보가 정확하게 관리됨으로써 개인정보 보호에 대한 신뢰도가 향상되었습니다.
- 휴대폰 결제 내역 PUSH 수신 동의 여부 조회 및 변경이 간편해졌고, 이를 통해 결제 서비스의 이용률이 증가하였습니다.
- 결제 및 취소 처리 결과 전송 요청 API를 통해 관리자는 빠르고 정확한 처리 결과를 확인할 수 있어 업무 효율성이 대폭 향상되었습니다.
- 쿠폰 서비스 API 도입으로 인해 고객들이 보다 간편하고 신속하게 쿠폰 발급 및 사용을 할 수 있어 만족도가 증가하였습니다.
- API를 통해 쿠폰 관리 업무를 자동화함으로써 인력 및 시간을 절약하였습니다.
- API를 통해 정확한 데이터 분석이 가능해져 마케팅 전략 수립에 도움이 되었습니다.
- API를 이용한 서비스 개선 및 고객 의견 반영이 원활해졌습니다.
개선사항
- 기술 스택 : Spring 버전을 최신 버전으로 업그레이드하고, 다양한 라이브러리를 활용하여 API의 기능과 성능을 개선할 수 있도록 합니다.
- 보안 기술 : RSA 암호화 방식 뿐만 아니라, 다양한 보안 기술을 활용하여 API의 보안성을 강화합니다.
- 성능 개선 : API의 성능 개선을 위해 캐싱 기능을 추가하고, DB 조회 수를 줄이는 방식으로 응답 속도를 개선합니다.
- API 문서화 : Swagger나 REST DOC을 이용하여 API 문서화를 진행하여 개발자들이 API의 기능 및 사용 방법을 쉽게 이해할 수 있도록 합니다.
- 모니터링 : API의 모니터링 시스템을 구축하여 서버 상태 및 로그를 모니터링하고, 이를 기반으로 장애 대응 및 개선을 진행합니다.