쿠폰 서비스

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의 모니터링 시스템을 구축하여 서버 상태 및 로그를 모니터링하고, 이를 기반으로 장애 대응 및 개선을 진행합니다.

© 2020. All rights reserved.

SIKSIK