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

[CVW-030] 웹소켓 & 환율정보 획득 과정 에러처리 #41

Merged
merged 50 commits into from
Feb 2, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
eb61c16
[CVW-030] Refactor, 웹소켓 상태와 오류를 분리
J0onYEong Jan 30, 2025
0a58bdb
[CVW-030] Refactor, 웹소켓 메세지를 수신하는 레포지토리에서 웹소켓 오류처리 추출
J0onYEong Jan 30, 2025
e755076
[CVW-030] Refactor, 불필요 프로퍼티 제거
J0onYEong Jan 30, 2025
2ec1948
[CVW-030] Chore, 코드라인 정리
J0onYEong Jan 30, 2025
2993b5d
[CVW-030] Feat, 콜백이 없는 에러를 처리하기 위해 리스너 구현 및 인터페이스 추가
J0onYEong Jan 30, 2025
925121b
[CVW-030] Feat, NSError핸들링 코드 추가
J0onYEong Jan 30, 2025
f6408dd
[CVW-030] Feat, 바이낸스 웹소켓 응답 DTO구현
J0onYEong Jan 30, 2025
2a274eb
[CVW-030] Feat, 바이낸스 웹소켓 에러 객체 구현
J0onYEong Jan 30, 2025
15591a2
[CVW-030] Feat, 바이낸스 웹소켓 에러 처리 플로우 구현
J0onYEong Jan 30, 2025
35b8d45
[CVW-030] Fix, 웹소켓 서비스 인터페이스 변동에 따른 Stub객체 수정
J0onYEong Jan 30, 2025
ae1eddc
[CVW-030] Feat, Error shooter구현 위치 주석표기
J0onYEong Jan 30, 2025
b8230f8
[CVW-030] Feat, AlertShooter모듈 생성
J0onYEong Jan 30, 2025
481215f
[CVW-030] Feat, AlertModel생성
J0onYEong Jan 31, 2025
8c364c5
[CVW-030] Feat, AlertModel구현
J0onYEong Jan 31, 2025
841ef14
[CVW-030] Chore, 디렉토리 구조 변경
J0onYEong Jan 31, 2025
0a59820
[CVW-030] Feat, AlertShooter인터페이스 구현
J0onYEong Jan 31, 2025
606314b
[CVW-030] Feat, AlertShooter구현체 구현
J0onYEong Jan 31, 2025
1700aec
[CVW-030] Chore, 디렉토리 구조 변경
J0onYEong Jan 31, 2025
523aae9
[CVW-030] Feat, AlertShooter모듈 의존성 지정
J0onYEong Jan 31, 2025
d89f085
[CVW-030] Feat, AlertModel생성자 수정
J0onYEong Jan 31, 2025
11c6639
[CVW-030] Refactor, AlertShooter메인 쓰레드 사용방법 변경
J0onYEong Jan 31, 2025
8309758
[CVW-030] Feat, 스트림 구독 실패 Alert전송 구현
J0onYEong Jan 31, 2025
3b24a23
[CVW-030] Feat, Alert에 사용되는 텍스트 Localizable파일에 정의
J0onYEong Jan 31, 2025
2a550bd
[CVW-030] Feat, Alert모델 Config구현 및 적용
J0onYEong Jan 31, 2025
c88fac2
[CVW-030] Feat, RootModule AlertShooter의존성 지정 및 AlertRO구현 및 적용
J0onYEong Jan 31, 2025
2352d1c
[CVW-030] Feat, 커스텀 Alert뷰 구현, Modifier구현 및 적용
J0onYEong Jan 31, 2025
aa3841d
[CVW-030] Feat, 커스텀 Alert뷰 적용
J0onYEong Jan 31, 2025
28e2f93
[CVW-030] Feat, Localizable텍스트 키 수정
J0onYEong Jan 31, 2025
8315ec1
[CVW-030] Feat, AlertShooter 테스트 더블 객체 구현 및 테스트 코드 사용
J0onYEong Jan 31, 2025
686a16c
[CVW-030] Feat, AletShooter 의존성 주입 구현
J0onYEong Jan 31, 2025
53d1022
[CVW-030] Feat, 스트림 구독 해제 실패시 Alert전송 구현
J0onYEong Jan 31, 2025
5f6819d
[CVW-030] Feat, 스트림 구독 해제 실패시 Alert전송 여부 테스트 코드 구현
J0onYEong Jan 31, 2025
e445aac
[CVW-030] Feat, Alert키 추가 및 TextKey타입을 구현
J0onYEong Jan 31, 2025
ea15047
[CVW-030] Feat, 불일치 키가 없는지 검사하는 테스트코드 작성
J0onYEong Jan 31, 2025
b58e5fc
[CVW-030] Feat, 웹소켓 헬퍼 i18N의존 및 상황별 AlertModel구현
J0onYEong Jan 31, 2025
84c239e
[CVW-030] Docs, 의존성 그래프 업데이트
J0onYEong Jan 31, 2025
a4c8ca3
[CVW-030] Feat, 웹소켓 연결 시도 실패시 Alert전송 구현
J0onYEong Jan 31, 2025
f8cbef3
[CVW-030] Feat, Alet Queue를 만들어 연속해서 전달되는 Alert관리 구현
J0onYEong Jan 31, 2025
5520ac3
[CVW-030] Feat, 환율 정보 관련 텍스트 키 추가
J0onYEong Jan 31, 2025
e3f0a50
[CVW-030] Feat, 환율 정보 획득 실패시 오류 처리 구현
J0onYEong Jan 31, 2025
ad81b82
[CVW-030] Docs, 의존성 그래프 업데이트
J0onYEong Jan 31, 2025
6f917a8
[CVW-030] Feat, ExchangeUseCase인터페이스 변경
J0onYEong Jan 31, 2025
fbbd6e5
[CVW-030] Feat, AllMarketTicker AlertShooter의존
J0onYEong Jan 31, 2025
f975234
[CVW-030] Feat, AllMarketTicker의존성 지정 및 Mock객체 생성 및 주입
J0onYEong Jan 31, 2025
d1afbf8
[CVW-030] Refactor, 테스팅 객체 이름 변경
J0onYEong Jan 31, 2025
370f951
[CVW-030] Chore, Alert버튼 색상 변경
J0onYEong Feb 1, 2025
c19194e
[CVW-030] Feat, AlertConfig삭제 및 Role타입 생성
J0onYEong Feb 1, 2025
4c5740d
[CVW-030] Chore, 디렉토리 구조 변경
J0onYEong Feb 1, 2025
a64c5bd
[CVW-030] Refactor, AlertAction role적용
J0onYEong Feb 1, 2025
442cd41
[CVW-030] Chore, 불필요 출력함수 제거
J0onYEong Feb 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions Pipfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]

[dev-packages]

[requires]
python_version = "3.12"
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ public enum ModuleDependency {
public static let WebSocketManagementHelper: TargetDependency = .project(target: "WebSocketManagementHelper", path: .relativeToRoot("Projects/Shared/WebSocketManagementHelper"))

public static let I18N: TargetDependency = .project(target: "I18N", path: .relativeToRoot("Projects/Shared/I18N"))

public static let AlertShooter: TargetDependency = .project(target: "AlertShooter", path: .relativeToRoot("Projects/Shared/AlertShooter"))
}

public enum Util {
Expand Down
1 change: 1 addition & 0 deletions Projects/App/Project.swift
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ let project = Project(
D.Util.PresentationUtil,

// Shared
D.Shared.AlertShooter,
D.Shared.WebSocketManagementHelper,
],
settings: .settings(
Expand Down
11 changes: 9 additions & 2 deletions Projects/App/Sources/DI/Assembly/SharedAssembly.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import DataSource

import WebSocketManagementHelper
import I18N
import AlertShooter

import Swinject
import I18N
Expand All @@ -17,10 +17,17 @@ public class SharedAssembly: Assembly {

public func assemble(container: Swinject.Container) {

// MARK: AlertShooter
container.register(AlertShooter.self) { _ in
DefaultAlertShooter()
}
.inObjectScope(.container)

// MARK: WebSocketManagementHelper
container.register(WebSocketManagementHelper.self) { resolver in
DefaultWebSocketManagementHelper(
webSocketService: resolver.resolve(WebSocketService.self)!
webSocketService: resolver.resolve(WebSocketService.self)!,
alertShooter: resolver.resolve(AlertShooter.self)!
)
}
.inObjectScope(.container)
Expand Down
22 changes: 22 additions & 0 deletions Projects/Data/DataSource/Sources/DTO/BinanceResponseDTO.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
//
// BinanceResponseDTO.swift
// Data
//
// Created by choijunios on 1/30/25.
//

import Foundation

// MARK: Response
struct BinanceResponseDTO: Decodable {
let id: String
let status: Int
let error: BinanceErrorDTO?
}


// MARK: Error DTO
struct BinanceErrorDTO: Decodable {
let code: Int
let msg: String
}
Loading