Skip to content

DDD-Community/Attendance_iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

337 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

DDD ์ถœ์„ iOS

DDD Logo

DDD IT ๋™์•„๋ฆฌ๋ฅผ ์œ„ํ•œ ์ถœ์„ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ

Platform Language iOS Xcode TCA Tuist Fastlane

๐Ÿ“ฑ App Store | ๐ŸŽฏ Features | ๐Ÿ— Architecture | ๐Ÿš€ Quick Start


๐Ÿ“– ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

DDD ์ถœ์„์€ DDD IT ๋™์•„๋ฆฌ์˜ ์ถœ์„ ๊ด€๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋„์™€์ฃผ๋Š” iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ณ  ์ง๊ด€์ ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋™์•„๋ฆฌ์›๋“ค์˜ ์ถœ์„ ํ˜„ํ™ฉ์„ ๊ด€๋ฆฌํ•˜๊ณ , ๋™์•„๋ฆฌ ํ™œ๋™์„ ์ฒด๊ณ„ํ™”ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ก ์šฐ๋ฆฌ๋Š” ์™œ ์ด ์•ฑ์„ ๋งŒ๋“ค์—ˆ์„๊นŒ์š”? DDD IT ๋™์•„๋ฆฌ์˜ ์ถœ์„ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ฒˆ๊ฑฐ๋กœ์šด ๊ณผ์ •์„ ์ค„์ด๊ณ , ๊ฐœ๋ฐœ์ž๋“ค์ด ํ•™์Šต๊ณผ ๋„คํŠธ์›Œํ‚น์— ๋” ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ๋งŒ๋“ค๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ฑ ์Šคํฌ๋ฆฐ์ƒท

๋ฉ”์ธ ํ™”๋ฉด ๋กœ๊ทธ์ธ ์ถœ์„ ๊ด€๋ฆฌ
์ถœ์„ ๋ฉค๋ฒ„ ํ”„๋กœํ•„ ์ผ์ •

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

๐Ÿ” ๊ฐ„ํŽธํ•œ ์ธ์ฆ

  • Google OAuth 2.0: ๊ฐ„๋‹จํ•œ ๊ตฌ๊ธ€ ๊ณ„์ • ๋กœ๊ทธ์ธ
  • ์ž๋™ ๋กœ๊ทธ์ธ ์œ ์ง€: ์žฌ์‹คํ–‰ ์‹œ ์ž๋™ ์ธ์ฆ ์ƒํƒœ ์œ ์ง€
  • ๋ณด์•ˆ ๊ฐ•ํ™”: OAuth 2.0 ๊ธฐ๋ฐ˜ ์•ˆ์ „ํ•œ ์ธ์ฆ ์‹œ์Šคํ…œ

๐Ÿ“Š ์ถœ์„ ๊ด€๋ฆฌ

  • ์‹ค์‹œ๊ฐ„ ์ถœ์„ ์ฒดํฌ: ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•œ ์ถœ์„ ํ™•์ธ
  • ์ถœ์„ ์ƒํƒœ ๊ด€๋ฆฌ: ์ถœ์„, ์ง€๊ฐ, ๊ฒฐ์„, ๋Œ€๊ธฐ ์ƒํƒœ ๊ตฌ๋ถ„
  • ์ถœ์„ ์ด๋ ฅ ์กฐํšŒ: ๊ฐœ์ธ๋ณ„ ์ถœ์„ ํ˜„ํ™ฉ ๋ฐ ํ†ต๊ณ„
  • ์ถœ์„๋ฅ  ํ†ต๊ณ„: ์‹œ๊ฐ์  ํ†ต๊ณ„ ์ •๋ณด ์ œ๊ณต

๐Ÿ‘ฅ ๋ฉค๋ฒ„ ๊ด€๋ฆฌ

  • ์Šคํ„ฐ๋”” ๋ฉค๋ฒ„ ๋ชฉ๋ก: ์ „์ฒด ์ฐธ๊ฐ€์ž ํ˜„ํ™ฉ ํ™•์ธ
  • ๋ฉค๋ฒ„ ์ƒํƒœ ์กฐํšŒ: ๊ฐ ๋ฉค๋ฒ„์˜ ์ถœ์„ ํŒจํ„ด ๋ถ„์„
  • ๊ด€๋ฆฌ์ž ๊ถŒํ•œ: ์Šคํ„ฐ๋”” ์šด์˜์ง„์„ ์œ„ํ•œ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ

๐Ÿ“ฑ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜

  • ์ง๊ด€์  UI/UX: ๊ฐ„๋‹จํ•˜๊ณ  ๋ช…ํ™•ํ•œ ์ธํ„ฐํŽ˜์ด์Šค
  • ์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™”: ์„œ๋ฒ„์™€์˜ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™”
  • ์˜คํ”„๋ผ์ธ ์ง€์›: ๋„คํŠธ์›Œํฌ ์—†์ด๋„ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ๋‹คํฌ ๋ชจ๋“œ: ์‹œ์Šคํ…œ ์„ค์ •์— ๋”ฐ๋ฅธ ๋‹คํฌ/๋ผ์ดํŠธ ๋ชจ๋“œ ์ง€์›

๐Ÿ— ํ”„๋กœ์ ํŠธ ์•„ํ‚คํ…์ฒ˜

๐ŸŽฏ Clean Architecture with Tuist

DDD-Attendance-iOS/
โ”œโ”€โ”€ ๐Ÿ“ฑ Projects/
โ”‚   โ”œโ”€โ”€ App/                     # ๋ฉ”์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํƒ€๊ฒŸ
โ”‚   โ”‚   โ”œโ”€โ”€ Sources/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Application/     # AppDelegate, SceneDelegate
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Di/             # Dependency Injection
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Reducer/        # TCA Root Reducer
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ View/           # Root Views
โ”‚   โ”‚   โ”œโ”€โ”€ Resources/          # Assets, Fonts, Localizations
โ”‚   โ”‚   โ””โ”€โ”€ Tests/              # App ๋ ˆ๋ฒจ ํ…Œ์ŠคํŠธ
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ Presentation/           # ๐ŸŽจ UI Layer
โ”‚   โ”‚   โ”œโ”€โ”€ Auth/               # ๋กœ๊ทธ์ธ/์ธ์ฆ ํ™”๋ฉด
โ”‚   โ”‚   โ”œโ”€โ”€ Splash/             # ์Šคํ”Œ๋ž˜์‹œ ํ™”๋ฉด
โ”‚   โ”‚   โ”œโ”€โ”€ OnBoarding/         # ์˜จ๋ณด๋”ฉ ํ™”๋ฉด
โ”‚   โ”‚   โ”œโ”€โ”€ Management/         # ์ถœ์„ ๊ด€๋ฆฌ ํ™”๋ฉด
โ”‚   โ”‚   โ”œโ”€โ”€ Member/             # ๋ฉค๋ฒ„ ๊ด€๋ฆฌ ํ™”๋ฉด
โ”‚   โ”‚   โ”œโ”€โ”€ Profile/            # ํ”„๋กœํ•„ ํ™”๋ฉด
โ”‚   โ”‚   โ”œโ”€โ”€ Web/                # ์›น๋ทฐ ํ™”๋ฉด
โ”‚   โ”‚   โ””โ”€โ”€ Presentation/       # ๊ณตํ†ต ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ์œ ํ‹ธ
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ Domain/                 # ๐Ÿ”ฅ Business Logic Layer
โ”‚   โ”‚   โ”œโ”€โ”€ Entity/             # ๋„๋ฉ”์ธ ์—”ํ‹ฐํ‹ฐ
โ”‚   โ”‚   โ”œโ”€โ”€ UseCase/            # ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ตฌํ˜„
โ”‚   โ”‚   โ””โ”€โ”€ RepositoryInterface/ # Repository ํ”„๋กœํ† ์ฝœ
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ Data/                   # ๐Ÿ“ก Data Layer
โ”‚   โ”‚   โ”œโ”€โ”€ Repository/         # Repository ๊ตฌํ˜„์ฒด
โ”‚   โ”‚   โ”œโ”€โ”€ DataSource/         # ๋กœ์ปฌ/์›๊ฒฉ ๋ฐ์ดํ„ฐ์†Œ์Šค
โ”‚   โ”‚   โ””โ”€โ”€ Model/              # DTO, Response Models
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ Network/                # ๐ŸŒ Network Layer
โ”‚   โ”‚   โ”œโ”€โ”€ Foundation/         # ๋„คํŠธ์›Œํฌ ๊ธฐ๋ฐ˜ ์„ค์ •
โ”‚   โ”‚   โ”œโ”€โ”€ Service/            # API ์„œ๋น„์Šค ๊ตฌํ˜„
โ”‚   โ”‚   โ””โ”€โ”€ Configuration/      # ๋„คํŠธ์›Œํฌ ์„ค์ •
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ Shared/                 # ๐Ÿ”ง Shared Layer
โ”‚       โ”œโ”€โ”€ DesignSystem/       # ๋””์ž์ธ ์‹œ์Šคํ…œ
โ”‚       โ”œโ”€โ”€ Utility/            # ๊ณตํ†ต ์œ ํ‹ธ๋ฆฌํ‹ฐ
โ”‚       โ””โ”€โ”€ Extension/          # Swift Extensions
โ”‚
โ””โ”€โ”€ ๐Ÿ”ง Tuist/                   # ํ”„๋กœ์ ํŠธ ์„ค์ •
    โ”œโ”€โ”€ Package.swift
    โ”œโ”€โ”€ ProjectDescriptionHelpers/
    โ””โ”€โ”€ Dependencies.swift

๐Ÿ›๏ธ Clean Architecture Pattern

graph TD
    A[๐ŸŽจ Presentation Layer] --> B[๐Ÿ”ฅ Domain Layer]
    B --> C[๐Ÿ“ก Data Layer]
    D[๐ŸŒ Network Layer] --> C
    E[๐Ÿ”ง Shared Layer] --> A
    E --> B
    E --> C

    A -.-> F[SwiftUI Views]
    A -.-> G[TCA Reducers]
    B -.-> H[Use Cases]
    B -.-> I[Entities]
    C -.-> J[Repositories]
    C -.-> K[API Services]
Loading

๐Ÿ“Š ์˜์กด์„ฑ ๊ทธ๋ž˜ํ”„ (Tuist Graph)

Dependency Graph

ํ”„๋กœ์ ํŠธ ๋ชจ๋“ˆ ๊ฐ„ ์˜์กด์„ฑ ๊ด€๊ณ„๋„ (์ž๋™ ์ƒ์„ฑ)

๐Ÿ”„ ์˜์กด์„ฑ ๋ฐฉํ–ฅ ์›์น™

Presentation โ†’ Domain (UseCase Protocol)
       โ†“
Domain/UseCase โ†’ Domain (Repository Protocol)
       โ†“
Data/Repository โ†’ Domain (Entity + Repository Protocol)
       โ†“
Network/Service โ†’ Data (API ํ†ต์‹ )

ํ•ต์‹ฌ ์„ค๊ณ„ ์›์น™:

  • โœ… Presentation์€ Domain์˜ UseCase๋งŒ ์˜์กด
  • โœ… Domain์€ ์™ธ๋ถ€ ๊ณ„์ธต์— ์˜์กดํ•˜์ง€ ์•Š๋Š” ์ˆœ์ˆ˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง
  • โœ… Data๋Š” Domain์˜ Entity์™€ Repository Protocol์„ ๊ตฌํ˜„
  • โœ… ๋ชจ๋“  ๋ฐ์ดํ„ฐ ํ๋ฆ„์€ Domain์„ ์ค‘์‹ฌ์œผ๋กœ ์ง„ํ–‰

๐Ÿ›  ๊ธฐ์ˆ  ์Šคํƒ

Core Technologies

  • ๐ŸŽฏ Architecture: The Composable Architecture (TCA) 1.18.0
  • ๐Ÿ“ฆ Modularization: Tuist 4.x (Micro Feature Architecture)
  • ๐Ÿ’‰ Dependency Injection: WeaveDI 3.4.0
  • ๐Ÿ”€ Navigation: TCACoordinators 0.11.1
  • โšก Concurrency: Swift Concurrency (async/await)

Key Dependencies

  • ComposableArchitecture 1.18.0: ์ƒํƒœ ๊ด€๋ฆฌ ๋ฐ ๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ํ”Œ๋กœ์šฐ
  • TCACoordinators 0.11.1: TCA ๊ธฐ๋ฐ˜ ํ™”๋ฉด ์ „ํ™˜ ๋ฐ ๋„ค๋น„๊ฒŒ์ด์…˜
  • WeaveDI 3.4.0: ์˜์กด์„ฑ ์ฃผ์ž… ์ปจํ…Œ์ด๋„ˆ (์ปค์Šคํ…€ ํฌํฌ)
  • GoogleSignIn 9.0.0: Google OAuth 2.0 ์ธ์ฆ
  • Firebase 12.7.0: ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค (Analytics, Crashlytics)
  • AsyncMoya 1.1.8: async/await ๊ธฐ๋ฐ˜ ๋„คํŠธ์›Œํ‚น (์ปค์Šคํ…€ ํฌํฌ)
  • AppAuth 2.0.0: OAuth 2.0 ๋ฐ OpenID Connect ํด๋ผ์ด์–ธํŠธ

UI & UX

  • ๐ŸŽจ UI Framework: SwiftUI + SwiftUIX 0.2.3
  • ๐Ÿ–ผ๏ธ Image Loading: SDWebImageSwiftUI 2.0.0
  • ๐ŸŽจ Design System: ์ปค์Šคํ…€ DesignSystem ๋ชจ๋“ˆ
  • ๐Ÿ“ฑ Responsive Design: ๋ชจ๋“  iOS ๊ธฐ๊ธฐ ๋Œ€์‘

Networking & Data

  • ๐ŸŒ HTTP Client: AsyncMoya 1.1.8 (Moya + async/await)
  • ๐Ÿ“ฑ API Architecture: RESTful API with JSON
  • ๐Ÿ’พ Local Storage: UserDefaults, Keychain
  • ๐Ÿ”„ State Management: TCA Store
  • ๐Ÿ”ฅ Backend Services: Firebase 12.7.0

Development Tools

  • ๐Ÿ“Š Analytics & Logging: Firebase Analytics + LogMacro
  • ๐Ÿ”ง Build Tool: Tuist + SPM (Swift Package Manager)
  • ๐Ÿงช Testing: XCTest + TCA Testing + XCTestDynamicOverlay
  • ๐Ÿ“ฑ Automation: fastlane (์Šคํฌ๋ฆฐ์ƒท, ๋ฐฐํฌ)
  • โšก Performance: Swift 6.0 + Concurrency Extras
  • ๐Ÿ› Crash Reporting: Firebase Crashlytics

๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘

โœ… ํ•„์ˆ˜ ์š”๊ตฌ์‚ฌํ•ญ

  • ๐Ÿ’ป Xcode: 16.0 ์ด์ƒ
  • ๐Ÿ“ฑ iOS: 17.0 ์ด์ƒ
  • โšก Swift: 6.0 ์ด์ƒ
  • ๐Ÿ”ง Tuist: 4.x ์ด์ƒ

๐Ÿ›  ์„ค์น˜ ๋ฐ ์‹คํ–‰

1๏ธโƒฃ ์ €์žฅ์†Œ ํด๋ก 

git clone https://github.com/DDD-Community/Attendance_iOS.git
cd Attendance_iOS

2๏ธโƒฃ Tuist ์„ค์น˜

curl -Ls https://install.tuist.io | bash

3๏ธโƒฃ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ๋ฐ ์ƒ์„ฑ

# ์ „์ฒด ์›Œํฌํ”Œ๋กœ์šฐ (๊ถŒ์žฅ)
./make build      # clean โ†’ install โ†’ generate

# ๋˜๋Š” ๋‹จ๊ณ„๋ณ„ ์‹คํ–‰
./make clean      # ๊ธฐ์กด ํŒŒ์ผ ์ •๋ฆฌ
./make install    # ์˜์กด์„ฑ ์„ค์น˜
./make generate   # ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

4๏ธโƒฃ Xcode์—์„œ ์‹คํ–‰

open DDDAttendance.xcworkspace

โš™๏ธ ํ™˜๊ฒฝ ์„ค์ •

ํ”„๋กœ์ ํŠธ ์‹คํ–‰์„ ์œ„ํ•ด ๋‹ค์Œ ์„ค์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค:

// Config ํŒŒ์ผ์—์„œ ์„ค์ • (Dev.xcconfig, Prod.xcconfig)
BASE_URL = api.dddstudy.kr/
GOOGLE_CLIENT_ID = YOUR_GOOGLE_CLIENT_ID
GOOGLE_IOS_CLIENT_ID = YOUR_GOOGLE_IOS_CLIENT_ID
REVERSED_CLIENT_ID = YOUR_REVERSED_CLIENT_ID

๐Ÿ› ๏ธ ์ฃผ์š” ๋ช…๋ น์–ด

๐Ÿ”„ ๊ธฐ๋ณธ ์›Œํฌํ”Œ๋กœ์šฐ

./make build      # ์ „์ฒด ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค (๊ถŒ์žฅ)
./make generate   # ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ๋งŒ
./make clean      # ๋นŒ๋“œ ์•„ํ‹ฐํŒฉํŠธ ์ •๋ฆฌ
./make install    # ์˜์กด์„ฑ ์„ค์น˜

๐Ÿšจ ๋ฌธ์ œ ํ•ด๊ฒฐ

tuist clean       # Tuist ์บ์‹œ ์ •๋ฆฌ
./make clean      # ๋ชจ๋“  ๋นŒ๋“œ ํŒŒ์ผ ์ •๋ฆฌ

๐Ÿ” ์ฝ”๋“œ ํ’ˆ์งˆ ๊ด€๋ฆฌ

tuist graph       # ์˜์กด์„ฑ ๊ทธ๋ž˜ํ”„ ์ƒ์„ฑ
tuist test        # ์ „์ฒด ํ…Œ์ŠคํŠธ ์‹คํ–‰

๐Ÿ“ฑ fastlane ์ž๋™ํ™”

fastlane ios beta               # TestFlight ๋ฐฐํฌ
fastlane ios release            # App Store ๋ฐฐํฌ
fastlane ios screenshots        # ์Šคํฌ๋ฆฐ์ƒท ์ž๋™ ์ƒ์„ฑ
fastlane ios build_for_testing  # ํ…Œ์ŠคํŠธ ๋นŒ๋“œ

fastlane ์ฃผ์š” ๊ธฐ๋Šฅ:

  • ์ž๋™ํ™”๋œ ๋นŒ๋“œ ๋ฐ ๋ฐฐํฌ
  • App Store Connect ๊ด€๋ฆฌ
  • ์ธ์ฆ์„œ ๋ฐ ํ”„๋กœํ•„ ๊ด€๋ฆฌ
  • ์Šคํฌ๋ฆฐ์ƒท ์ž๋™ ์ƒ์„ฑ

๐Ÿ“‹ ์‚ฌ์šฉ๋ฒ•

1๏ธโƒฃ ์ดˆ๊ธฐ ์„ค์ •

  1. ์•ฑ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜
  2. Google ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ
  3. ๊ถŒํ•œ ์„ค์ • (ํ‘ธ์‹œ ์•Œ๋ฆผ ๋“ฑ)

2๏ธโƒฃ ์ถœ์„ ์ฒดํฌ

  1. ์ถœ์„ ํƒญ์—์„œ ํ˜„์žฌ ์Šคํ„ฐ๋”” ์„ธ์…˜ ํ™•์ธ
  2. ์ถœ์„ ์ฒดํฌ ๋ฒ„ํŠผ ํ„ฐ์น˜
  3. ์ถœ์„ ์ƒํƒœ ์ž๋™ ์—…๋ฐ์ดํŠธ (์ถœ์„/์ง€๊ฐ/๊ฒฐ์„/๋Œ€๊ธฐ)

3๏ธโƒฃ ์ถœ์„ ํ˜„ํ™ฉ ์กฐํšŒ

  1. ํ†ต๊ณ„ ํƒญ์—์„œ ๊ฐœ์ธ ์ถœ์„๋ฅ  ํ™•์ธ
  2. ๋‹ฌ๋ ฅ ๋ทฐ๋กœ ์›”๋ณ„ ์ถœ์„ ํŒจํ„ด ํ™•์ธ
  3. ์ƒ์„ธ ์ด๋ ฅ ์กฐํšŒ ๊ฐ€๋Šฅ

4๏ธโƒฃ ํ”„๋กœํ•„ ๊ด€๋ฆฌ

  1. ํ”„๋กœํ•„ ํƒญ์—์„œ ๊ฐœ์ธ ์ •๋ณด ํ™•์ธ
  2. ์„ค์ • ๋ฉ”๋‰ด์—์„œ ์•ฑ ํ™˜๊ฒฝ ์„ค์ •
  3. ๋กœ๊ทธ์•„์›ƒ ๋ฐ ๊ณ„์ • ๊ด€๋ฆฌ

๐Ÿ“„ ๋ผ์ด์„ ์Šค

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ ์Šค ํ•˜์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE ํŒŒ์ผ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๐Ÿ‘ฅ ํŒ€ & ํฌ๋ ˆ๋”ง

๐Ÿ’ป ๊ฐœ๋ฐœํŒ€

  • iOS Lead Developer: ์„œ์›์ง€ (@Roy-wonji)
  • iOS Developer: ํ™์€ํ‘œ (@honghoker)

๐Ÿ›  ๊ธฐ์ˆ  ์Šคํƒ

  • iOS: Swift Xcode Fastlane

  • Server: AWS EC2 AWS Swagger

  • Design: Figma

  • VCS: Git GitHub

๐Ÿˆโ€โฌ› Git ๋ธŒ๋žœ์นญ ์ „๋žต

1๏ธโƒฃ Git Branching Strategy

  • Main Branch: ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ์šฉ
  • Develop Branch: ๊ฐœ๋ฐœ ํ†ตํ•ฉ ๋ธŒ๋žœ์น˜
  • Feature Branch: ๊ธฐ๋Šฅ๋ณ„ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜

๐Ÿ“‹ ์›Œํฌํ”Œ๋กœ์šฐ

  1. Develop ๋ธŒ๋žœ์น˜์—์„œ Feature ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ
  2. Feature ๋ธŒ๋žœ์น˜์—์„œ ๊ฐœ๋ฐœ ์ง„ํ–‰
  3. Feature โ†’ Develop Pull Request
  4. ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ ์ถฉ๋Œ ํ•ด๊ฒฐ ํ›„ ๋จธ์ง€
  5. Develop โ†’ Main ๋ฐฐํฌ์šฉ Pull Request

๐Ÿ“ž ๋ฌธ์˜ ๋ฐ ์ง€์›


Made with โค๏ธ by DDD Team

Star this repo

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors