Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FIX] 파이어베이스와 서버를 연동하도록 수정 #128

Merged
merged 19 commits into from
Mar 2, 2024

Conversation

jun02160
Copy link
Member

@jun02160 jun02160 commented Mar 2, 2024

📌 관련 이슈

closed #121

✨ 어떤 이유로 변경된 내용인지

Batch 서버 분리 (추가)

스케줄링 작업으로 FB Realtime DB의 데이터를 폴링하는 방식으로 걸음 수 달성 여부를 체크하고자 했습니다.

  • 빈번히 일어나는 비동기 작업에 의해 API 응답이 지연되는 문제를 개선하고자 서버 분리
  • 추후 Spring Batch를 이용해 스케줄링 작업을 최적화할 가능성을 염두에 두고 motivoo-batch로 명명
  • Firebase 관련 코드와 스케줄러 클래스 모두 batch 서버로 이동

배포 스크립트 수정

  • blue container : 8080(api), 8081(batch)
  • green container : 8082(api), 8083(batch)

Firebase와 서버의 연동

Insert

온보딩 직후 유저의 ID값을 매핑하여 걸음 수 0으로 초기화한 데이터 값 삽입

Read

주기적으로 폴링하여 유저의 현재 걸음 수와 목표 걸음 수를 비교 -> 달성 여부 체크

*CompletedStatus : STEP_COMPLETED ENUM 추가

미션의 인증 상태를 다음과 같은 5개 단계로 나누었습니다.

  1. 자정마다 NONE의 빈 미션 객체 생성
  2. 유저의 오늘의 미션 선택 시, IN_PROGRESS로 변경
  3. 목표 걸음 수 <= 유저의 현재 걸음 수(FB) 일 때, STEP_COMPLETED로 변경
  4. 미션 인증사진 업로드 완료 시, SUCCESS로 변경
  5. 자정에 인증 사진 업로드/목표 걸음 수를 달성하지 못한 경우, FAIL로 변경

위와 같이 포트포워딩을 하도록 docker-compose.yml 수정, CI/CD 배포 스크립트에 반영

🙏 검토 혹은 리뷰어에게 남기고 싶은 말

@jun02160 jun02160 added 🔥PULL REQUEST PR 날릴 때 ☄️DEPLOY 서버 배포 작업 🧹CHORE 동작에 영향 없는 코드 or 변경 없는 변경사항(주석 추가 등) ✨FEAT 새로운 기능 구현 🧹MODIFY 코드 수정 (기능의 변화가 있을 때) 🐈예준🐈 labels Mar 2, 2024
@jun02160 jun02160 requested a review from hyeyeonnnnn March 2, 2024 10:30
@jun02160 jun02160 self-assigned this Mar 2, 2024
@jun02160 jun02160 merged commit 9303cbe into develop Mar 2, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🧹CHORE 동작에 영향 없는 코드 or 변경 없는 변경사항(주석 추가 등) ☄️DEPLOY 서버 배포 작업 ✨FEAT 새로운 기능 구현 🐈예준🐈 🧹MODIFY 코드 수정 (기능의 변화가 있을 때) 🔥PULL REQUEST PR 날릴 때
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[MODIFY] 걸음 수 달성 상태 업데이트 방식 변경
1 participant