Skip to content
New issue

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

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

Already on GitHub? # 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 생성 & 반영
    • #UseCase 생성 & 반영
    • 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 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
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
feature 기능 추가/변경/삭제
Projects
Status: In progress
Development

Successfully merging a pull request may close this issue.

1 participant