Skip to content

Conversation

@lsj8706
Copy link
Collaborator

@lsj8706 lsj8706 commented May 15, 2023

🌱 작업한 내용

  • 방문자용 플로우를 구현했습니다.
  • 코스 그리기 쪽 뷰 UI 자잘한 수정 사항들을 반영했습니다.
  • 방문자들에게 보여줄 UI를 기존에 만들어둔 Component들을 활용해 쉽게 추가할 수 있었습니다.
  • 방문자일 경우 api 헤더를 분기처리하여 전송하도록 했습니다.

🌱 PR Point

  • 카카오톡이 설치되어 있는 실기기에서 카카오 로그인이 되지 않는 문제를 해결했습니다. (sceneDelegate에 코드가 추가로 필요했습니다.)
  • 앱 버저닝을 시작했습니다. 지급부터 첫 배포까지는 1.0.0을 사용할 예정입니다!
  • CourseListCVC의 스크랩 하트 버튼의 크기를 키웠습니다.

📸 스크린샷

구현 내용 스크린샷
방문자 플로우 Simulator Screen Recording - iPhone 14 - 2023-05-15 at 23 22 13

📮 관련 이슈

@lsj8706 lsj8706 added Feat 새로운 기능 구현 세진☃️ labels May 15, 2023
@lsj8706 lsj8706 self-assigned this May 15, 2023
Copy link
Contributor

@dlwogus0128 dlwogus0128 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

옛날에는 코드가 다 어렵게만 보여서 하나도 이해가 안 갔는데.. 지금은 그래도 어떤 식으로 코드를 작성하셨는지 전부는 아니더라도 이해가 가서! 신기해요.. 적절한 함수명 명명이라던지.. 코드가 깔끔해서 다른 사람이 봐도 흐름이 눈에 보이게 작성하시는 점이 넘 멋있습니다.. 저도 좀 더 노력해서 ㅋ 알아듣기 쉬운 코드를 짜도록 해볼게요! 수고하셨습니다!

}

@objc private func completeButtonDidTap() {
guard handleVisitor() else { return }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

로그인을 하고 나면 방문자 변수를 false로 하는 방식으로 방문자인지 아닌지를 구분하는 거군녀!! 신기하네요

var leftButtonTapAction: (() -> Void)?
var rightButtonTapAction: (() -> Void)?

private var cancelBag = CancelBag()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cancleBag은 combine을 써서 할당된 액션을 다 취소해주려고 선언하신 거죠..? 넘 신기한 기능이네요.. 나중에 콤바인 공부하고 다시 살펴볼게요

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Combine은 스트림을 생성하여 비동기적으로 액션을 처리하는 (반응형이라는 명칭이 있음) 프레임워크에요!
cancelBag은 RxSwift처럼 이 스트림을 관리하기 위해 한번 감싼 객체입니다. 원래는 Set<AnyCancellable> 로 선언해야해요!
클래스의 deInit 시점에 연결해놓은 스트림을 취소하기 위해 선언한 거에요~!
Combine을 공부하기 전에 클로저를 사용한 비동기처리를 먼저 공부하고 도전해보면 좋아요! 매우 편리합니다

var urlRequest = urlRequest

// 방문자일 경우
if UserManager.shared.userType == .visitor && urlRequest.url?.absoluteString.hasPrefix(Config.baseURL) == true {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

urlRequest의 앞부분이 저희 baseurl과 같은지 확인하는 이유가 따로 있나요?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

코스 출발지 검색 api는 카카오 주소 api를 사용하고 있기 때문에 저희 서버 baseUrl과 달라요! 그래서 이 api 호출에서는 방문자를 분기처리할 필요가 없습니다.
사실 이 api 호출시에는 AuthInterCeptor가 실행되지 않도록 했지만 혹시 모르니 한번 더 안전장치로 걸러주고 있습니다.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아 그렇쿤요!1 이해했습니다 감사합니다!

@lsj8706
Copy link
Collaborator Author

lsj8706 commented May 17, 2023

옛날에는 코드가 다 어렵게만 보여서 하나도 이해가 안 갔는데.. 지금은 그래도 어떤 식으로 코드를 작성하셨는지 전부는 아니더라도 이해가 가서! 신기해요.. 적절한 함수명 명명이라던지.. 코드가 깔끔해서 다른 사람이 봐도 흐름이 눈에 보이게 작성하시는 점이 넘 멋있습니다.. 저도 좀 더 노력해서 ㅋ 알아듣기 쉬운 코드를 짜도록 해볼게요! 수고하셨습니다!

저도 깔끔한 코드를 작성하려고는 하지만 아직 많이 부족해요!
이번 프로젝트에서도 더 깔끔하게 할 수 있을 부분들이 많이 있지만 시간상 + 팀 전체적인 난이도를 고려하여 작업을 하고 있어서 스스로도 아쉬운 부분들이 많이 있습니다..!
그래도 도움이 되고 있다니 다행이네요~~! 👍

@lsj8706 lsj8706 merged commit b3d6309 into Runnect:develop May 17, 2023
@lsj8706 lsj8706 deleted the feat/#132-방문자-플로우 branch May 17, 2023 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feat 새로운 기능 구현 세진☃️

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[Feat] 방문자 플로우 구현

2 participants