Skip to content

devhongsa/Free_Coupon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Free_Coupon

공짜쿠폰 랜덤추첨 서비스

자사의 상품을 홍보하고 싶을때 웹 내에서 쿠폰을 생성하고 등록해 놓으면 소비자들이 주어진 티켓으로 응모를 하고 추첨을 통해 쿠폰을 얻을 수 있는 서비스입니다.
사업자는 쿠폰을 통해 자사의 제품을 대중에게 노출시킴으로써 제품 홍보효과를 얻을 수 있고 사람들은 쿠폰 당첨시 비용없이 제품을 소비할 수 있습니다.


Tech Stack


  • SpringBoot

  • Spring Security

  • Mysql

  • Redis


Service Flow


service-flow


API 기능


공동 API

  • 회원가입/로그인 : 파트너/일반유저의 가입폼이 다름
  • (후순위) 회원정보 수정하기 : 정보 수정
  • (후순위) 계정 비활성화
  • 쿠폰 목록 보기 : 응모가능 목록에 올라온 쿠폰들을 보여줌
    • 카테고리별 검색기능 ( 커피/음료, 치킨, 피자, 패스트푸드, 기타외식 .. 등)
    • 검색어로 검색 기능 ( 특정 쿠폰 검색 )

파트너 회원 전용 API

  • 쿠폰 템플릿 생성하기 : 쿠폰 기본 템플릿을 생성, 쿠폰 등록의 편의성과 유연성 제공
  • 템플릿 수정하기 : 템플릿 정보를 수정할 수 있다. 템플릿 정보 중에 수정을 못하는 정보 존재 (쿠폰카테고리, 쿠폰의 가치, 쿠폰 이름)
  • 템플릿 삭제하기 : 템플릿 삭제
  • 템플릿 목록보기 : 쿠폰 템플릿 목록 보기
  • 쿠폰 등록하기 : 템플릿 쿠폰을 쿠폰 응모가능 목록에 올리기, 몇장의 쿠폰을 올릴건지도 선택, (후순위 기능: 같이 올라갈 광고선택)
  • 발급 쿠폰 목록보기 : 파트너가 발급한 QR쿠폰 목록을 보여준다.
  • 쿠폰 정보 확인하기 : 소비자가 가져온 QR 쿠폰 정보를 확인한다(자신이 발급한 쿠폰이 맞는지, 이미 사용된 쿠폰인지, 유효기간이 남았는지 확인)
  • 쿠폰 사용 처리하기 : QR 쿠폰을 사용처리한다.
  • (후순위 기능) 광고 등록하기 : 쿠폰에 붙을 추가광고 이미지나 url링크 등록

일반 회원 전용 API

  • 응모하기 : 쿠폰에 응모하기
  • 당첨쿠폰 목록 보기 : 당첨된 쿠폰 목록을 볼 수 있다
  • (후순위 기능) 응모취소하기 : 응모취소
  • (후순위 기능) 광고보기 : 해당 쿠폰의 광고를 보면 티켓소모없이 응모가능

Admin 전용 API

  • (후순위 기능) : 당첨된 유저에게 당첨소식을 알리는 기능 (휴대폰번호 혹은 이메일로 알림)

ERD


free-coupon-erd

  • User : 일반 유저 테이블
  • Partner : 파트너 유저 테이블
  • Coupon_Template : 파트너의 쿠폰템플릿 테이블. 파트너가 쿠폰 템플릿을 만들어놓으면 템플릿을 사용해서 쿠폰 재등록시 편의성을 제공
  • Coupon_Feed : 파트너가 쿠폰을 등록하면, 응모가능 쿠폰 목록에 등록되게 됨.
  • Coupon_Qr : 쿠폰 추첨이 완료되면 QR쿠폰이 생성되고 당첨된 유저의 쿠폰당첨목록에 쿠폰정보가 보여지게 됨.
  • Feed_Participant : 회원들이 어떤 피드에 응모를 했는지에 대한 데이터 테이블

문제 해결 과정


  1. 값 컬렉션 저장 문제 (converter 사용)

  2. 연관관계 물리적 FK 문제 (N+1 문제)

  3. 쿠폰 사용 처리 문제 (uuid 사용)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages