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

Data / Network 리펙토링 #144

Open
42 tasks done
minsangKang opened this issue Mar 24, 2024 · 0 comments · May be fixed by #163
Open
42 tasks done

Data / Network 리펙토링 #144

minsangKang opened this issue Mar 24, 2024 · 0 comments · May be fixed by #163
Assignees
Labels
feature 기능 추가/변경/삭제

Comments

@minsangKang
Copy link
Member

minsangKang commented Mar 24, 2024

Tech Spec

Moya를 사용한 Network Layer 구축

Background | Issue 발행 배경

TiTi 백엔드와 연결을 위해 Moya 라이브러리를 도입하여 새롭게 Network Layer를 구축한다.

Acceptance Criteria | 허용 기준

Given(조건, 상황) | When(행동) | Then(결과)

  • Moya 라이브러리 추가
  • TTPovider 생성 (기본 Error 핸들링)
  • 각 API를 Moy 형식으로 리펙토링
    • FirebaseAPI
    • AuthAPI
    • DailysAPI
  • CombineMoya 기반 각 Repository 리펙토링 (반환: AnyPublisher<Model, NetworkError>)
    • AppLatestVersionRepository -> FirebaseRepository
    • ServerURLRepository -> FirebaseRepository
    • AuthRepository -> AuthRepository
    • DailysRepository -> DailysRepository
    • RecordTimesRepository -> RecordTimesRepository
    • SyncLogRepository -> SyncLogRepository
    • NotificationRepository
  • Request 폴더 추가
  • DTO 폴더 삭제 -> Response 폴더 추가
  • NetworkError 리펙토링 (statusCode 기반 Error 반환, 신규서버 Error객체 기반 Error 반환)
    • TTErrorResponse 생성
    • TTResponse 생성
  • Publisher 기반 UseCase 생성 및 구현
    • GetAppVersionUseCase 생성 & 반영
    • GetServerURLUseCasee 생성 & 반영
    • GetTiTiFunctionsUseCase 생성 & 반영
    • GetUpdateHistorysUseCase 생성 & 반영
    • GetYoutubeLinkUseCase 생성 & 반영
    • GetSurveysUseCase 생성 & 반영
    • GetNotificationUseCase 생성 & 반영
    • SignupUseCase 생성 & 반영
    • SigninUseCase 생성 & 반영
    • CheckUsernameExitUseCsae 생성 & 반영
    • CheckEmailExitUseCase 생성 & 반영
    • UpdatePasswordUseCase 생성 & 반영
    • GetDailysUseCase 생성 & 반영
    • PostDailysUseCase 생성 & 반영
    • PostRecordTimeUseCase 생성 & 반영
    • GetRecordTimeUseCase 생성 & 반영
    • GetSyncLogUseCase 생성 & 반영
  • NetworkController 클래스 삭제
  • Network 클래스 삭제
  • Network 사용하는 모든 VM단 리펙토링 반영
    • 신규 UseCase로 변경
    • Publisher 기반 수신 구현
@minsangKang minsangKang added the feature 기능 추가/변경/삭제 label Mar 24, 2024
@minsangKang minsangKang self-assigned this Mar 24, 2024
@minsangKang minsangKang added this to TiTi Mar 24, 2024
@github-project-automation github-project-automation bot moved this to Backlog in TiTi Mar 24, 2024
@minsangKang minsangKang moved this from Backlog to Ready in TiTi Mar 24, 2024
@minsangKang minsangKang moved this from Ready to In progress in TiTi Apr 17, 2024
minsangKang added a commit that referenced this issue Apr 17, 2024
minsangKang added a commit that referenced this issue Apr 17, 2024
minsangKang added a commit that referenced this issue Apr 17, 2024
minsangKang added a commit that referenced this issue Apr 17, 2024
minsangKang added a commit that referenced this issue Apr 27, 2024
minsangKang added a commit that referenced this issue Apr 27, 2024
minsangKang added a commit that referenced this issue Apr 27, 2024
minsangKang added a commit that referenced this issue Apr 27, 2024
minsangKang added a commit that referenced this issue Apr 30, 2024
minsangKang added a commit that referenced this issue Apr 30, 2024
minsangKang added a commit that referenced this issue Apr 30, 2024
minsangKang added a commit that referenced this issue Apr 30, 2024
@minsangKang minsangKang changed the title Data / Network 구축 Data / Network 리펙토링 May 26, 2024
minsangKang added a commit that referenced this issue Jun 9, 2024
minsangKang added a commit that referenced this issue Jun 29, 2024
minsangKang added a commit that referenced this issue Jun 30, 2024
minsangKang added a commit that referenced this issue Jun 30, 2024
minsangKang added a commit that referenced this issue Jul 6, 2024
@minsangKang minsangKang linked a pull request Aug 11, 2024 that will close this issue
2 tasks
@minsangKang minsangKang linked a pull request Aug 11, 2024 that will close this issue
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature 기능 추가/변경/삭제
Projects
Status: In progress
Development

Successfully merging a pull request may close this issue.

1 participant