meta-pixel
백엔드Intermediate

Redis와 Kafka, Spring을 활용한 강아지 인기투표 아키텍쳐 만들기

  • Spring

Redis와 Kafka를 활용한 강아지 인기투표 만들기

thumbnail
- 전) 앱스토어 10위권 인디게임 개발자 - 42서울 비상주멘토 - 멋쟁이사자처럼 초기 운영진

3:1 피드백

넘블 인증서

23.05.15 ~ 23.05.282주
14.05.14 까지
 

딥다이브 호스트를 소개합니다!

📌
이번 딥다이브 호스트는 코딩두부님입니다.
  • 현 네카라쿠배 근무
  • 전) 토스 및 토스페이먼츠 근무
  • 전) 스타트업 CTO
  • 전) 앱스토어 10위권 인디게임 개발자
  • 42서울 비상주멘토
  • 멋쟁이사자처럼 초기 운영진
  • 인프런, 탈잉 등 온라인 강의 게시 (합계 수강생 3천여명)
  • 국내, 미국 특허 출원 및 등록 경험 (국내 등록 3건, 미국 등록 1건, 총 출원건수 7건)
 

넘블러님은 프로젝트만 해요~어필은 넘블이 다 할게요!

📌
딥다이브를 완수하면 이력서에 다음과 같은 내용을 추가할 수 있어요. 넘블에서 프로젝트를 하면 해당과 같은 내용으로 포트폴리오를 자동 완성시켜드립니다!
  • 스프링 부트 프레임워크 사용 경험
  • 카프카를 통한 비동기 이벤트 처리 경험
  • 레디스를 통한 캐시 구현 경험
 

2주 뒤 어디까지 성장할 수 있을까요?

📌
딥다이브를 수행하며 다음의 부분에서 성장할 수 있어요
  • 스프링 부트 프레임워크 사용 경험
  • 카프카를 통한 비동기 이벤트 처리 경험
  • 레디스를 통한 캐시 구현 경험
 

구체적인 딥다이브 내용을 알려드릴게요!

📌
다음의 구현조건을 더 구체화해 제공될 예정이에요!
notion image
notion image
딥다이브 내용이 궁금하시다면~?
현재 구현하는 아키텍처는 광고 시스템, 결제 이벤트 처리 (콜백, 정산 등), 티켓 구매, 선착순 쿠폰 발급 등에서 응용될 수 있는 구성으로 해당 구성을 활용해 볼 수 있는 가장 간단한 형태의 시스템인 인기투표 사이트를 구현해봅니다.
 
구현범위
  • 기본적으로 카프카/레디스/백엔드/DB 4가지 시스템을 필수로 구성한다.
- 카프카와 레디스의 경우 클라우드 컴퓨팅 환경(AWS, GCP 등)을 사용할 경우 리눅스 서버 인스턴스에 직접 설치하고 환경을 설정하여 구성한다.
- 백엔드의 경우 Java/Kotlin 둘 중 어떤 언어로 구현해도 상관없으며, 프레임워크도 Spring Boot로 Rest API를 구현하거나 Spring MVC로 직접 웹페이지와 같이 구현해도 무방하다.
- Rest API로 구현할 경우에는 웹 페이지 구현은 선택적이다.
구현기능
  • 인기투표 대상 목록 조회하는 API 혹은 페이지 (최소 5개 이상)
- 조회 내용에는 인기투표 대상의 정보(명칭, 사진, 설명, 득표수)가 조회
- 조회 데이터는 레디스에 캐시된 데이터가 있으면 레디스 데이터를 가져오고 없으면 DB에서 목록을 불러와서 레디스에 저장하고 응답으로 내려준다.
  • 인기투표 대상 상세 조회 API 혹은 페이지
- 조회 데이터는 레디스에 캐시된 데이터가 있으면 레디스 데이터를 가져오고 없으면 DB에서 목록을 불러와서 레디스에 저장하고 응답으로 내려준다.
  • 투표하기 기능
- 투표 처리는 백엔드에서 카프카로 투표 이벤트를 발생시키고 즉시 클라이언트에 응답을 내려준다.
  • 투표처리 기능
- 카프카 컨슈머를 통해 투표 이벤트를 받으면 DB에 투표 이력을 저장한 뒤 레디스에도 득표수를 업데이트한다.
선택구현
  • 코드 구조를 CQRS형태로 구현해본다.
 
 

아래와 같은 분들께 특.히 추천드려요!

notion image
📌
빠른 시간 안에 집중해서 프로젝트를 통해 성장하고 싶은 당신! 넘블에서 가능합니다!
 
 

가이드라인 통해 제공할 내용이예요!

📌
가이드라인에는 다음과 같은 내용이 담겨요.
  • 예시화면
  • 전체 시스템 구조도
  • 참고링크 및 상세한 구현조건
 
가이드라인은 딥다이브 시작일에 [마이페이지]탭 내 [진행중인 딥다이브]에서 공개돼요!
 

평가방식이 궁금하시죠?

📌
딥다이브 호스트가 심사기준에 맞게 상위 3명을 선별해요
심사기준은 다음과 같아요.
notion image
 
 

운영방법은 다음과 같습니다!

📌
참여자들끼리 함께 하기에 특별한 넘블 딥다이브예요!.
딥다이브는 개인으로 진행 또는 팀으로 진행 모두 가능합니다!
  • 개인 참여일 경우)
    • 딥다이브 시작일에 디스코드에 초대돼요.
    • 참가한 딥다이브 채널에서 #인사이트 공유채널, #qna채널, #weekly scrum 등 디스코드를 통해 다른 참가자들과 프로젝트를 하면서 인사이트를 주고받고, 몰랐던 것을 새로 배우며 성장할 수 있어요.
    • 참여자들끼리 같은 미션을 해결하기에 서로 질의응답하며 성장해요.
    • 참여자들의 결과물은 참여자들끼리 모두 공유해요. 이 때 TOP 3는 피드백과 함께 공유되기에 많은 인사이트를 얻을 수 있어요.
  • 참여일 경우)
    • 원하는 넘블러님들에 한해 팀빌딩을 제공해드려요. 팀원들은 함께 스터디하고 서로의 결과물에 대해 피드백을 주는 동료에요. 단, 함께 결과물을 만드는 것은 아닙니다.
    • 참여자들끼리 주별 목표와 목표달성여부, daily scrum을 올리기에 서로를 보며 자극받고 동기부여돼요.
    • 참여자들끼리 같은 미션을 해결하기에 서로 질의응답하며 성장해요. * 물론 딥다이브 호스트님도 성실히 질문에 답변해주실 거에요
    • 참여자들의 결과물은 참여자들끼리 모두 공유해요. 이 때 TOP 3는 피드백과 함께 공유되기에 많은 인사이트를 얻을 수 있어요. 5) 팀끼리 참여하는 것이다 보니, 팀 운영에 참여는 필수입니다! 딥다이브 기간동안 의지 넘치게 참여해주시길 부탁드립니다!
    • 더 자세한 내용이 궁금하다면?
 

💰 환불 기준

📌
딥다이브 오픈 전날까지는 결제하신 금액 100% 환불 가능합니다. 하지만 딥다이브 오픈당일부터는 환불 불가합니다.
  1. ~ 딥다이브 시작 전날 자정(23:59) 전까지
    1. 환불 100% 가능
  1. 딥다이브 시작날 이후
    1. 환불 불가
    2.  

❓FAQ

  • 딥다이브 결과물을 빨리 만들었어요! 미리 제출해도 되나요?
🔹
물론입니다! 딥다이브 종료 전까지만 결과물 제출해주시면 돼요! 단, 먼저 제출하셔도 가산점은 없습니다!
  • 팀빌딩 기준은 어떻게 되나요?
🔹
넘블 인재풀, 연차, 팀장 선호 여부 등 여러 요건들을 고하여 팀빌딩을 제공해드립니다. 팀빌딩을 희망하시는 분들은 활발한 참여를 부탁드립니다!
  • 제휴권은 무엇인가요?
🔹
제휴권은 저희 넘블과 제휴를 맺은 학교/기관의 학생들에 한해서 사용할 수 있는 할인혜택입니다. 현재는 한양대 컴퓨터소프트웨어학과 학생들과 한국외대 컴퓨터공학부 학생들께 할인혜택을 제공하고 있습니다. 제휴를 맺는 프로세스는 어렵지 않으니, 하단의 채널톡이나 numble.business@gmail.com을 통해 [제휴요청]이라고 보내주시면 담당자가 바로 연락드리겠습니다!
 

상담 운영 시간 : 평일 10:00 ~ 18:00

점심시간 : 평일 13:00 ~ 14:00

주말, 공휴일 휴무

대표자 박유진

상호명 주식회사 피스오브무드

사업자등록번호 735-86-01467

통신판매업번호 2019-서울마포-2170

주소 서울특별시 마포구 아현동 백범로31길 21 4층

Copyright Pieceofmood. All rights reserved