12월, 2023의 게시물 표시

토이 프로젝트 일지 7 : RedKiwi와 유사한 이벤트 스토밍 기반 마이크로 서비스 만들기

이미지
그림 1. 이벤트 스토밍 설계도 그림 2. 프론트엔드 페이지들 1. 시작 계기 플랫폼 비즈니스 교육에서 수행되는 LV2 개인 역량 평가에 제출하기 위해서 어떤 서비스를 만들지 생각하다가 내가 주로 사용하던 RedKiwi라는 영어 학습 앱과 유사한 서비스를 만들면 재밌을 것 같아서 시작했다. 2. 프로젝트 개요 가. 프로젝트 소개 1. 프로젝트 유형: 개인 토이 프로젝트 2. 구현 서비스: RedKiwi와 유사한 영어 학습 서비스 3. 개발 환경: VS Code, Msaez 4. 활용기술     프론트앤드: React, MUI     백엔드 A(Video, Subtitle, ExternalSystemProxy, ReadModel, Gateway) :  Spring-Boot, JPA, MySQL     백엔드 B(ExternalSystem): Flask     구조설계: MSA(E vent Driven Architecture) , CQRS,  SAGA,  Kafka, WebSocket     외부서비스: AWS S3, OpenAI Whisper, DeepL Translate, ChatGPT     빌드 및 배포: EKS 5. 개발 기간: 2023.11.26 ~ 2023.12.26 나. 프로젝트 목표 이벤트 스토밍을 활용해서 RedKiwi 유사 서비스를 개발해서 마이크로 서비스의 다양한 구현 패턴 원리와 관련 매커니즘에 대한 이해를 증진한다. 3. 프로젝트 구현 가. 요구사항 분석 그림 3. 요구사항 분석 RedKiwi 페이지로부터 다음과 같이 총 3개의 주요 요구사항들을 도출했다. 나. 이벤트 스토밍 설계 나-1. 주요 Bounded Context 그림 4. 이벤트 스토밍 Bounded Context(BC) 총 5개의 BC가 존재하며, 각각의 주요 기능 및 역할을 다음과 같다. video: 유저가 업로드한 비디오에 대한 메타정보들을 ...