Conversation
* Feat: Logger 구현 * Del: 임시 파일 (Shared.swift) 삭제 * Fix: log 메시지 출력 형식 변경 - 파일명, 라인 수, 함수명 default로 출력하도록 수정
[Feat] SnapKit, Then 외부 라이브러리 추가
* Del: 임시 파일 (Domain.swift) 삭제 * Feat: Endpoint 구현 (#T3-57) - Endpoint 프로토콜 구현 - Network 레이어에 Endpoint extension 구현 - 편의성을 위한 URLRequest extension 구현 * Feat: 네트워크 로직을 위한 enum 값들 구현 (#T3-57) - NetworkError, HTTPMethod, AppProperties 구현 * Feat: NetworkService 구현 - NetworkServiceProtocol 추상체 구현 - NetworkService 구현체 구현 * Feat: BaseResponseDTO 구현 (#T3-57) * Feat: 개발 서버 테스트 구현 - health-check API를 통한 테스트 진행 - 이를 위한 Endpoint, UseCase, Repository 구현 - App 모듈에 의존성 추가 (NetworkService, Persistence)
[Feat-T3-60] Persistence 구현
* Feat: Gray 색상 Asset 추가 (#T3-64) * Feat: BitnagilColor Enum 정의 (#T3-64) * Feat: Pretendard 폰트 파일 추가 * Feat: BitnagilFont Enum 정의 (#T3-64) - BitnagilFont Enum 정의 - FontName Enum 정의 - UIFont extension 구현 * Chore: Project 파일 수정 - 각 모듈의 infoPlist 설정 제거 - App 단의 info.plist 파일 사용하도록 수정
* Feat: ViewModel protocol 구현 (#T3-65) * Feat: BaseViewController 구현 (#T3-56) * Refactor: Test를 위한 HomeViewController 및 Test 객체들 수정 * Feat: Design System 구현 (#T3-64) * Feat: Gray 색상 Asset 추가 (#T3-64) * Feat: BitnagilColor Enum 정의 (#T3-64) * Feat: Pretendard 폰트 파일 추가 * Feat: BitnagilFont Enum 정의 (#T3-64) - BitnagilFont Enum 정의 - FontName Enum 정의 - UIFont extension 구현 * Chore: Project 파일 수정 - 각 모듈의 infoPlist 설정 제거 - App 단의 info.plist 파일 사용하도록 수정 * Refactor: BaseViewController의 viewModel 접근 제한자 수정 및 중복 제거 * Feat: ViewModel protocol 구현 (#T3-65) * Feat: BaseViewController 구현 (#T3-56) * Refactor: Test를 위한 HomeViewController 및 Test 객체들 수정 * Refactor: BaseViewController의 viewModel 접근 제한자 수정 및 중복 제거 * Refactor: HomeViewController에 디자인 시스템 적용
* Refactor: DIContainer 로직 수정 (#T3-63) - 기존 Any 타입으로 인스턴스를 저장하던 의존성을 factory closure 형태로 변경 - resolve 시 클로저 실행을 통해 인스턴스를 생성하도록 개선 * Feat: DependencyAssemblerProtocol 구현 (#T3-63) * Feat: 각 모듈별 DependencyAssembler 구현 - Network, Persistence, DataSource, Domain, Presentation 모듈의 DependencyAssembler 구현 - previous 의존성을 명시하여 DI 등록 순서를 보장하도록 함 * Feat: App 모듈에 DependencyInjection 함수 구현 (#T3-63) * Del: DataSoure의 불필요한 Resources 파일 제거 * Refactor: NetworkService 테스트 가능한 구조를 위해 NetworkProviderProtocol 구현 및 채택
- Endpoint, URLRequest 수정 - 기존 parameter만 받던 Endpoint에서 queryParameters, bodyParameters를 구분지어서 받도록 수정 - 확장해서 만든 커스텀 URLRequest 생성자에서 url 뿐만 아니라 queryParamters도 받아 쿼리 파라미터가 있다면 붙여서 url 만들어주도록 수정 - 그에 따른 TestEndpoint 수정
- Enum, Error 폴더 구조 정리 - AuthEndpoint 구현 - AuthRepository 구현체 및 추상체 구현 - LoginUseCase 구현체 및 추상체 구현
* Style: 통일성을 위한 폴더명 변경 * Refactor: BaseViewController 및 ViewModel에 public 접근제어자 삭제 * Refactor: NetworkService 리팩토링 - BaseResponseDTO DataSource에서 Network 모듈로 이관 - T 타입 반환에서 T? 타입 반환으로 수정 (EmptyResponse 대응) - Server Message 출력 * Feat: 온보딩 선택지 등록 및 추천 루틴 받기 구현 (#T3-102) - OnboardingEndpoint 정의 - OnboardingRepositoryProtocol · OnboardingRepository 구현 - OnboardingUseCaseProtocol · OnboardingUseCase 구현 * Feat: Onboarding 관련 의존성 조립 (#T3-102) - DataSource, Domain, Presentaion 레이어에서 OnboardingRepository, OnboardingUseCase, OnboardingViewModel 의존성 등록 * Feat: 로그인 결과에 따른 이용약관 vs 온보딩 화면 분기 처리 * Feat: CustomFontStyle 추가 - 디자인 시스템에 정의되어 있는 폰트 외에도 정의해서 사용할 수 있도록 custom 케이스 추가 * Feat: 온보딩 선택 결과 바탕으로 추천 받은 루틴 등록 구현 (#T3-102) * Refactor: AuthRepository do-catch 블록 수정 * Refactor: 의존성 없을 시 fatalError 발생하도록 수정 * Refactor: 온보딩 선택지 Dictonary 변경 로직 수정
* Refactor: BitnagilColor 수정 - 기존 White 계열 컬러들 Orange로 수정 - HomeGradient 색상 및 Error 색상 추가 * Docs: 홈 탭바 아이콘 이미지 Asset 추가 * Feat: TabBarView 구현 * Style: 코드 컨벤션을 위한 import 순서 정렬 * Refactor: Gradient 오타 수정
* Feat: 아이콘 이미지 Asset 추가 및 BitnagilIcon 케이스 추가 - plus, chevron 아이콘 이미지 asset 추가 - BitnagilIcon plus, chevron 아이콘 케이스 추가 - UIImage extension을 통해 resize 및 roate 함수 구현 * Feat: 추천 루틴 카테고리 타입 및 뷰 구현 (#T3-70) * Feat: 추천 루틴 난이도 타입 및 뷰 구현 (#T3-70) - RoutineLevelType enum 정의 - RoutineLevelView UI 구현 (+ RoutineLevelCell) - RoutineLevelButton 구현 * Feat: 감정 등록 버튼 구현 (#T3-70) * Feat: 추천 루틴 카드 뷰 구현 (#T3-70) * Style: BaseViewController, ViewModel 폴더 위치 변경 * Feat: CustomButtonSheet 구현 * Feat: RecommendedRoutineView 구현 (#T3-70) * Feat: RecommendedRoutineViewModel 구현 (#T3-70) * Feat: Presentation 모듈에 RecommendedViewModel 의존성 추가 * Feat: TabBarView에 추천 루틴 View 변경 - 기존 테스트용 View 삭제 * Fix: ScrollViewBottomSpacing 값 수정 * Refactor: Delegate 함수 네이밍 수정 * Refactor: RoutineLevelView 테이블 뷰 셀 UI 수정 - RoutineLevelView 테이블 뷰 셀 밑줄 간격 조정 및 마지막 셀 밑줄 생략 - CustomBottomSheet 투명도 변경 * Refactor: RoutineLevelType 정렬 중복 로직 정리
* Feat: 이미지 asset 추가 (#T3-104)
- BitnagilIcon에 이미지 추가
* Feat: NSObject extension 추가 (#T3-104)
- {class이름}.className을 통해 클래스의 이름을 스트링으로 사용할 수 있도록 구현
* Feat: UserDataRepository 구현 (#T3-104)
- 유저 정보 (닉네임, accessToken)을 가져올 수 있는 repository 구현
- UserDataRepository 의존성 등록
* Feat: 마이페이지 화면 구현 (#T3-104)
- 마이페이지 화면 구현
- 의존성 등록
- TabBar에서 Myapge 클래스 삭제
* refactor: 코드 리뷰 반영
* Feat: 메인 루틴 Component UI 구현 (#T3-105) - epllipsis 아이콘 에셋 추가 및 BitnagilIcon 프로퍼티 추가 - MainRoutineView 구현 * Refactor: MainRoutineView 리팩토링 - Layout enum 추가 - 불필요한 do 문법 제거 - MainRoutine 구조체 폴더 위치 변경 * Feat: SubRoutineButton UI 구현 (#T3-105) * Feat: RoutineView UI 구현 (#T3-105) * Feat: DateView UI 구현 (#T3-105) * Feat: HomeEmptyView UI 구현 (#T3-105) * Feat: 이미지 에셋 추가 및 BitnagilIcon에 정의 - informationIcon, sortIcon HomeView에서 필요한 이미지 에셋 추가 * Feat: 홈 감정구슬 등록하기 버튼 UI 구현 (#T3-105) * Feat: WeekView UI 구현 (#T3-105) * Feat: HomeView UI Layout 구현 (#T3-105) * Feat: 루틴 정렬, 필터링 테이블뷰 재사용 SelectableItemTableView로 구현 (#T3-105) - SelectableItem protocol 정의 (정렬, 필터링 시 선택지) - SelectableItemCell UI 구현 - SelectableItemTableView UI 구현 - RoutineLevelView, RoutineLevelCell 삭제 -> SelectableItemTableView 재사용 - RoutineSortType 정의 * Feat: HomeViewModel + HomeView 연동 (#T3-105) * Refactor: routinesSubject 오타 수정
* Refactor: NetworkService, Persistence 모듈 DataSource 모듈 합치기 * Refactor: Then 외부 라이브러리 제거 및 사용 코드 제거 * Feat: TokenManager 구현 * Refactor: Endpoint에 isAuthorized 값 추가 - Endpoint에 isAuthorized 값 추가 (인증이 필요한지 여부) - 그렇다면 Endpoint 만들 때 header에 TokenManager에서 accessToken 빼와서 저장 * Refactor: UserDataRepository에 token 재발급 로직 추가 * Feat: 로그인 시 소셜 로그인 타입, 프로필 이미지 저장 - 카카오 로그인 시 nickname, profileImageUrl을 KakaoSDK에서 받아와 저장하도록 로직 추가 - 카카오, 애플 로그인 시 소셜 로그인 타입 저장하도록 로직 추가 * Fix: 온보딩 서버 Request Enum 값 변경 - 온보딩 서버 Request Enum 값 변경 - 온보딩 UI 수정 (SubTitle 여부) * Feat: UserDataRepository에서 토큰 재발급 가능 여부에 따라 앱 진입점 분기처리 * Fix: 토큰 재발급 로직 Response 타입 변경 - TokenResponseDTO 구현 - reissue response 타입 교체 * Style: 불필요한 주석 제거 * Style: UserDataRepository 오타 수정 * Refactor: 코드 리뷰 반영 - NetworkService에서 endpoint.isAuthorized 값 확인하여 헤더에 토큰 값 세팅해주는 로직으로 수정 - 카카오 유저 정보 (닉네임, 프로필 이미지 URL) 메인스레드에서 동작하는 것 제거 - SceneDelegate에서 SplashView를 먼저 표시하고, reissueToken 결과에 따라 rootViewController 교체하도록 구조 개선 * Refactor: import SnapKit 추가
* feat: 루틴 추가 화면 이미지 asset 추가 (#T3-110) * feat: ToolTipView 구현 (#T3-110) * feat: 서브루틴 추가 View 구현 (#T3-110) * feat: 루틴 생성 ViewModel 구현 (#T3-110) * feat: 기타 subview 구현 (#T3-110) - 루틴 시작 시간 선택 버튼 - 서브 루틴 추가 버튼 * feat: 루틴 추가 화면 구현 (#T3-110) * fix: Tooltip 오타 수정 (#T3-110) * refactor: 코드 리뷰 반영
* feat: DatePickerView 구현 * fix: 하루 종일 설정 버튼 추가 - 하루 종일 UILabel을 눌러도 하루 종일 버튼이 눌리도록 수정 * refactor: 코드 리뷰 반영
* Docs: 감정 구슬 이미지 Asset 추가 및 BitnagilGraphic에 케이스 추가 (#T3-69) - 감정 구슬 이미지 Asset 추가 - 이미지 Asset 폴더링 정리 - BitnagilGraphic에 감정 구슬 변수 추가 * Feat: 감정 구슬 화면 UI 구현 (#T3-69) - 감정 구슬 enum 타입 정의 (EmotionType) - 감정 구슬 CollectionViewCell UI 구현 (EmotionOrbCollectionViewCell) - 감정 구슬 등록 화면 UI 구현 (EmotionRegisterView) * Feat: EmotionRegisterViewModel 의존성 조립 및 감정 등록 화면 연결 (홈, 추천 루틴) * Style: emotionOrbCollectionView let으로 수정
* Style: 일부 파일들 import 컨벤션 맞추기 * Feat: RecommendedRoutineRepository 구현 (#T3-121) - RecommendedRoutineDTO, RecommendedRoutineDictionaryResponseDTO, RecommendedRoutineListResponseDTO 타입 정의 - RecommendedRoutineEndpoint 생성 - RecommendedRoutineRepositoryProtocol, RecommendedRoutineRepository 정의 및 구현 * Feat: RecommendedRoutineUseCase 구현 (#T3-121) - RecommendedRoutineUseCaseProtocol, RecommendedRoutineUseCase 정의 및 구현 - RecommendedRoutineEntity 수정 (카테고리, 난이도 값 추가) - RoutineCategoryType, RoutineLevelType 위치 변경 (기존 Presentation -> Domain) * Refactor: 추천 루틴 뷰 수정 (#T3-121) - 감정 등록 버튼이 추천 루틴 목록들보다 상단에 뜨도록 UI 수정 - RecommendedRoutineCardView에서 Label trailing Layout 추가 * Refactor: RoutineLevelType, RoutineCategoryType 모듈 위치 변경으로 인한 Presentation 모듈 수정 - Presentation 모듈에 있는 RoutineLevelType, RoutineCategoryType가 Domain을 extension해서 필요한 값을 추가하여 사용할 수 있도록 수정 - 그에 따른 import Domain 추가 * Feat: RecommendedRoutineView 및 RecommendedRoutineViewModel 로직 구현 (#T3-121) - 전체 추천 루틴 받아오는 로직 추가 + 더미 데이터 삭제 - 카테고리 및 난이도에 대해 받아온 루틴 필터링하는 로직 추가 - 의존성 조립 (DataSource, Domain, Presentation) * Feat: FloatingButton, FloatingMenuView UI 구현 * Feat: 추천 루틴 화면에 FloatingButton 추가 및 등록 화면 이동 (#T3-121) - RecommendedRoutineView에 FloatingButton, FloatingMenu, dimmedView 추가 - 루틴 등록 화면으로 이동해야 하므로 RoutineCreationViewModel 의존성 등록 * Style: 오타 수정 * Refactor: 맞춤 추천 카테고리인 경우 감정 등록 버튼 보여주기
* feat: 네트워크 플러그인 프로토콜 구현 * feat: 네트워크 플러그인 구현 * feat: networkService에 플러그인 적용 * refactor: 코드래빗 리뷰 반영 * refactor: 코드 리뷰 반영
* Style: 클라에서 저장하고 있는 감정 구슬 값 삭제 (이미지 Asset, EmotionType 등) * Feat: Emotion 조회 및 등록 API 연동 (#T3-127) - EmotionEndpoint 정의 - EmotionRepositoryProtocol, EmotionRepository 정의 및 구현 (+ EmotionResponseDTO) - EmotionUseCaseProtocol, EmotionUseCase 정의 및 구현 (+ EmotionEntity) * Chore: Kingfisher 외부 라이브러리 의존성 추가 * Refatcor: 감정구슬 Cell, 감정구슬 등록 화면 수정 (#T3-127) - 서버 통신으로 받은 값들을 보여주도록 수정 - 감정 구슬 이미지 Kingfisher로 출력 * Docs: 그래픽 이미지 Asset 추가 및 BitnagilGraphic 케이스 추가 * Refactor: 기존 OnboardingUseCase 삭제 및 추천 루틴 받아오는 로직 이동 (#T3-127) - OnboardingUseCaseProtocol, OnboardingUseCase 삭제 - OnboardingRecommendedRoutineView 삭제 - 기존 온보딩 선택지 · 감정 값을 등록하고 추천 루틴을 받아오는 로직 이동 * Chore: Common View 폴더 생성 및 재사용 View 이동 (SplashView, TabBarView) * Feat: ResultRecommendedRoutineView · ResultRecommendedRoutineViewModel 구현 (#T3-127) - 추천 루틴 결과 값을 보여주는 화면(ResultRecommendedRoutineView) 구현 - 온보딩 선택지 or 감정 구슬 선택지에 따른 추천 루틴 받아오는 로직 - 선택한 추천 루틴 등록 로직 * Refactor: ResultRecommendedRoutineView 재사용을 위한 분기처리 (#T3-127) - MypageView, OnboardingResultView, EmotionRegisterView에서 재사용할 수 있도록 분기 처리 - OnboardingResultView에 그래픽 추가 * Feat: 의존성 조립 (Domain, DataSource, Presentation) * Refactor: 오타 수정 * Refactor: UIScreen.main 기준으로 height 계산하는 코드 수정
* Feat: 유저 닉네임 가져오는 API 연동 (#T3-130) - HomeView, MypageView에서 사용 * Chore: 이용 약관 및 공지사항 등 서비스 URL 교체 * Feat: HomeView에 FloatingButton 추가 (#T3-130) * Feat: 루틴 목록 조회 API 연동 (#T3-130) * Feat: 감정 구슬 관련 TooltipView 추가 (#T3-130) * Feat: RoutineDetailView UI 구현 (#T3-130) * Refactor: KakaoSDK에서 닉네임, 프로필 가져오는 로직 제거 * Refactor: 오타 수정 및 분기 처리 * Refactor: RoutineView, SubRoutineButton Layout 조정 * Refactor: LoginView, IntroView 그래픽 추가 * Chore: AppIcon 추가 * Feat: Home 화면에서 감정 구슬 보여주기 (#T3-130) * Fix: IntroView Layout 수정 * Fix: handleTap 좌표 계산 수정
* feat: 이미지 asset 추가 * feat: TableViewCell 구현 - TableView에서 사용할 수 있는 3가지 타입의 cell 구현 - chevron 이미지로 다음 화면으로 넘어갈 수 있는 cell - button이 있는 cell - switch가 있는 cell * feat: 커스텀 Alert View 추가 * feat: 설정 화면 커스텀 tableView Section HeaderView 구현 * feat: 설정 화면 구현 * feat: navigationController appearance 수정 * refactor: custom alert 파라미터 이름 수정, alert 표시 타입 수정 * refactor: 오타 수정 (토끼 리뷰 반영)
* feat: DTO -> Parameter 변환을 위한 Encodable extension 구현 * feat: 루틴 생성/수정 관련 DTO 정의 * feat: 루틴 endpoint 수정 - 루틴 생성 추가 - 루틴 수정 추가 - 루틴 단건 조회 추가 * fix: routine 엔티티의 id를 옵셔널로 수정 * feat: 루틴 repository 구현 * feat: 루틴 생성/수정 UseCase 구현 - 루틴 요약, 서브 루틴 요약 엔티티 생성 * feat: 루틴 등록/수정 로직 View와 연결
* feat: 네트워킹 로깅 플러그인 구현 * refactor: 불필요한 공백, 상수 제거
* Feat: 루틴 삭제 AlertView 구현 및 HomeView에 적용 (#T3-134) * Feat: 반복 루틴 전체 삭제 구현 (#T3-134) * Feat: 당일 루틴 삭제 구현 (#T3-134) * Refactor: 서버 Request에 routineType 추가 및 Layout enum 정의 * Refactor: 오타 및 컨벤션 수정
* Chore: Lottie 외부 라이브러리 의존성 추가 * Docs: Splash json 파일 및 bitnail logo 이미지 asset 추가 * Feat: SplashView UI 구현 * Chore: splash.json 파일 교체 - 용량이 너무 커서 git push가 안되는 이슈로 압축된 json 파일로 교체 * Chore: splash.json 파일 교체 * Refactor: SplashViewDelegate 구현하여 애니메이션 완료하도록 수정
* Feat: 온보딩 여부 저장 및 불러오기, 삭제 로직 구현 - 온보딩 여부 저장, 불러오기, 삭제 로직 구현 - 필요없는 profileImageUrl 저장, 불러오기, 삭제 로직 제거 * Feat: 온보딩 여부에 따른 진입 뷰 분기 처리 - 온보딩 여부에 따른 진입 뷰 분기 처리 - 그에 따른 ViewController, ViewModel 접근제어자 변경 (internal -> public) * Feat: 온보딩 네비게이션 Background 색상 변경 * Refactor: 코드 리뷰 반영 - 중복된 네비게이션 바 Appearance 설정 제거 - OnboardingView viewDidLoad 제거 * Refactor: 온보딩 첫 화면에서 백버튼 제거
* feat: 알림 section 주석 처리 * feat: 설정 로직 구현 * feat: 업데이트 로직 추가 * Feat: 프로필 default 이미지 asset 추가 및 MypageView에 세팅 * Refactor: isAuthenticated 값에 따른 화면 전환 --------- Co-authored-by: 최정인 <wjddls980912@naver.com>
* Feat: 추천 루틴 화면에서 감정 등록에 따른 감정 버튼 안보이게 하기 * Fix: 루틴 삭제 performedDate 수정 * Feat: RoutineView UI 인터랙션 (#T3-144) - 세부 루틴 완료 값에 따른 메인 루틴 완료 값 업데이트 - 메인 루틴 완료 값에 따른 세부 루틴 완료 값 업데이트 * Feat: 루틴 완료 API 연동 (#T3-144) * Feat: loadingIndicatorView 추가 * Feat: 루틴 정렬 로직 구현 * Fix: 루틴 완료 배열 수정
* feat: 추천 루틴 등록하기 기능 추가 * Refactor: 오타 수정 --------- Co-authored-by: 최정인 <wjddls980912@naver.com>
* Fix: reissue role에 따른 화면 분기 처리 * Feat: Home Toast View 적용 * Fix: 감정 구슬 등록 후 추천 루틴 등록 화면 이동 * Chore: 빌드 버전 업 (0.0.1 -> 0.0.3) * Refactor: 오타 수정 * Refactor: nil일 때에도 감정 구슬 등록 action 추가
* Fix: 루틴 fetch 로직 수정 * Fix: 루틴 등록 시, 키보드 내려가는 로직 수정 * Fix: 루틴 등록 수정 - 키보드 입력 끊김 이슈 수정 - 루틴 반복 선택하지 않아도 등록 활성화 되도록 수정
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
taipaise
added a commit
that referenced
this pull request
Aug 8, 2025
* Feat: SnapKit, Then 외부 라이브러리 추가 * Feat: Logger 구현 * Feat: Logger 구현 * Del: 임시 파일 (Shared.swift) 삭제 * Fix: log 메시지 출력 형식 변경 - 파일명, 라인 수, 함수명 default로 출력하도록 수정 * Feat: DIContainer 구현 (#T3-56) * Update Package.swift * [Del} 불필요한 이미지 파일 삭제 * Feat: Keychain 및 UserDefaults 기반 Persistence 구현 (#T3-60) * Feat: Persistence 저장소 리팩토링 (#T3-60) * Feat: NetworkService 구현 (#T3-57) * Del: 임시 파일 (Domain.swift) 삭제 * Feat: Endpoint 구현 (#T3-57) - Endpoint 프로토콜 구현 - Network 레이어에 Endpoint extension 구현 - 편의성을 위한 URLRequest extension 구현 * Feat: 네트워크 로직을 위한 enum 값들 구현 (#T3-57) - NetworkError, HTTPMethod, AppProperties 구현 * Feat: NetworkService 구현 - NetworkServiceProtocol 추상체 구현 - NetworkService 구현체 구현 * Feat: BaseResponseDTO 구현 (#T3-57) * Feat: 개발 서버 테스트 구현 - health-check API를 통한 테스트 진행 - 이를 위한 Endpoint, UseCase, Repository 구현 - App 모듈에 의존성 추가 (NetworkService, Persistence) * Refactor: 피드백 기반 UserDefaultsStore 네이밍 및 불필요 타입 제거 (#T3-60) * Refactor: KeyValueStorage 네이밍 및 계층 구조 정리 (#T3-60) * Refactor: UserDefaults 밑 KeychainStorageProtocol (#T3-60) * Refactor: KeychainStorage 오탈자 수 (#T3-60) * Fix: UserDefaultsStorageProtocol 구현 타입 수정 (#T3-60) * Refactor: UserDefaultsStorage 제네릭 타입 대응 및 프로토콜 정합성 개선 (#T3-60) * Del: Git Cache 및 불필요한 파일 삭제 * Docs: gitignore 정보 추가 * Del: .xcworkspace 파일 삭제 * Feat: Design System 구현 (#T3-64) * Feat: Gray 색상 Asset 추가 (#T3-64) * Feat: BitnagilColor Enum 정의 (#T3-64) * Feat: Pretendard 폰트 파일 추가 * Feat: BitnagilFont Enum 정의 (#T3-64) - BitnagilFont Enum 정의 - FontName Enum 정의 - UIFont extension 구현 * Chore: Project 파일 수정 - 각 모듈의 infoPlist 설정 제거 - App 단의 info.plist 파일 사용하도록 수정 * Feat: BaseViewController 및 ViewModel protocol 구현 (#T3-65) * Feat: ViewModel protocol 구현 (#T3-65) * Feat: BaseViewController 구현 (#T3-56) * Refactor: Test를 위한 HomeViewController 및 Test 객체들 수정 * Feat: Design System 구현 (#T3-64) * Feat: Gray 색상 Asset 추가 (#T3-64) * Feat: BitnagilColor Enum 정의 (#T3-64) * Feat: Pretendard 폰트 파일 추가 * Feat: BitnagilFont Enum 정의 (#T3-64) - BitnagilFont Enum 정의 - FontName Enum 정의 - UIFont extension 구현 * Chore: Project 파일 수정 - 각 모듈의 infoPlist 설정 제거 - App 단의 info.plist 파일 사용하도록 수정 * Refactor: BaseViewController의 viewModel 접근 제한자 수정 및 중복 제거 * Feat: ViewModel protocol 구현 (#T3-65) * Feat: BaseViewController 구현 (#T3-56) * Refactor: Test를 위한 HomeViewController 및 Test 객체들 수정 * Refactor: BaseViewController의 viewModel 접근 제한자 수정 및 중복 제거 * Refactor: HomeViewController에 디자인 시스템 적용 * Feat: Dependency Assembler 구현 (#T3-63) * Refactor: DIContainer 로직 수정 (#T3-63) - 기존 Any 타입으로 인스턴스를 저장하던 의존성을 factory closure 형태로 변경 - resolve 시 클로저 실행을 통해 인스턴스를 생성하도록 개선 * Feat: DependencyAssemblerProtocol 구현 (#T3-63) * Feat: 각 모듈별 DependencyAssembler 구현 - Network, Persistence, DataSource, Domain, Presentation 모듈의 DependencyAssembler 구현 - previous 의존성을 명시하여 DI 등록 순서를 보장하도록 함 * Feat: App 모듈에 DependencyInjection 함수 구현 (#T3-63) * Del: DataSoure의 불필요한 Resources 파일 제거 * Refactor: NetworkService 테스트 가능한 구조를 위해 NetworkProviderProtocol 구현 및 채택 * Feat: 빌드 체크 자동화 Github Actions 추가 * Chore: Kakao SDK 설치 및 Tuist 외부 의존성 추가 * Chore: Kakao SDK init 및 필요한 프로젝트 설정 세팅 * Refactor: 네트워크 모듈 세부 구현 수정 - Endpoint, URLRequest 수정 - 기존 parameter만 받던 Endpoint에서 queryParameters, bodyParameters를 구분지어서 받도록 수정 - 확장해서 만든 커스텀 URLRequest 생성자에서 url 뿐만 아니라 queryParamters도 받아 쿼리 파라미터가 있다면 붙여서 url 만들어주도록 수정 - 그에 따른 TestEndpoint 수정 * Feat: 카카오 로그인 기능 구현 (#T3-66) - Enum, Error 폴더 구조 정리 - AuthEndpoint 구현 - AuthRepository 구현체 및 추상체 구현 - LoginUseCase 구현체 및 추상체 구현 * Feat: LoginView 및 LoginViewModel 구현 (#T3-66) * Feat: 각 모듈 Assembler에 Login 및 Auth 의존성 추가 * Chore: info.plist 카카오 네이티브 키 설정 값 오타 수정 * Fix: 서버 요청사항에 맞게 Endpoint 수정 - AuthEndpoint 수정 - accessToken, refreshToken 저장 후 로그 찍기 * Feat: Apple 로그인 구현 (#T3-67) * Refactor: LoginView Layout Enum 상수값 네이밍 수정 * Feat: LoginViewController에 Apple Login 버튼 추가 * Fix: TokenResponse, TokenEntity 값 서버에 맞게 수정 * Refactor: Apple 로그인 토큰 값 및 유저 정보 가져오는 로직 ViewController로 이동 (#T3-67) - ASAuthorizationControllerDelegate, ASAuthorizationControllerPresentationContextProviding 채택해주는 로직 LoginViewController로 이동 (기존 AuthRepository) * Feat: LoginViewModel, LoginUseCase에 appleLogin 함수 구현 (#T3-67) - LoginViewModel에서 apple 로그인 결과에 따라 값을 방출할 수 있도록 구현 - LoginUseCaseProtocol, LoginUseCase appleLogin 함수 정의 및 구현 * Feat: AuthError 및 UserDefaultsKey Enum 값 정의 * Refactor: 카카오 로그인 에러 구체화 * Feat: AuthRepository appleLogin 구현 (#T3-67) - AuthRepositoryProtocol, AuthRepository appleLogin 정의 및 구현 - 받은 닉네임, 토큰 값을 통해 서버 통신 로직 구현 - UserDefaults에 닉네임 저장 및 불러오는 로직 구현 * Feat: AuthRepository UserDefaults 의존성 추가 * Chore: 프로젝트 세팅에 entitlements 지정 * Chore: 코드래빗 설정 파일 추가 * Refactor: Height 오타 수정 * Feat: 로그아웃, 탈퇴 및 토큰 재발급 로직 구현 (#T3-75) * Del: health-check 관련 테스트 코드 삭제 * Feat: AuthRepository에 로그아웃 함수 구현 (#T3-75) - AuthRepositoryProtocol, AuthRepository에 logout 함수 정의 및 구현 - AuthError에 토큰 삭제 에러 추가 * Feat: LogoutUseCase 구현 (#T3-75) - LogoutUseCase Protocol, LogoutUsecase logout 함수 정의 및 구현 - LoginUseCase 폴더 이동 * Feat: LoginViewController, LoginViewModel에 logout 함수 추가 - 테스트 진행을 위해 LoginViewModel, LoginViewController에 로그아웃 버튼 추가 및 함수 구현 * Feat: LogoutUseCase 의존성 조립 * Refactor: 서버 응답 값에 맞게 BaseResponseDTO 수정 * Feat: 소셜 로그인 탈퇴 구현 (#T3-75) - AuthEndpoint에 withdraw case 추가 - AuthRepositoryProtocol 및 AuthRepository에 withdraw 함수 정의 및 구현 - WithdrawUseCaseProtocol 및 WithdrawUseCase 정의 및 구현 - Domain, Presentation 의존성 등록 및 조립 - LoginViewModel, LoginViewController에 테스트를 위한 함수 및 버튼 추가 * Feat: 토큰 재발급 함수 reissueToken 구현 - AuthEndpoint에 reissue 케이스 추가 - AuthRepositoryProtocol 및 AuthRepository에 reissueToken 정의 및 구현 - LoginViewModel, LoginViewController에 reissue 테스트 관련 버튼 및 함수 추가 * Feat: 인트로 · 로그인 · 이용 약관 UI 구현 및 로직 정리 (#T3-86) * Chore: 디자인 시스템 색상 Color Asset 추가 및 BitnagilColor 변수 값 추가 - Figma 디자인 시스템에 정의된 색상 값 Asset 추가 - 그에 따른 BitnagilColor 변수 추가 - Bundle을 해당 모듈에서 찾을 수 있도록 코드 변경 * Chore: 디자인 시스템 폰트 정리 - 기존 Enum으로 정리된 BitnagilFont에서 Struct로 변경하여 weight 값에 따른 폰트를 받을 수 있도록 수정 - FontAttributes, FontStyle, FontWeight 등 폰트 정의에 필요한 enum 및 struct 정의 * Chore: 디자인 시스템 icon 이미지 Asset 추가 - apple, kakao, check icon 이미지 추가 - BitnagilIcon Enum 정의 * Feat: IntroView 구현 (#T3-86) - PrimaryButton Component 구현 - IntroView 구현 * Feat: LoginView UI 구현 및 로직 수정 (#T3-86) * Refactor: 로그인 서버 통신 관련 AuthRepository 및 LoginUseCase 수정 * Feat: IntroView UI 구현 (#T3-86) - IntroView UI 구현 - SceneDelegate 앱 진입점 수정 * Feat: LoginView UI 구현 (#T3-86) - LoginView UI 구현 - SocialLoginButton Component 구현 (카카오, 애플) * Feat: 이용 약관 동의 UI 구현 (#T3-86) - TermAgreementItemView 컴포넌트 구현 - TermAgreementView UI 구현 - LoginViewModel과 로직 구현 * Feat: 이용 약관 동의 로직 구현 (#T3-86) - 기존 TokenResponseDTO에서 LoginResponseDTO로 수정 (서버 응답에 User의 role이 추가되었음) - AuthEndpoint에 agreements 케이스 추가 - AuthRepositoryProtocol 및 AuthRepository에 submitAgreements 정의 및 구현 - LoginUseCaseProtocol 및 LoginUseCase에 submitAgreements 정의 및 구현 - LoginViewModel에 submitAgreement 로직 구현 * Feat: UIViewController extension에 공통 backbutton을 사용할 수 있도록 커스텀 * Fix: IntroView, TermsAgreementView에 Label 색상 적용 * Refactor: label 오타 수정 * Feat: 온보딩 UI 구현 (#T3-68) * Feat: 온보딩 선택지 버튼 Components UI 구현 (#T3-68) * Feat: GradientProgressBar UI 구현 - Gradient 색상 Asset 추가 - GradientProgressBar를 포함한 navigationItem 구현 * Refactor: 온보딩 선택지 UI 수정 (#T3-68) - OnboardingChoiceProtocol 구현 - 온보딩 선택 화면에서 해당 프로토콜을 채택한 타입이라면 OnboardingChoiceButton을 그릴 수 있도록 수정 * Feat: 온보딩에서 사용될 enum 타입 정의 (#T3-68) - OnboardingType (온보딩 유형 값) - OnboardingChoiceType (온보딩 선택지 값) * Feat: OnboardingView 구현 (#T3-68) - 온보딩 선택 화면에서 재사용될 OnboardingView 구현 * Feat: OnboardingResultView 구현 (#T3-68) - 온보딩 결과 화면 UI 구현 - 특정 텍스트만 semiBold로 보여지기 위해 NSAttributedString extension 구현 * Feat: 온보딩 추천 루틴 UI 구현 (#T3-68) * Feat: OnboardingViewModel 구현 (#T3-68) * Feat: OnboardingViewModel 의존성 조립 및 이용 약관 화면에서 온보딩 화면으로 넘어가는 로직 구현 (#T3-68) * Feat: 온보딩 서버 통신 구현 (#T3-102) * Style: 통일성을 위한 폴더명 변경 * Refactor: BaseViewController 및 ViewModel에 public 접근제어자 삭제 * Refactor: NetworkService 리팩토링 - BaseResponseDTO DataSource에서 Network 모듈로 이관 - T 타입 반환에서 T? 타입 반환으로 수정 (EmptyResponse 대응) - Server Message 출력 * Feat: 온보딩 선택지 등록 및 추천 루틴 받기 구현 (#T3-102) - OnboardingEndpoint 정의 - OnboardingRepositoryProtocol · OnboardingRepository 구현 - OnboardingUseCaseProtocol · OnboardingUseCase 구현 * Feat: Onboarding 관련 의존성 조립 (#T3-102) - DataSource, Domain, Presentaion 레이어에서 OnboardingRepository, OnboardingUseCase, OnboardingViewModel 의존성 등록 * Feat: 로그인 결과에 따른 이용약관 vs 온보딩 화면 분기 처리 * Feat: CustomFontStyle 추가 - 디자인 시스템에 정의되어 있는 폰트 외에도 정의해서 사용할 수 있도록 custom 케이스 추가 * Feat: 온보딩 선택 결과 바탕으로 추천 받은 루틴 등록 구현 (#T3-102) * Refactor: AuthRepository do-catch 블록 수정 * Refactor: 의존성 없을 시 fatalError 발생하도록 수정 * Refactor: 온보딩 선택지 Dictonary 변경 로직 수정 * Feat: 탭바 구현 * Refactor: BitnagilColor 수정 - 기존 White 계열 컬러들 Orange로 수정 - HomeGradient 색상 및 Error 색상 추가 * Docs: 홈 탭바 아이콘 이미지 Asset 추가 * Feat: TabBarView 구현 * Style: 코드 컨벤션을 위한 import 순서 정렬 * Refactor: Gradient 오타 수정 * Feat: 추천 루틴 UI 구현 (#T3-70) * Feat: 아이콘 이미지 Asset 추가 및 BitnagilIcon 케이스 추가 - plus, chevron 아이콘 이미지 asset 추가 - BitnagilIcon plus, chevron 아이콘 케이스 추가 - UIImage extension을 통해 resize 및 roate 함수 구현 * Feat: 추천 루틴 카테고리 타입 및 뷰 구현 (#T3-70) * Feat: 추천 루틴 난이도 타입 및 뷰 구현 (#T3-70) - RoutineLevelType enum 정의 - RoutineLevelView UI 구현 (+ RoutineLevelCell) - RoutineLevelButton 구현 * Feat: 감정 등록 버튼 구현 (#T3-70) * Feat: 추천 루틴 카드 뷰 구현 (#T3-70) * Style: BaseViewController, ViewModel 폴더 위치 변경 * Feat: CustomButtonSheet 구현 * Feat: RecommendedRoutineView 구현 (#T3-70) * Feat: RecommendedRoutineViewModel 구현 (#T3-70) * Feat: Presentation 모듈에 RecommendedViewModel 의존성 추가 * Feat: TabBarView에 추천 루틴 View 변경 - 기존 테스트용 View 삭제 * Fix: ScrollViewBottomSpacing 값 수정 * Refactor: Delegate 함수 네이밍 수정 * Refactor: RoutineLevelView 테이블 뷰 셀 UI 수정 - RoutineLevelView 테이블 뷰 셀 밑줄 간격 조정 및 마지막 셀 밑줄 생략 - CustomBottomSheet 투명도 변경 * Refactor: RoutineLevelType 정렬 중복 로직 정리 * [Feat-T3-104] 마이페이지 UI 구현 (#22) * Feat: 이미지 asset 추가 (#T3-104) - BitnagilIcon에 이미지 추가 * Feat: NSObject extension 추가 (#T3-104) - {class이름}.className을 통해 클래스의 이름을 스트링으로 사용할 수 있도록 구현 * Feat: UserDataRepository 구현 (#T3-104) - 유저 정보 (닉네임, accessToken)을 가져올 수 있는 repository 구현 - UserDataRepository 의존성 등록 * Feat: 마이페이지 화면 구현 (#T3-104) - 마이페이지 화면 구현 - 의존성 등록 - TabBar에서 Myapge 클래스 삭제 * refactor: 코드 리뷰 반영 * Feat: 홈 화면 UI 구현 (#T3-105) * Feat: 메인 루틴 Component UI 구현 (#T3-105) - epllipsis 아이콘 에셋 추가 및 BitnagilIcon 프로퍼티 추가 - MainRoutineView 구현 * Refactor: MainRoutineView 리팩토링 - Layout enum 추가 - 불필요한 do 문법 제거 - MainRoutine 구조체 폴더 위치 변경 * Feat: SubRoutineButton UI 구현 (#T3-105) * Feat: RoutineView UI 구현 (#T3-105) * Feat: DateView UI 구현 (#T3-105) * Feat: HomeEmptyView UI 구현 (#T3-105) * Feat: 이미지 에셋 추가 및 BitnagilIcon에 정의 - informationIcon, sortIcon HomeView에서 필요한 이미지 에셋 추가 * Feat: 홈 감정구슬 등록하기 버튼 UI 구현 (#T3-105) * Feat: WeekView UI 구현 (#T3-105) * Feat: HomeView UI Layout 구현 (#T3-105) * Feat: 루틴 정렬, 필터링 테이블뷰 재사용 SelectableItemTableView로 구현 (#T3-105) - SelectableItem protocol 정의 (정렬, 필터링 시 선택지) - SelectableItemCell UI 구현 - SelectableItemTableView UI 구현 - RoutineLevelView, RoutineLevelCell 삭제 -> SelectableItemTableView 재사용 - RoutineSortType 정의 * Feat: HomeViewModel + HomeView 연동 (#T3-105) * Refactor: routinesSubject 오타 수정 * Feat: 모듈 구조 변경 및 토큰 로직 * Refactor: NetworkService, Persistence 모듈 DataSource 모듈 합치기 * Refactor: Then 외부 라이브러리 제거 및 사용 코드 제거 * Feat: TokenManager 구현 * Refactor: Endpoint에 isAuthorized 값 추가 - Endpoint에 isAuthorized 값 추가 (인증이 필요한지 여부) - 그렇다면 Endpoint 만들 때 header에 TokenManager에서 accessToken 빼와서 저장 * Refactor: UserDataRepository에 token 재발급 로직 추가 * Feat: 로그인 시 소셜 로그인 타입, 프로필 이미지 저장 - 카카오 로그인 시 nickname, profileImageUrl을 KakaoSDK에서 받아와 저장하도록 로직 추가 - 카카오, 애플 로그인 시 소셜 로그인 타입 저장하도록 로직 추가 * Fix: 온보딩 서버 Request Enum 값 변경 - 온보딩 서버 Request Enum 값 변경 - 온보딩 UI 수정 (SubTitle 여부) * Feat: UserDataRepository에서 토큰 재발급 가능 여부에 따라 앱 진입점 분기처리 * Fix: 토큰 재발급 로직 Response 타입 변경 - TokenResponseDTO 구현 - reissue response 타입 교체 * Style: 불필요한 주석 제거 * Style: UserDataRepository 오타 수정 * Refactor: 코드 리뷰 반영 - NetworkService에서 endpoint.isAuthorized 값 확인하여 헤더에 토큰 값 세팅해주는 로직으로 수정 - 카카오 유저 정보 (닉네임, 프로필 이미지 URL) 메인스레드에서 동작하는 것 제거 - SceneDelegate에서 SplashView를 먼저 표시하고, reissueToken 결과에 따라 rootViewController 교체하도록 구조 개선 * Refactor: import SnapKit 추가 * [Feat-T3-110] 루틴 생성 화면 구현 * feat: 루틴 추가 화면 이미지 asset 추가 (#T3-110) * feat: ToolTipView 구현 (#T3-110) * feat: 서브루틴 추가 View 구현 (#T3-110) * feat: 루틴 생성 ViewModel 구현 (#T3-110) * feat: 기타 subview 구현 (#T3-110) - 루틴 시작 시간 선택 버튼 - 서브 루틴 추가 버튼 * feat: 루틴 추가 화면 구현 (#T3-110) * fix: Tooltip 오타 수정 (#T3-110) * refactor: 코드 리뷰 반영 * [Feat] 날짜 선택가능한 DatePickerView 구현 * feat: DatePickerView 구현 * fix: 하루 종일 설정 버튼 추가 - 하루 종일 UILabel을 눌러도 하루 종일 버튼이 눌리도록 수정 * refactor: 코드 리뷰 반영 * Feat: 감정 등록 화면 구현 (#T3-69) * Docs: 감정 구슬 이미지 Asset 추가 및 BitnagilGraphic에 케이스 추가 (#T3-69) - 감정 구슬 이미지 Asset 추가 - 이미지 Asset 폴더링 정리 - BitnagilGraphic에 감정 구슬 변수 추가 * Feat: 감정 구슬 화면 UI 구현 (#T3-69) - 감정 구슬 enum 타입 정의 (EmotionType) - 감정 구슬 CollectionViewCell UI 구현 (EmotionOrbCollectionViewCell) - 감정 구슬 등록 화면 UI 구현 (EmotionRegisterView) * Feat: EmotionRegisterViewModel 의존성 조립 및 감정 등록 화면 연결 (홈, 추천 루틴) * Style: emotionOrbCollectionView let으로 수정 * Feat: 추천 루틴 API 연동 (#T3-121) * Style: 일부 파일들 import 컨벤션 맞추기 * Feat: RecommendedRoutineRepository 구현 (#T3-121) - RecommendedRoutineDTO, RecommendedRoutineDictionaryResponseDTO, RecommendedRoutineListResponseDTO 타입 정의 - RecommendedRoutineEndpoint 생성 - RecommendedRoutineRepositoryProtocol, RecommendedRoutineRepository 정의 및 구현 * Feat: RecommendedRoutineUseCase 구현 (#T3-121) - RecommendedRoutineUseCaseProtocol, RecommendedRoutineUseCase 정의 및 구현 - RecommendedRoutineEntity 수정 (카테고리, 난이도 값 추가) - RoutineCategoryType, RoutineLevelType 위치 변경 (기존 Presentation -> Domain) * Refactor: 추천 루틴 뷰 수정 (#T3-121) - 감정 등록 버튼이 추천 루틴 목록들보다 상단에 뜨도록 UI 수정 - RecommendedRoutineCardView에서 Label trailing Layout 추가 * Refactor: RoutineLevelType, RoutineCategoryType 모듈 위치 변경으로 인한 Presentation 모듈 수정 - Presentation 모듈에 있는 RoutineLevelType, RoutineCategoryType가 Domain을 extension해서 필요한 값을 추가하여 사용할 수 있도록 수정 - 그에 따른 import Domain 추가 * Feat: RecommendedRoutineView 및 RecommendedRoutineViewModel 로직 구현 (#T3-121) - 전체 추천 루틴 받아오는 로직 추가 + 더미 데이터 삭제 - 카테고리 및 난이도에 대해 받아온 루틴 필터링하는 로직 추가 - 의존성 조립 (DataSource, Domain, Presentation) * Feat: FloatingButton, FloatingMenuView UI 구현 * Feat: 추천 루틴 화면에 FloatingButton 추가 및 등록 화면 이동 (#T3-121) - RecommendedRoutineView에 FloatingButton, FloatingMenu, dimmedView 추가 - 루틴 등록 화면으로 이동해야 하므로 RoutineCreationViewModel 의존성 등록 * Style: 오타 수정 * Refactor: 맞춤 추천 카테고리인 경우 감정 등록 버튼 보여주기 * [Feat] NetworkService 플러그인 구현 * feat: 네트워크 플러그인 프로토콜 구현 * feat: 네트워크 플러그인 구현 * feat: networkService에 플러그인 적용 * refactor: 코드래빗 리뷰 반영 * refactor: 코드 리뷰 반영 * Feat: 감정 구슬 API 연동 및 추천 루틴 결과 화면 재사용 (#T3-127) * Style: 클라에서 저장하고 있는 감정 구슬 값 삭제 (이미지 Asset, EmotionType 등) * Feat: Emotion 조회 및 등록 API 연동 (#T3-127) - EmotionEndpoint 정의 - EmotionRepositoryProtocol, EmotionRepository 정의 및 구현 (+ EmotionResponseDTO) - EmotionUseCaseProtocol, EmotionUseCase 정의 및 구현 (+ EmotionEntity) * Chore: Kingfisher 외부 라이브러리 의존성 추가 * Refatcor: 감정구슬 Cell, 감정구슬 등록 화면 수정 (#T3-127) - 서버 통신으로 받은 값들을 보여주도록 수정 - 감정 구슬 이미지 Kingfisher로 출력 * Docs: 그래픽 이미지 Asset 추가 및 BitnagilGraphic 케이스 추가 * Refactor: 기존 OnboardingUseCase 삭제 및 추천 루틴 받아오는 로직 이동 (#T3-127) - OnboardingUseCaseProtocol, OnboardingUseCase 삭제 - OnboardingRecommendedRoutineView 삭제 - 기존 온보딩 선택지 · 감정 값을 등록하고 추천 루틴을 받아오는 로직 이동 * Chore: Common View 폴더 생성 및 재사용 View 이동 (SplashView, TabBarView) * Feat: ResultRecommendedRoutineView · ResultRecommendedRoutineViewModel 구현 (#T3-127) - 추천 루틴 결과 값을 보여주는 화면(ResultRecommendedRoutineView) 구현 - 온보딩 선택지 or 감정 구슬 선택지에 따른 추천 루틴 받아오는 로직 - 선택한 추천 루틴 등록 로직 * Refactor: ResultRecommendedRoutineView 재사용을 위한 분기처리 (#T3-127) - MypageView, OnboardingResultView, EmotionRegisterView에서 재사용할 수 있도록 분기 처리 - OnboardingResultView에 그래픽 추가 * Feat: 의존성 조립 (Domain, DataSource, Presentation) * Refactor: 오타 수정 * Refactor: UIScreen.main 기준으로 height 계산하는 코드 수정 * Feat: 홈 API 연동 (1) - 루틴 조회, 루틴 상세 보기 (#T3-130) * Feat: 유저 닉네임 가져오는 API 연동 (#T3-130) - HomeView, MypageView에서 사용 * Chore: 이용 약관 및 공지사항 등 서비스 URL 교체 * Feat: HomeView에 FloatingButton 추가 (#T3-130) * Feat: 루틴 목록 조회 API 연동 (#T3-130) * Feat: 감정 구슬 관련 TooltipView 추가 (#T3-130) * Feat: RoutineDetailView UI 구현 (#T3-130) * Refactor: KakaoSDK에서 닉네임, 프로필 가져오는 로직 제거 * Refactor: 오타 수정 및 분기 처리 * Refactor: RoutineView, SubRoutineButton Layout 조정 * Refactor: LoginView, IntroView 그래픽 추가 * Chore: AppIcon 추가 * Feat: Home 화면에서 감정 구슬 보여주기 (#T3-130) * Fix: IntroView Layout 수정 * Fix: handleTap 좌표 계산 수정 * [Feat-T3-132] 설정 화면 구현 * feat: 이미지 asset 추가 * feat: TableViewCell 구현 - TableView에서 사용할 수 있는 3가지 타입의 cell 구현 - chevron 이미지로 다음 화면으로 넘어갈 수 있는 cell - button이 있는 cell - switch가 있는 cell * feat: 커스텀 Alert View 추가 * feat: 설정 화면 커스텀 tableView Section HeaderView 구현 * feat: 설정 화면 구현 * feat: navigationController appearance 수정 * refactor: custom alert 파라미터 이름 수정, alert 표시 타입 수정 * refactor: 오타 수정 (토끼 리뷰 반영) * Feat: 루틴 등록 / 수정 로직 구현 * feat: DTO -> Parameter 변환을 위한 Encodable extension 구현 * feat: 루틴 생성/수정 관련 DTO 정의 * feat: 루틴 endpoint 수정 - 루틴 생성 추가 - 루틴 수정 추가 - 루틴 단건 조회 추가 * fix: routine 엔티티의 id를 옵셔널로 수정 * feat: 루틴 repository 구현 * feat: 루틴 생성/수정 UseCase 구현 - 루틴 요약, 서브 루틴 요약 엔티티 생성 * feat: 루틴 등록/수정 로직 View와 연결 * [Feat] 네트워킹 로깅 플러그인 구현 * feat: 네트워킹 로깅 플러그인 구현 * refactor: 불필요한 공백, 상수 제거 * Feat: 루틴 삭제 구현 (#T3-134) * Feat: 루틴 삭제 AlertView 구현 및 HomeView에 적용 (#T3-134) * Feat: 반복 루틴 전체 삭제 구현 (#T3-134) * Feat: 당일 루틴 삭제 구현 (#T3-134) * Refactor: 서버 Request에 routineType 추가 및 Layout enum 정의 * Refactor: 오타 및 컨벤션 수정 * Feat: Splash view UI 구현 * Chore: Lottie 외부 라이브러리 의존성 추가 * Docs: Splash json 파일 및 bitnail logo 이미지 asset 추가 * Feat: SplashView UI 구현 * Chore: splash.json 파일 교체 - 용량이 너무 커서 git push가 안되는 이슈로 압축된 json 파일로 교체 * Chore: splash.json 파일 교체 * Refactor: SplashViewDelegate 구현하여 애니메이션 완료하도록 수정 * Feat: 온보딩 여부 저장 및 분기 처리 * Feat: 온보딩 여부 저장 및 불러오기, 삭제 로직 구현 - 온보딩 여부 저장, 불러오기, 삭제 로직 구현 - 필요없는 profileImageUrl 저장, 불러오기, 삭제 로직 제거 * Feat: 온보딩 여부에 따른 진입 뷰 분기 처리 - 온보딩 여부에 따른 진입 뷰 분기 처리 - 그에 따른 ViewController, ViewModel 접근제어자 변경 (internal -> public) * Feat: 온보딩 네비게이션 Background 색상 변경 * Refactor: 코드 리뷰 반영 - 중복된 네비게이션 바 Appearance 설정 제거 - OnboardingView viewDidLoad 제거 * Refactor: 온보딩 첫 화면에서 백버튼 제거 * Feat: 설정 화면 로직 구현 * feat: 알림 section 주석 처리 * feat: 설정 로직 구현 * feat: 업데이트 로직 추가 * Feat: 프로필 default 이미지 asset 추가 및 MypageView에 세팅 * Refactor: isAuthenticated 값에 따른 화면 전환 --------- Co-authored-by: 최정인 <wjddls980912@naver.com> * Feat: 루틴 완료 로직 구현 (#T3-144) * Feat: 추천 루틴 화면에서 감정 등록에 따른 감정 버튼 안보이게 하기 * Fix: 루틴 삭제 performedDate 수정 * Feat: RoutineView UI 인터랙션 (#T3-144) - 세부 루틴 완료 값에 따른 메인 루틴 완료 값 업데이트 - 메인 루틴 완료 값에 따른 세부 루틴 완료 값 업데이트 * Feat: 루틴 완료 API 연동 (#T3-144) * Feat: loadingIndicatorView 추가 * Feat: 루틴 정렬 로직 구현 * Fix: 루틴 완료 배열 수정 * Feat: 추천 루틴 등록하기 기능 추가 * feat: 추천 루틴 등록하기 기능 추가 * Refactor: 오타 수정 --------- Co-authored-by: 최정인 <wjddls980912@naver.com> * feat: 토스트 메시지 구현 * Fix: 토큰 재발급 role 추가 * Fix: reissue role에 따른 화면 분기 처리 * Feat: Home Toast View 적용 * Fix: 감정 구슬 등록 후 추천 루틴 등록 화면 이동 * Chore: 빌드 버전 업 (0.0.1 -> 0.0.3) * Refactor: 오타 수정 * Refactor: nil일 때에도 감정 구슬 등록 action 추가 * [Fix] 루틴 불러오는 로직 수정 (#43) * Fix: 루틴 fetch 로직 수정 * Fix: 루틴 등록 시, 키보드 내려가는 로직 수정 * Fix: 루틴 등록 수정 - 키보드 입력 끊김 이슈 수정 - 루틴 반복 선택하지 않아도 등록 활성화 되도록 수정 * feat: 로그 메시지 privacy 정책 적용 * Chore: 배포 전 설정 변경 --------- Co-authored-by: soungjunban <soungjunban@gmail.com> Co-authored-by: Ban Soungjun <119939410+generalban@users.noreply.github.com> Co-authored-by: taipaise <taipaise@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
1.0.0 배포합니다.