Search
3️⃣

이터레이션 #3. 7일간 걸음 분석

과제 사전 설정

1.
이전 이터레이션에서 merge한 main 브랜치를 받아옵니다.
2.
작업용 브랜치 feature3 을 생성합니다.
$ git checkout main $ git pull $ git checkout -b feature3
Shell
복사
3.
생성한 feature3 브랜치가 이터레이션 #3 과제를 제출할 브랜치가 됩니다.

과제 내용

구현 요구 사항

위 화면처럼 걸음 통계 페이지의 7일간 걸음 분석 기능을 구현해주세요.
1.
7일간 걸음 분석 섹션에 서버에서 가져온 최근 7일간의 정보를 출력해주세요.
a.
코드는 /src/pages/StepStatisticsPage/index.tsx 파일의 WeeklyResult 컴포넌트를 사용해주세요.
b.
날짜를 기준으로 최신순으로 출력해주세요.
c.
각 날짜 별로 만보 달성 여부에 따라 서로 다른 UI를 출력해주세요.
i.
걸음수 없음
1.
걸음 기록이 없어요.
ii.
만보 달성 실패: 만보 달성한 전체 인원수 출력.
1.
ex) 1,500명이 만보를 달성했어요.
iii.
만보 달성 성공: 사용자가 만보를 달성한 시간 / 순위 출력
1.
ex) 10월 11일 오후 6시 / 1,000번째로 만보를 달성했어요!
2.
만보 달성에 성공한 경우 목록 하단에 공유하기 버튼을 추가해주세요.
3.
버튼을 누르면 /src/hooks/useShareDailyStepBottomSheet.tsx 를 활용해 공유하기 바텀시트를 띄워주세요.
a.
확인 버튼을 누르면 선택한 옵션에 맞게 share 앱브릿지를 호출해주세요.
b.
앱브릿지의 응답을 받으면 바텀시트를 닫아주세요.

서버 API 문서

최근 7일간 걸음수 통계

path: GET /api/step-mission/statistic
response
{ statistic: [ { date: string, // 통계 날짜 yyyy-MM-dd 10kStepperRank?: number, // 만보 달성한 날에만 표시되는 내 등수 10kStepperCount?: number, // 걸음 수가 있지만, 만보 달성못한 날에만 표시되는 만보 달성한 인원 수 stepCount: number, // 당일 내 걸음수 rewardAmount: number, // 당일 수령한 포인트 timeReached?: string; // 10,000보를 달성한 시각, 만보 달성 시에만 내려옴 (HH:mm) } ] }
TypeScript
복사

앱브릿지 @toss-next/toss-app-bridge API 문서

공유하기

Method name: share
Request
{ type: "message" | "save-image" | "copy-image"; }
JavaScript
복사
Response
Promise<boolean>
TypeScript
복사

과제 제출하기

과제 제출하기

1.
작업이 완료되면 feature3 브랜치를 GitHub 원격 저장소에 푸시해주세요.
2.
작업이 잘 되었다면 GitHub에 다시 접속했을 때 [Compare & Pull Request] 초록색 버튼을 확인하실 수 있어요.
3.
[Compare & Pull Request] 버튼을 누르고 Pull Request를 생성해주세요. main 브랜치에 병합하는 형태가 되도록 Pull Request를 생성해주세요.
a.
Pull Request의 본문은 자유롭게 작성해주세요.
4.
main 브랜치에 병합해주세요.

이어서

다음 이터레이션을 수행하기 위해 노란색으로 강조된 링크를 따라가주세요.
기술 과제 안내
 이터레이션 #3. 7일간 걸음 분석 확장
 이터레이션 #4. 에러 대응
이 문제의 저작권은 주식회사 비바리퍼블리카에 있으며, 지원자는 오로지 채용을 위한 목적으로만 이 문제를 활용할 수 있습니다. 이 문제의 전부 또는 일부를 공개, 게재, 배포, 제3자에게 제공하는 등의 일체의 “누설 행위”에 대해서는 저작권법에 의해 민・형사상의 책임을 질 수 있습니다. 이 "누설 행위"에는 문제의 문구를 변형하여 그 취지를 알 수 있도록 하는 경우도 포함됩니다.