Skip to content

feat: 변경된 api 반영 및 실제 연동 #45

Description

@parkseonghun598

feat: 변경된 API 반영 및 실제 연동

📋 개요

chore-43에서 API 연동 준비(클라이언트 함수, Store, ViewModel 골격)를 완료했습니다.
본 이슈는 백엔드 최종 API 명세 반영실서버 기준 E2E 연동·검증을 목표로 합니다.

선행 작업: chore-43 PR 머지
의존: 백엔드 API 배포 환경, .envEXPO_PUBLIC_API_URL


🎯 목표

  • 실서버 API와 요청/응답 형식 일치 확인
  • 변경된 API spec 반영 (필드명, enum, error code 등)
  • mock/임시 코드 제거 또는 API 데이터로 대체
  • 주요 사용자 플로우 E2E 동작 확인

🔧 작업 범위

1. API 명세 동기화

  • 백엔드 최신 OpenAPI/명세와 프론트 *Api.ts 타입·필드 대조
  • idMappings.ts 임시 ID ↔ 백엔드 카탈로그 code/id 최종값 반영
  • onboardingOptions.ts 라벨과 백엔드 enum 일치 검증

2. 인증

  • POST /api/v1/auth/signup · POST /api/v1/auth/login 실서버 검증
  • onboardingCompleted 기반 Auth → Onboarding / Main 분기 확인
  • 토큰 만료(AUTH_REQUIRED) 시 Auth reset 동작 확인

3. 온보딩

  • POST /api/v1/onboarding request body 실제 제출 검증
  • completedSubjects 전송 구현 (현재 [] 고정 — useOnboardingConfirmViewModel.ts TODO)
  • ONBOARDING_ALREADY_COMPLETED / VALIDATION_FAILED 에러 처리 확인

4. 추천

  • POST /api/v1/recommendations 실서버 응답 → jobs/tracks/roadmap 매핑 검증
  • 직무·교과목 상세(recommendStore 파생) 데이터 정확성 확인
  • RESOURCE_NOT_FOUND → Onboarding redirect 확인

5. 챗봇

  • POST /api/v1/chatbot/message 실서버 대화·choices 칩 동작
  • threadId UUID v4 생성·재사용·reset 시 초기화 확인
  • (선택) sendFeedback API-018 실제 endpoint 연동 여부 확인

6. 마이페이지 / 프로필

  • GET /api/v1/me/profile 조회 → onboardingStore hydrate 검증
  • PATCH /api/v1/me/profile 관심사·개발분야·취업선호 수정 검증
  • POST /api/v1/subjects/completed-courses 이수과목 추가 (subjectId, year, semester)
  • DELETE /api/v1/subjects/completed-courses 이수과목 삭제
  • SUBJECT_ALREADY_COMPLETED / RESOURCE_NOT_FOUND 에러 처리 확인

7. main 머지 후속 (chore-43 PR 머지 시)

  • hansungCourseData.ts + 트랙 드릴다운 UI ↔ API subjectId 카탈로그 통합
  • buildCourseCataloghansungCourseData 기반으로 확장 (추천 로드 전에도 과목 선택 가능)
  • PDF 내보내기(generateRecommendPdf) + API 추천 데이터 연동 확인

8. mock / 잔여 정리

  • MOCK_RECOMMENDATION_HISTORY → 추천 이력 API 연동 또는 MVP 범위 명시
  • CourseDetailModal.tsxMOCK_ROADMAP 참조 제거 (recommendStore 사용)
  • 사용하지 않는 mock 데이터 파일 정리 (타입 정의만 유지)

🧪 테스트 체크리스트

  • .env EXPO_PUBLIC_API_URL 설정 후 앱 실행
  • 회원가입 → 온보딩 → 추천 결과 E2E
  • 재로그인 → Main 진입 → 프로필 자동 로드
  • 홈: 직무/교과목 상세, 로드맵 이수과목 표시
  • 챗봇: 메시지 전송, 칩 응답, 대화 초기화
  • 마이페이지: 프로필 표시, 온보딩 정보 PATCH
  • 마이페이지: 이수과목 추가(학년·학기) / 삭제
  • 마이페이지 온보딩 수정 → 홈 추천 재조회 반영
  • 네트워크 오류 / 401 / 404 / 409 / 422 UI 피드백

📌 참고

항목 현재 상태
idMappings.ts 임시 순번, 백엔드 배포 ID로 교체 필요
이수과목 카탈로그 추천 로드맵 기반 (buildCourseCatalog) — hansungCourseData 미통합
온보딩 completedSubjects 미전송 ([])
토큰 갱신 /api/v1/auth/refresh 미존재 → 401 시 재로그인
추천 이력 mock 유지

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions