| iOS Developer 송지혁 00306 |
Product Designer 박민교 SONIA |
- SwiftUI
- Combine
- Assistant API
MVVM + Clean Architecture
📦Junction
┣ 📂Data
┃ ┣ 📂API
┃ ┃ ┣ 📜APIService.swift
┃ ┃ ┗ 📜EndPoint.swift
┃ ┣ 📂Facades
┃ ┃ ┗ 📜AssistantInteractionFacadeImpl.swift
┃ ┗ 📂Repositories
┃ ┃ ┣ 📜ImageRepositoryImpl.swift
┃ ┃ ┣ 📜MessageRepositoryImpl.swift
┃ ┃ ┣ 📜RunRepositoryImpl.swift
┃ ┃ ┣ 📜RunStepRepositoryImpl.swift
┃ ┃ ┗ 📜ThreadRepositoryImpl.swift
┣ 📂Domain
┃ ┣ 📂Entities
┃ ┃ ┣ 📂File
┃ ┃ ┃ ┗ 📜FileUploadResponse.swift
┃ ┃ ┣ 📂Health
┃ ┃ ┃ ┗ 📜HealthInfo.swift
┃ ┃ ┣ 📂Judgement
┃ ┃ ┃ ┗ 📜Judgement.swift
┃ ┃ ┣ 📂Message
┃ ┃ ┃ ┣ 📜CreateMessageResponse.swift
┃ ┃ ┃ ┣ 📜Message.swift
┃ ┃ ┃ ┣ 📜MessageBody.swift
┃ ┃ ┃ ┗ 📜RetrieveMessageResponse.swift
┃ ┃ ┣ 📂Run
┃ ┃ ┃ ┣ 📜RunRequest.swift
┃ ┃ ┃ ┗ 📜RunResponse.swift
┃ ┃ ┣ 📂RunStep
┃ ┃ ┃ ┗ 📜RunStepResponse.swift
┃ ┃ ┗ 📂Thread
┃ ┃ ┃ ┗ 📜ThreadResponse.swift
┃ ┣ 📂Interfaces
┃ ┃ ┣ 📂Facades
┃ ┃ ┃ ┗ 📜AssistantInteractionFacade.swift
┃ ┃ ┗ 📂Repositories
┃ ┃ ┃ ┣ 📜ImageRepository.swift
┃ ┃ ┃ ┣ 📜MessageRepository.swift
┃ ┃ ┃ ┣ 📜RunRepository.swift
┃ ┃ ┃ ┣ 📜RunStepRepository.swift
┃ ┃ ┃ ┗ 📜ThreadRepository.swift
┃ ┣ 📂UseCases
┃ ┃ ┣ 📜CreateMessageUseCase.swift
┃ ┃ ┣ 📜CreateRunUseCase.swift
┃ ┃ ┣ 📜CreateThreadUseCase.swift
┃ ┃ ┣ 📜ListRunStepUseCase.swift
┃ ┃ ┣ 📜RetrieveMessageUseCase.swift
┃ ┃ ┗ 📜UploadImageUseCase.swift
┃ ┗ 📜.DS_Store
┣ 📂Infrastructure
┃ ┣ 📜DIContainer.swift
┃ ┗ 📜NavigationManager.swift
┣ 📂Presentation
┃ ┣ 📂Extensions
┃ ┃ ┣ 📜Font+.swift
┃ ┃ ┗ 📜UIApplication+.swift
┃ ┣ 📂ViewModels
┃ ┃ ┣ 📜HealthSetUpViewModel.swift
┃ ┃ ┣ 📜MainViewModel.swift
┃ ┃ ┗ 📜ResultViewModel.swift
┃ ┗ 📂Views
┃ ┃ ┣ 📜ContentView.swift
┃ ┃ ┣ 📜HealthCheckView.swift
┃ ┃ ┣ 📜HealthInfoSetUpView.swift
┃ ┃ ┣ 📜ImagePicker.swift
┃ ┃ ┣ 📜LoadingView.swift
┃ ┃ ┣ 📜MainView.swift
┃ ┃ ┣ 📜OnboardingView.swift
┃ ┃ ┗ 📜ResultView.swift
┣ 📂Preview Content
┃ ┗ 📂Preview Assets.xcassets
┃ ┃ ┗ 📜Contents.json
┣ 📂Resources
┃ ┣ 📂Assets.xcassets
┃ ┃ ┣ 📂AccentColor.colorset
┃ ┃ ┃ ┗ 📜Contents.json
┃ ┃ ┣ 📂AppIcon.appiconset
┃ ┃ ┃ ┗ 📜Contents.json
┃ ┃ ┣ 📂OnboardingGraphic.imageset
┃ ┃ ┃ ┣ 📜Contents.json
┃ ┃ ┃ ┗ 📜OnboardingGraphic.png
┃ ┃ ┣ 📂arrowDown.imageset
┃ ┃ ┃ ┣ 📜Contents.json
┃ ┃ ┃ ┗ 📜arrowDown.png
┃ ┃ ┣ 📂circleBubble.imageset
┃ ┃ ┃ ┣ 📜Contents.json
┃ ┃ ┃ ┗ 📜circleBubble.png
┃ ┃ ┣ 📂gray1.colorset
┃ ┃ ┃ ┗ 📜Contents.json
┃ ┃ ┣ 📂gray10.colorset
┃ ┃ ┃ ┗ 📜Contents.json
┃ ┃ ┣ 📂gray2.colorset
┃ ┃ ┃ ┗ 📜Contents.json
┃ ┃ ┣ 📂gray3.colorset
┃ ┃ ┃ ┗ 📜Contents.json
┃ ┃ ┣ 📂gray4.colorset
┃ ┃ ┃ ┗ 📜Contents.json
┃ ┃ ┣ 📂gray8.colorset
┃ ┃ ┃ ┗ 📜Contents.json
┃ ┃ ┣ 📂gray9.colorset
┃ ┃ ┃ ┗ 📜Contents.json
┃ ┃ ┣ 📂green1.colorset
┃ ┃ ┃ ┗ 📜Contents.json
┃ ┃ ┣ 📂offblack.colorset
┃ ┃ ┃ ┗ 📜Contents.json
┃ ┃ ┣ 📂offwhite.colorset
┃ ┃ ┃ ┗ 📜Contents.json
┃ ┃ ┣ 📂pink1.colorset
┃ ┃ ┃ ┗ 📜Contents.json
┃ ┃ ┣ 📂pinky.imageset
┃ ┃ ┃ ┣ 📜Contents.json
┃ ┃ ┃ ┗ 📜pinky.png
┃ ┃ ┣ 📂speechBubble.imageset
┃ ┃ ┃ ┣ 📜Contents.json
┃ ┃ ┃ ┗ 📜speechBubble.png
┃ ┃ ┣ 📂stitchBox.imageset
┃ ┃ ┃ ┣ 📜Contents.json
┃ ┃ ┃ ┗ 📜stitchBox.png
┃ ┃ ┣ 📂tree.imageset
┃ ┃ ┃ ┣ 📜Contents.json
┃ ┃ ┃ ┗ 📜tree.png
┃ ┃ ┣ 📂xBubble.imageset
┃ ┃ ┃ ┣ 📜Contents.json
┃ ┃ ┃ ┗ 📜xBubble.png
┃ ┃ ┣ 📜.DS_Store
┃ ┃ ┗ 📜Contents.json
┃ ┣ 📂Font
┃ ┃ ┣ 📜Pretendard-Bold.otf
┃ ┃ ┣ 📜Pretendard-Medium.otf
┃ ┃ ┣ 📜Pretendard-Regular.otf
┃ ┃ ┗ 📜Pretendard-SemiBold.otf
┃ ┗ 📜loadingAnimation.json
┣ 📜.DS_Store
┣ 📜Info.plist
┣ 📜Junction.entitlements
┣ 📜JunctionApp.swift
┗ 📜Secrets.xcconfig
Git Strategy
main : 개발이 완료된 산출물이 저장될 공간
develop : feature 브랜치에서 구현된 기능들이 merge될 브랜치
feature : 기능을 개발하는 브랜치, 이슈별/작업별로 브랜치를 생성하여 기능을 개발한다
release : 릴리즈를 준비하는 브랜치, 릴리즈 직전 QA 기간에 사용한다
hotfix : 버그를 수정하는 브랜치
Git Convention
-
이슈
- 이슈를 등록할 때 맨 앞에 이슈 종류 쓰기 (예: feat: 홈 UI 구현)
- 템플릿 사용
- 이슈에 맞는 label 달기
ex) 이슈 템플릿
설명을 작성하세요.
## To-do
- [ ] todo
- [ ] todo
- 브랜치
브랜치명 = #이슈 번호/작업할 내용
ex) #3/HomeViewUI
- 커밋
커밋 메시지 앞에 이슈: 넣기
ex) feat: 홈 UI 구현
- 태그
hotfix : issue나, QA에서 급한 버그 수정에 사용
fix : 버그, 오류 해결
add : Feat 이외의 부수적인 코드 추가, 라이브러리 추가, 새로운 파일 생성 시
style : 코드 포맷팅, 코드 변경이 없는 경우
feat : 새로운 기능 구현
del : 쓸모없는 코드 삭제
docs : README나 WIKI 등의 문서 개정
chore : 코드 수정, 내부 파일 수정, 빌드 업무 수정, 패키지 매니저 수정
move : 프로젝트 내 파일이나 코드의 이동
rename : 파일 이름 변경이 있을 때 사용합니다.
refactor : 전면 수정이 있을 때 사용합니다
swift-style-guide �Sonic iOS 멤버는 아래 swift code convention을 참고해 코드를 작성한다.