-
Notifications
You must be signed in to change notification settings - Fork 1
Report
LastCoder_NAM edited this page Apr 24, 2025
·
2 revisions
- 이번 프로젝트에서는 시간 자체를 화폐처럼 활용하여 서로 도움을 주고받는 신개념 플랫폼인 ‘타임뱅크(Time Bank)’ 시스템을 개발하는 것이 목표입니다.
- 타임뱅크는 경제적·물리적 제약 없이 사람들 간의 서비스 거래가 가능하도록 ‘시간’을 거래 단위로 활용하는 플랫폼입니다. 이 과정에서 우리는 사용자 간의 신뢰 구축과 시간 거래의 무결성 관리, 효율적인 매칭 시스템 구현이라는 복잡한 과제를 만나게 됩니다. 따라서 이번 프로젝트는 MSA(Microservices Architecture) 기반으로 시스템을 설계하고 구현하여, 서비스 간 유연성과 확장성을 높이고, 다양한 기술과 방법론을 적용할 예정입니다.
- 실제 실무에서는 사용자 간 거래에서 발생할 수 있는 다양한 예외 상황과 서비스 간 데이터 연동 문제를 지속적으로 고민하고 해결해야 합니다. 본 프로젝트에서는 팀원들과 협력하여 사용자 관리 서비스, 시간 포인트 관리 서비스, 거래 및 매칭 서비스, 알림 및 리뷰 관리 서비스 등을 각각 독립된 마이크로 서비스로 구성하고, 이들 간의 API 연동과 데이터 무결성 유지를 중점적으로 학습하고 구현할 것입니다. 이를 통해 서비스 간 신뢰성 있는 통신 방법과 API 변경으로 인한 전체 시스템의 영향 최소화 전략을 경험할 수 있을 것입니다.
- 이번 프로젝트에서는 AI 기술(Gemini API) 을 활용하여 구인 공고 글 작성 같은 곳, 구현에 간접적으로 AI를 도입하는 경험을 할 것입니다. 이를 통해 실제 프로젝트에 AI 기술을 적용하고, 기존 시스템과 어떻게 효율적으로 통합할 수 있을지에 대한 실무적 고민과 해답을 모색하게 될 것입니다.
- 이번 프로젝트를 통해 우리는 MSA의 복잡성을 깊이 이해하고, 사용자의 요구사항과 실제 운영상 발생할 수 있는 문제점들을 팀원들과 함께 해결해 나가는 과정을 경험하게 될 것입니다. 이러한 경험이 향후 더 나은 시스템을 설계하고 개발하는 데 큰 기반이 될 것입니다.
- 시간을 화폐처럼 거래하는 커뮤니티 기반 상호 도움 플랫폼 (Time Bank)
- 타임 뱅크는 사용자들이 자신의 시간을 투자하여 서비스를 제공하고, 제공한 시간만큼 타인의 서비스를 받을 수 있는 시간 기반 거래 플랫폼입니다.
- 경제적·물리적 제약을 넘어 서로 도움을 주고받으며 지역사회의 결속력을 강화하고, 사용자 간 신뢰를 구축하는 것이 목표입니다.
- MSA(Microservices Architecture)를 활용하여 서비스의 확장성, 유연성, 유지 보수성을 높이며, 효율적인 사용자 매칭 및 데이터 관리 방안을 도입합니다.
① 회원가입 및 초기 포인트 지급
- 사용자 가입 시 서비스 이용을 위한 기본 시간 포인트 지급
- 사용자 프로필 설정(제공 가능한 서비스, 필요한 서비스 등)
② 서비스 요청 및 신청
- 사용자가 도움 요청글 작성 (포인트 임시 차감)
- 서비스 제공자가 요청글에 신청 (추후 선착순 우선 처리)
③ 서비스 거래 시작
- 제공자가 ‘서비스 시작’ 버튼 클릭 → 요청자 승인
- 제공 서비스 시간 자동 기록 및 실시간 관리
④ 서비스 거래 종료 및 포인트 정산
- 제공자가 ‘서비스 종료’ 버튼 클릭 → 요청자 최종 승인
- 최종 승인 시 포인트 정산 및 사용자 시간 포인트 업데이트
⑤ 리뷰 및 신뢰도 관리
- 서비스 종료 후 양측이 서로 리뷰 및 평점 작성
- 리뷰 결과는 사용자 신뢰도 및 향후 거래 우선순위에 반영
⑥ 예외 상황 및 관리
- 포인트 부족, 서비스 미이행, 거래 중단 등 예외 발생 시 자동 처리 또는 관리자가 개입하여 해결
- 시스템 장애나 부정행위 등 돌발 상황에 대한 실시간 대응 체계 마련
[사용자 가입 → 프로필 설정(제공 가능 서비스, 필요한 서비스)]
↓
[시간 통장에 시간 포인트 지급 및 관리]
↓
[도움 요청글 작성 (포인트 임시 차감)]
↓
[도움 제공자가 서비스 신청 및 요청자 승인]
↓
[서비스 진행 (제공자 시작/종료 버튼 → 요청자 승인)]
↓
[포인트 정산 및 시간 통장 업데이트]
↓
[거래 완료 후 리뷰 및 평점 작성]
- 회원 가입/로그인/로그아웃
- 사용자 프로필 등록 및 수정
- 비밀번호 관리 및 재설정
- 회원가입 시 초기 포인트 지급
- 시간 포인트 적립 및 차감 관리
- 거래 시 포인트 임시 차감 (홀드 기능)
- 거래 완료 시 최종 포인트 정산
- 포인트 거래 내역 조회 및 관리
- 도움 요청 글 작성·수정·삭제
- 제공 가능한 서비스 등록 및 관리
- 신청자 목록 관리 및 우선 처리 (선착순 관리)
- 거래 시작 (요청자 승인 후 제공자 시작 버튼 클릭)
- 거래 진행 및 시간 기록 (서비스 제공 시간 측정)
- 거래 완료 (제공자 종료 버튼 → 요청자 승인)
- 거래 상태 관리 (대기, 진행 중, 완료, 취소)
- 서비스 신청·승인 시 알림
- 거래 시작·완료 승인 요청 알림
- 포인트 정산 완료 및 상태 변경 알림
- 알림 읽음/안 읽음 상태 관리
- 거래 완료 후 리뷰 및 평점 작성
- 리뷰 및 평점 관리 (조회, 수정, 삭제)
- 사용자 프로필에 신뢰도 반영
- 서비스 유형, 위치, 날짜, 시간대 기반 검색 및 필터링
- 제공자와 요청자 간 매칭 지원 (선착순 우선 처리)
- 관리자 페이지 (사용자 관리, 거래 모니터링, 분쟁 관리)
- 서비스 품질 모니터링 시스템 구축
- 시스템 이상 징후 알림 및 대응 기능
- 사용자 신고 관리 및 처리 기능
- 포인트 잔액 부족 시 거래 차단 및 안내
- 서비스 미이행·불일치 상황 관리 및 분쟁 처리
- 중복 거래 방지 처리
- 시스템 오류 및 장애 발생 시 자동 재시도 및 알림
- 사용자 데이터 암호화 관리
- 보안 인증 및 권한 관리 (JWT, OAuth2 등)
- 데이터베이스 백업 및 복구 기능
- 실시간 데이터 동기화 및 일관성 관리 (트랜잭션 처리)
- SNS 및 외부 로그인 API 연동
- 지도 API 등 위치 기반 서비스 연동
- 이메일, SMS, 푸시 알림 서비스 연동
-
사용자 관리
- 회원가입, 로그인, 로그아웃
- 프로필 관리(필수정보만)
- 가입 시 초기 포인트 지급
-
시간 포인트 관리
- 시간 포인트 적립, 차감 및 조회 기능
- 거래 시 포인트 임시 차감 및 최종 정산 기능
-
도움 요청 및 제공 관리
- 도움 요청 글 작성, 수정, 삭제
- 서비스 제공 신청 및 신청자 목록 관리(선착순 방식)
-
거래 시스템
- 거래 시작 및 종료 프로세스
- 거래 상태 관리(대기, 진행 중, 완료, 취소 등)
-
알림 시스템
- 거래 시작·종료 및 승인 관련 필수 알림
-
리뷰 및 평가 시스템
- 거래 후 리뷰 및 평점 작성 (간단한 형태)
-
거래 예외 처리 강화
- 잔액 부족 처리, 중복 거래 방지
- 서비스 미이행 및 분쟁 처리 절차 강화
- 시스템 장애 대비 자동 재시도 및 알림
-
신뢰도 평가 고도화
- 신뢰도 기반 매칭 알고리즘 도입
- 사용자 신뢰도 점수 계산 및 프로필 연동
-
검색 및 매칭 시스템 강화
- 지역, 시간대, 서비스 유형 기반 필터링 및 검색 기능
-
알림 시스템 고도화
- 이메일, SMS, 푸시 알림 등 다양한 채널 연동
- 요청자와 제공자 채팅 기능
-
UX/UI 개선
- 직관적인 안내 메시지 및 사용자 경험 최적화
-
외부 API 연동
- SNS 로그인 및 공유 기능
- 지도 서비스 연동(위치 기반 서비스 강화)
-
관리자 기능 확장
- 상세 통계 및 리포트 기능
- 사용자 신고 및 이슈 관리 기능 고도화
-
데이터 관리 및 보안 강화
- 데이터 백업 및 복구 체계 구축
- 개인정보 암호화 및 고급 인증(OAuth2 등) 도입
-
서비스 확장
- 추가 서비스 유형 도입(전문 서비스, 교육 등)
- 파트너십을 통한 외부 커뮤니티 연동 및 협력 기능
1️⃣ 회원가입
- 회원가입 요청
POST /api/v1/auth/signup
- 회원가입 시 프로필 자동생성
POST /api/v1/users/{user_id}/profiles
- 회원가입 시 시간 계정 자동생성
POST /api/v1/time-accounts
2️⃣ 로그인
- 로그인 요청
POST /api/v1/auth/login
- 도움 요청글 작성 & 포인트 임시 차감 (도움 요청글 작성 직후 처리)
POST /api/v1/help-requests
POST /api/v1/time-accounts/hold
- 작성된 도움 요청글 조회 (단건 조회)
GET /api/v1/help-requests/{requests_id}
- 도움 요청글 전체 목록 조회
GET /api/v1/help-requests
- 요청글 수정 및 삭제
PATCH /api/v1/help-requests/{requests_id}
DELETE /api/v1/help-requests/{requests_id}
- 도움 제공자 신청 (지원자 생성)
POST /api/v1/helpers
- 신청한 제공자 전체 목록 조회
GET /api/v1/helpers
- 특정 제공자 프로필 조회 (평판 확인용)
(거래 상태 조회 시 제공자 프로필을 함께 조회)
- 최종 제공자 선별 및 거래 자동 생성 ✍️[표현 명확화]
PATCH /api/v1/helpers/{helper_id}/accept
POST /api/v1/help-tradings (제공자 선별 시 자동 생성, 거래 ID 발급 및 양측 알림 전송)
- 거래 단건 조회 (생성된 거래 확인)
GET /api/v1/help-tradings/{help_trading_id}
- 도움 시작 전 신원 확인 및 알림
GET /api/v1/users/{user_id}/profiles (신원 확인)
POST /api/v1/notifications (알림 전송)
- 거래 진행 (도움 시작)
PATCH /api/v1/help-tradings/{requests_id} (시작 처리)
- 중복 및 동시 클릭 방지 처리
(내부적으로 선착순 처리 및 중복 클릭 방지 로직 적용)
- 거래 완료 처리
PATCH /api/v1/help-tradings/{requests_id} (종료 처리)
- 요청자 승인 완료 시 포인트 정산 및 기록
POST /api/v1/time-accounts/settle
- 포인트 및 거래 내역 확인
GET /api/v1/time-accounts/{userId}
GET /api/v1/time-accounts/{userId}/transactions
- 거래 관련 리뷰 작성
POST /api/v1/reviews
- 특정 리뷰 수정
PATCH /api/v1/reviews/{review_id}
- 작성된 리뷰 조회
GET /api/v1/reviews/{review_id}
- 전체 리뷰 목록 확인
GET /api/v1/reviews
- 특정 사용자 리뷰 조회
GET /api/v1/users/{user_id}/reviews
- 특정 리뷰 삭제
DELETE /api/v1/reviews/{review_id}
- 거래 완료 후 24시간 내 리뷰 미작성 시 자동 알림 (시스템 스케줄러)
Scheduler or Batch Job → POST /api/v1/notifications (리뷰 리마인드 알림)
- 전체 알림 조회
GET /api/v1/notifications
- 특정 사용자 알림 조회
GET /api/v1/users/{user_id}/notifications
- 알림 읽음 처리
PATCH /api/v1/notifications/{notification_id}/read
- 알림 삭제
DELETE /api/v1/notifications/{notification_id}
- 사용자 정보 전체 조회 (관리자 용도)
GET /api/v1/users
- 특정 사용자 정보 조회
GET /api/v1/users/{user_id}
- 유저 정보 수정
PATCH /api/v1/users/{user_id}
- 프로필 전체 조회
GET /api/v1/users/profiles
- 프로필 조회, 수정, 삭제
GET /api/v1/users/{user_id}/profiles
PATCH /api/v1/users/{user_id}/profiles
DELETE /api/v1/users/{user_id}/profiles
- 유저 삭제
DELETE /api/v1/users/{user_id}
- 포인트 수동 조정 (관리자 개입)
PATCH /api/v1/time-accounts/admin-adjust
- 포인트 롤백 (거래 오류 시 관리자 처리)
POST /api/v1/time-accounts/rollback
- 거래 수정 및 삭제 (관리자 개입)
PATCH /api/v1/help-tradings/{requests_id}
DELETE /api/v1/help-tradings/{requests_id}
[시작] 회원가입 및 로그인
↓
[단계1] 도움 요청글 관리 (포인트 임시 차감✅)
↓
[단계2] 제공자 신청 및 선별 (거래 자동 생성✅, 제공자 프로필 제거❌)
↓
[단계3] 거래 진행 (신원 확인 및 중복 처리✅)
↓
[단계4] 거래 완료 및 포인트 관리 (정산 명확화✅)
↓
[단계5] 리뷰 및 평가 (리뷰 리마인드 추가✅)
↓
[단계6] 알림 관리
↓
[단계7] 사용자 및 프로필 관리
↓
[단계8] 예외 및 긴급 상황 처리 (관리자 개입 명확화✅)
- 회원가입 후 초기 포인트 지급을 받고, 도움 요청글을 작성합니다.
- 도움 요청글에는 업무 내용, 진행 시간, 요청 사항 등이 명시되며, 작성 시 보유 포인트에서 임시 차감됩니다.
- 여러 제공자로부터 도움 신청을 받은 후, 도움 제공자의 ‘도움 시작’ 버튼 클릭 알림을 받고 승인하여 거래를 개시합니다.
- 거래 완료 시, 도움 제공자의 ‘도움 종료’ 버튼 클릭 알림을 확인하고 최종 승인합니다.
- 마이페이지에서 도움받은 목록을 조회한 후, 해당 거래에 대해 리뷰와 평점을 작성합니다.
- 도움 받은 목록과 작성한 리뷰는 언제든 수정 및 삭제가 가능합니다.
- 도움 요청글을 확인하고, 도움 제공자로 신청합니다.
- 도움 제공자로서 신청 후, ‘도움 시작’ 버튼을 눌러 거래를 시작하고, 요청자에게 시작 알림을 전송합니다.
- 서비스 진행 중 실제 제공한 시간을 정확히 기록하며, 진행 상황을 업데이트합니다.
- 서비스 완료 시 ‘도움 종료’ 버튼을 눌러 거래 종료 알림을 요청자에게 전송합니다.
- 마이페이지에서 도와준 거래 목록을 확인하고, 필요한 경우 추가 정보나 피드백을 제공합니다.
- 도움 제공 완료 후 리뷰 및 평점을 통해 본인의 신뢰도를 관리하며, 신뢰도가 높을 경우 우선 매칭 대상이 됩니다.
-
기본 상황
- 요청자와 제공자의 양측 간 동의 하에 거래가 시작됩니다.
- 회원가입 시 지급받은 포인트를 바탕으로, 요청자는 도움 요청글을 작성하면서 보유 포인트에서 임시로 차감됩니다.
- 여러 제공자가 도움 신청을 할 경우 요청자가 제공자를 선택해서 거래가 개시됩니다.
- 거래 시작 전, 고유 거래 ID가 생성되고, 실시간 알림이 양측에 전송됩니다.
- 거래 시작 시 반드시 양측의 신원을 서로 확인할 수 있도록 프로필 정보를 명확하게 제공합니다.
- 거래 진행은 난이도와 상관없이 실제 도움 제공 시간이 기준이 됩니다.
- 도움 제공자는 ‘도움 시작’ 버튼을 눌러 서비스를 시작하며, 이 시점부터 시간이 기록됩니다.
- 진행 중에는 서비스 진행 상황이 양측에 실시간으로 업데이트되고, 문제가 발생할 경우 즉각적으로 통보하여 합의된 해결 방안을 적용합니다.
- 서비스 진행 중 도움 제공자는 필요 시 서비스 내용을 요청자의 동의 하에 추가하거나 수정할 수 있으며, 변경된 내용은 즉시 기록됩니다.
- 요청자와 제공자의 양측 간 동의 하에 거래가 완료됩니다.
- 도움 제공자가 ‘도움 종료’ 버튼을 누르면, 요청자에게 완료 알림이 전송되며, 요청자는 최종 승인을 진행합니다.
- 완료 승인 후, 포인트 정산이 이루어지고, 시간 통장이 업데이트됩니다.
- 거래 완료 내역은 로그로 기록되어 추후 리뷰 및 평점 작성을 위한 근거가 됩니다.
- 거래 완료 후 24시간 내 리뷰와 평점을 작성해야 하며, 미작성 시 자동 알림을 발송하여 리뷰 작성을 촉진합니다.
- 관리자는 전체 거래 과정을 모니터링하며, 이상 상황이나 분쟁 발생 시 개입합니다.
- 거래 내역, 알림 기록, 포인트 정산 및 리뷰 데이터를 주기적으로 감사하고, 시스템 보안 및 운영 정책을 유지합니다.
- 사용자의 신뢰도를 정기적으로 평가하여, 신뢰도가 낮은 사용자는 거래 횟수 제한 등의 추가적인 제재 조치를 시행할 수 있습니다.
- 요청자와 제공자의 양측 간 동의 하에 거래가 시작됩니다.
-
예외 상황
- 도움 요청글 작성 시, 요청자의 보유 포인트가 부족할 경우 거래 진행이 차단됩니다.
- 포인트 부족 시, 사용자에게 명확한 오류 메시지와 재충전 안내가 즉시 전송됩니다.
- 포인트 충전 후 즉시 거래를 다시 진행할 수 있도록 안내 및 링크 제공
- 여러 제공자가 동시에 신청할 때, DB에 먼저 등록된 신청을 우선 처리하여 중복 거래를 방지합니다.
- 동일 거래에 대해 제공자가 ‘도움 시작’ 또는 ‘도움 종료’ 버튼을 여러 번 누르는 경우, 중복 처리를 방지하는 로직이 적용됩니다.
- 중복 신청이나 버튼 클릭 시 사용자에게 즉시 경고 메시지를 제공하여 잘못된 요청을 방지합니다.
- 도움 제공자가 ‘시작’ 또는 ‘종료’ 버튼을 누르지 않거나, 요청자가 승인을 지연하는 경우, 거래 진행 상황을 보류하고 관리자 개입을 요청합니다.
- 실제 서비스 이행 시간과 기록된 시간이 불일치할 경우, 자동 분쟁 해결 프로세스를 통해 거래 취소 및 임시 차감된 포인트를 복구합니다.
- 반복적으로 서비스 미이행이 발생한 사용자는 관리자에 의해 경고를 받고, 서비스 이용이 일시적으로 제한될 수 있습니다.
- 거래 진행 중 취소 요청이 발생하면, 사전에 정의된 취소/환불 정책에 따라 자동으로 환불 및 포인트 회복 절차가 진행됩니다.
- 분쟁 발생 시, 관리자나 중재자가 개입하여 신속히 문제를 해결하고, 거래 기록에 따라 적절한 조정 조치를 취합니다.
- 관리자의 중재 이후 결정사항은 양측 모두에게 통보되며, 필요한 경우 시스템 내 분쟁 이력으로 관리됩니다.
- 거래 진행 중 네트워크 장애나 시스템 오류가 발생하면, 해당 거래는 자동으로 일시 보류되고 재시도 로직이 실행됩니다.
- 장애 발생 시 관리자에게 즉각 알림을 전송하고, 거래 기록을 보존하여 후속 조치가 가능하도록 합니다.
- 장애 상황 시 사용자에게 정확한 상태와 예상 복구 시간을 즉시 안내합니다.
- 부정 거래 또는 허위 거래 등록 시, 시스템은 자동으로 해당 거래를 중단하고 관리자에게 신고합니다.
- 부정 행위가 확인되면, 거래는 취소되고 관련 사용자에게 제재(예: 신뢰도 하락, 거래 제한 등)가 적용됩니다.
- 부정 행위가 심각하거나 반복적일 경우, 사용자 계정이 영구 정지될 수 있습니다.
- 다수의 거래 요청이 동시에 발생할 경우, 동기화 메커니즘(분산 락, synchronized 블록 등)을 통해 데이터 충돌과 중복 처리를 방지합니다.
- 실시간 데이터 동기화 실패 시, 거래 상태를 ‘보류’로 전환하고 관리자에게 즉시 알림을 전송합니다.
- 데이터 동기화 실패 시 사용자에게 즉각적인 안내와 재시도 안내를 제공합니다.
- 서현재 : 사용자 관리, 관리자
- 한석규 : 시간 포인트 관리, 거래 시스템
- 남정길 : 도움 요청 및 제공 관리
- 유남규 : 알림 및 리뷰, 테크 리더
- 기술 리더 선출 / 기술 리더가 해야할 일
-
코딩 컨벤션 관리
-
코딩 컨벤션 관리의 경우 향후 해당 프로젝트는 포트폴리오로 활용될 수 있기 때문에, **‘통일성’**이 가장 중요합니다.
-
변수명을 되도록 통일하고, 새로운 단어가 등장하지 않도록 하기
[getOrders, retrieveProducts], [createOrder, makeProducts] 등등.
-
-
Github 브랜치 관리 및 브랜치 전략 구성
- 우리가 물리적으로 떨어진 환경에서 개발을 진행하기 때문에, 본인의 로컬에 다른 사람의 서비스를 돌려야 하는 경우가 발생합니다. 각각 목적에 맞는 기준 브랜치에 지속적인 코드의 통합(CI) 을 고민해주셔야 합니다. ex) ‘develop’ 브랜치에 본인의 부분적인 작업 완료 시 테스트 후 머지.
-
공통 모듈 관리
-
공통 모듈의 버저닝 관리를 진행해주셔야 합니다.
-
MSA 공통 모듈의 버저닝 관리 방법
1. 버전 관리 방식 (SemVer - 의미적 버전 관리)
-
형식:
MAJOR.MINOR.PATCH(예:1.2.3)- MAJOR (1.x.x → 2.0.0): 기존과 호환되지 않는 변경
- MINOR (1.1.x → 1.2.0): 새로운 기능 추가 (호환 유지)
- PATCH (1.1.1 → 1.1.2): 버그 수정
2. 공통 모듈 배포 방식
-
Maven / Gradle Repository 사용
<dependency> <groupId>com.example</groupId> <artifactId>common-module</artifactId> <version>1.0.0</version> </dependency> -
Git 태그 & 브랜치 활용 (
v1.0.0,release/1.0.0)git tag -a v1.0.0 -m "Initial release" git push origin v1.0.0
3. 버전 충돌 방지 전략
- Backward Compatibility 유지 (기존 기능 깨지 않도록 개발)
- API Deprecation 정책 적용 (구버전 일정 기간 유지 후 제거)
-
Version Locking 적용 (
1.0.3처럼 명확한 버전 지정) - CI/CD 자동화하여 공통 모듈 배포 관리
4. 업데이트 프로세스
1️⃣ 공통 모듈 변경 발생
2️⃣ 새로운 버전 릴리즈 (
1.x.x → 1.x+1.x)3️⃣ 기존 서비스는 점진적 업데이트 진행
4️⃣ 모든 서비스가 최신 버전 사용하면 구버전 제거
- SemVer 기반 버전 관리 (
MAJOR.MINOR.PATCH) - 공통 모듈은 독립 배포 & 명확한 버전 지정
- Backward Compatibility 유지 & API Deprecation 정책 적용
- CI/CD 자동화로 효율적인 버전 업데이트 관리
👉 이렇게 하면 공통 모듈을 안정적으로 운영하면서 서비스 간 충돌을 방지할 수 있음! 🚀
-
형식:
-
-
MSA의 물리적 환경(Infra, Devops) 구성
- Eureka, Resilience4j, API Gateway, Config, Redis, Kafka, Docker 등 설정을 기반으로 팀원들 로컬에서 정상적으로 작동할 수 있도록 도움 필요.
-