@mcrkgus |
@jeonguk29 |
@sem-git |
@rafa-e1 |
@parkikbum |
---|---|---|---|---|
💻 Code Convention
📝 Git Convention
👀 PR Convention
❗️main 브랜치에서는 작업
작업할 내용을 정의하고 이슈 생성
내 로컬에서 develop 브랜치가 최신 상태인지 확인 develop 브랜치 pull로 항상 최신 상태 유지
develop 브랜치에서 새로운 브랜치 생성
브랜치 이름은 다음 형식으로 작성: 커밋 타입/#(이슈번호)
ex) feature/#123
생성한 브랜치에서 작업을 시작
작업한 기능 단위로 작은 커밋을 작성 (작업 흐름이 잘 드러나도록 커밋을 세분화)
⭐️ 작업이 완료되었으면 에러가 없는지 확인 ⭐️
기능이 정상적으로 동작하고, 문제가 없음을 확인 후 push
브랜치를 원격 저장소에 push
작업한 내용을 병합하기 위해 Pull Request 생성
리뷰 받은 사항을 반영 후 수정
모든 수정이 완료되면 develop 브랜치에 병합
📁 Project
├── 📁 Resource
│ └── 🎨 Assets.xcassets
├── 📁 Source
│ ├── 📁 App
│ │ ├── 📄 Config.swift
│ │ └── 📄 Memento_iOSApp.swift
│ ├── 📁 Component
│ │ ├── 📁 Alert
│ │ ├── 📁 MementoCell
│ │ ├── 📁 TabBar
│ │ ├── 📁 TimePickerView
│ │ ...
│ ├── 📁 Const
│ │ └── 📄 StringLiteral.swift
│ ├── 📁 Data
│ ├── 📁 Extension
│ ├── 📁 Network
│ │ ├── 📁 AI
│ │ │ ├── 📁 DTO
│ │ │ │ ├── 📁 Request
│ │ │ │ └── 📁 Response
│ │ │ ├── 📁 TargetType
│ │ │ └── 📄 PrioritizationAPIService.swift
│ │ ├── 📁 Base
│ │ │ ├── 📄 BaseAPIService.swift
│ │ │ ├── 📄 BaseDTO.swift
│ │ │ ├── 📄 BaseTargetType.swift
│ │ │ ├── 📄 MoyaPlugin.swift
│ │ │ ├── 📄 NetworkResult.swift
│ │ │ ├── 📄 NetworkService.swift
│ │ │ ├── 📄 TokenKeychainManager.swift
│ │ │ └── 📄 TokenRefreshPlugin.swift
│ │ ...
│ ├── 📁 Presentation
│ │ ├── 📁 Add
│ │ │ ├── 📁 AddSchedule
│ │ │ │ ├── 📁 Model
│ │ │ │ ├── 📁 View
│ │ │ │ └── 📁 ViewModel
│ │ │ ...
│ │ ├── 📁 Main
│ │ └── 📁 Onboarding
│ └── 📁 Utils
└── 📄 Info.plist
Name | Version | |
---|---|---|
Alamofire | 5.10.2 |
HTTP 네트워크 통신을 간단하고 효율적으로 처리할 수 있도록 지원한다. |
Firebase | 11.7.0 |
데이터베이스, 인증, 클라우드 기능 등을 쉽게 구현할 수 있도록 지원한다. |
Moya | 15.0.3 |
네트워크 요청을 효율적이고 구조적으로 관리하기 위해 설계된 네트워크 추상화 라이브러리로, 코드의 가독성과 유지 보수성을 높인다. |
Lottie | 4.5.1 |
JSON 기반의 벡터 애니메이션을 iOS 앱에서 쉽게 추가하고 관리한다. |
Name | Version | |
---|---|---|
MCalendar | 1.0.4 |
달력 기반의 UI 및 일정 관리 기능을 제공하는 Memento 팀이 자체 제작한 라이브러리 |
MDSKit | 1.0.1 |
디자인 시스템에 기반한 공통 UI 컴포넌트 및 유틸리티를 제공하는 Memento 팀의 커스텀 라이브러리 |