- 신차에 대한 간략한 소개와 진행하는 이벤트의 설명을 확인할 수 있습니다.
- 신차에 대한 상세한 설명을 볼 수 있는 페이지입니다.
- 선착순으로 퀴즈를 맞추는 이벤트를 진행하는 페이지입니다.
- 소개 페이지와 진행 페이지로 나뉩니다.
- 이벤트 진행 페이지에서 퀴즈를 진행한 후 바로 결과를 확인할 수 있습니다.
- Redis 를 사용해 높은 성능으로 동시성 제어가 가능합니다.
- 신차의 주요 특징을 드로잉 게임을 통해 고객에게 알릴 수 있는 페이지입니다.
- 소개 페이지, 진행 페이지, 결과 페이지로 나뉩니다.
- 소개 페이지에서 점수 랭킹과 자신의 점수를 확인할 수 있습니다.
- 게임 진행 후 일정한 알고리즘에 따라 점수를 산출해냅니다.
- 사용자는 게임 진행 후 결과를 확인하고 이를 링크 공유할 수 있습니다.
- 신차에 대한 기대평을 작성할 수 있는 페이지입니다.
- 고객은 기대평을 작성하거나 타인의 댓글을 확인할 수 있습니다.
- 어드민은 전체 이벤트 참여자와 실제 차량 구매자(가상)을 관리할 수 있습니다.
- 이벤트의 시작 종료 일자를 변경할 수 있습니다.
- 상세 이벤트에서 내용을 변경할 수 있습니다.
- 상세 이벤트의 당첨자 선정과 조회가 가능합니다.
- 각 상세 이벤트의 참여자들을 조회할 수 있습니다.
- 대시보드를 통해 각 이벤트 별 참여자와 실제 구매자(가상)의 비율을 확인할 수 있습니다.
Java 17
Spring Boot 3.3.2
MySQL 8.0
,JPA
,Redis
Github Actions
,AWS CodeDeploy
,AWS S3
,AWS EC2
Swagger 3.0.0
Locust
📄 그라운드 룰
- 퇴근 전 회고
- PR 시 코드 리뷰
- 칭찬 무조건 2가지 이상 ( 코드 외 가능)
- 아쉬운 점 무조건 2가지 이상 (코드 외 가능)
- 월요일마다 주간 리뷰
- 막히는 부분 있으면 페어프로그래밍 하기
- 이슈 (궁금한 점, 모르는 것 등등) 발생 시 위키 기록 후 정리 및 공유
슬랙을 통해 프론트엔드와의 협업을 기록하고 빠르게 대응합니다.
git-flow 사용해 feature
, fix
단위 작업과 release
, hotfix
를 통한 배포를 진행합니다.
Swagger 문서를 최대한 자세히 작성해 프론트엔드와의 협업을 용이하게 합니다. Swagger 에는 각 API 의 설명, 요청 및 모든 응답의 예시가 포함됩니다.
그라운드 룰에 따라 최대한 자세하고 사소한 코드리뷰를 진행하고자 노력했습니다.
Github Action, AWS S3, AWS CodeDeploy 를 활용한 CI/CD 환경 구축
DB 기반, Redis 기반 랭킹 시스템 성능 테스트 및 결론
Redis 기반 대기열 도입으로 트래픽 처리
이벤트 N명 추첨 방식
선착순 부하 시 동시성 문제 분석 및 결과
mysql, redis, batch 작업에 따른 성능 차이를 비교
스레드 풀 개수에 따른 동시 처리 능력 분석