-
선착순 쿠폰 발급 프로젝트 개요프로젝트/선착순 쿠폰 발급 시스템 2023. 1. 16. 00:01728x90
개요
새로운 기술들을 접하면서 다양한 토이 프로젝트들을 진행해 보았습니다.
- Python Flask를 활용한 주가 크롤링
- Pyhon을 활용한 Upbit RSI 알림이
- Google Teachable Machine을 활용한 동물 질병 분류 사이트
- Java + Spring으로 로그인 + 게시판 기능 구현해보기
- 싱글 모듈 Java + Spring을 Kotlin 멀티 모듈로 바꾸어 보기
- WebRTC(OpenVidu)를 활용한 운동 화상채팅 플랫폼
- Kotlin-TDD(자동차 경주 게임, 숫자 야구 게임)
- 미디어 스트리밍 서버 구축
이 과정들 속에서 새롭게 배웠던 내용들도 존재하며 여러 프로젝트에 거쳐 공통적으로 적용했던 내용들도 있습니다.
다양한 프로젝트를 진행하며 쌓아온 경험들을 모두 녹여보고자 합니다.
또한 백엔드 개발자에게 가장 어려운 미션인 선착순 시스템을 만들어보고자 합니다.
이때 도메인은 여러 가지 상품이 존재하며 해당 상품을 결제할 때 할인받을 수 있는 쿠폰을 제공하도록 하려고 합니다.
즉, 선착순으로 쿠폰을 발급해주는 시스템입니다.
프로젝트에서 이루고자 하는 목표
- 멀티 모듈 프로젝트 구축에 대한 숙련도를 높이고 groovy 문법및 .yml 파일 구성에 대한 이해 높이기
- 헥사고날 아키텍처로 구성
- 쿠폰 발급 후 만료일자가 지나면 소멸되도록 구성(Spring Batch 모듈 구성)
- 쿠폰 발급 후 사용자에게 메세지 발송(Kafka 모듈 구성)
- CI 도입으로 테스트 통과 및 정해진 포맷으로 통일시켜 github action에 대한 이해도 높이기
- ATDD를 도입한 인수 테스트 적용
- 선착순으로 많은 트래픽이 들어오게 되면 어떻게 대처해야 할지 숙지하기
- 성능 최적화를 위한 부하 테스트 진행
- 성능 최적화를 위한 다양한 방법들 이해하고 적용해보기(캐싱, Master-Slave)
- 누구나 이해하기 쉬운 깔끔한 문서화 진행
- AWS 배포를 진행하며 필요에 따라 k8s, 오토스케일링 등을 적용해보며 이해도 높이기
'프로젝트 > 선착순 쿠폰 발급 시스템' 카테고리의 다른 글
kafka 모듈 구성하기 (0) 2023.04.20 Eventual Consistency란? (0) 2023.04.19 서킷 브레이커 구성하기 (0) 2023.02.28 Client 모듈 구성하기 (0) 2023.02.27 코틀린 멀티모듈 프로젝트 구성하기 (0) 2023.02.23