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

Fields

No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions