Skip to content

KNUTICE/KNUTICE-iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

924 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917


πŸ’β€β™‚οΈ Service Introduction

  • μƒˆλ‘œμš΄ 곡지 사항을 μ•± ν‘Έμ‹œ μ•Œλ¦ΌμœΌλ‘œ μ „λ‹¬ν•˜λŠ” 곡지 사항 μ•Œλ¦¬λ―Έμ™€ λŒ€ν•™ μƒν™œμ— ν•„μš”ν•œ 정보λ₯Ό λΉ λ₯΄κ²Œ μ „λ‹¬ν•˜λŠ” 캠퍼슀 μƒν™œ μœ ν‹Έλ¦¬ν‹°

πŸ™‹β€β™‚οΈ Part

  • KNUTICE iOS μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ 기획, 섀계, 개발, λ””μžμΈ

βš’οΈ Tech Stack

  • Swift, iOS, UIKit, SwiftUI, MVVM, Clean Architecture, TCA, RxSwift, Combine, Swift Concurrency, Tuist, Alamofire, CoreData, Firebase, Xcode Cloud, XCTest

βš™οΈ Architecture

  • MVVM + Clean Architecture

🧐 What I learned

ν”„λ‘œμ νŠΈ κΈ°νšλΆ€ν„° 개발, μ‹€μ œ μ•±μŠ€ν† μ–΄ 배포에 이λ₯΄κΈ°κΉŒμ§€ μ„œλΉ„μŠ€ 런칭과 운영 μ „ 과정을 직접 μ£Όλ„μ μœΌλ‘œ κ²½ν—˜ν•  수 μžˆμ—ˆμŒ

  • UIKit, SwiftUI
    • Storyboard 없이 μ½”λ“œ 베이슀둜 UIλ₯Ό κ΅¬ν˜„ν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œκ²Œ λ˜μ—ˆμŒ
  • Auto Layout을 ν™œμš©ν•˜μ—¬ λ‹€μ–‘ν•œ ν™”λ©΄ 크기와 λ°©ν–₯μ—μ„œ Viewλ₯Ό λ°°μΉ˜ν•˜κ³ , λ™μ μœΌλ‘œ λ³€ν•˜λŠ” UI μš”μ†Œμ— μœ μ—°ν•˜κ²Œ λŒ€μ‘ν•˜λŠ” 방법을 μ•Œκ²Œ λ˜μ—ˆμŒ
  • SwiftUI의 데이터 μƒνƒœμ— λ”°λ₯Έ View κ°±μ‹  μ•Œκ³ λ¦¬μ¦˜κ³Ό 데이터 μ˜μ‘΄μ„±μ„ λΆ„λ¦¬ν•˜μ—¬ SwiftUI의 μ„±λŠ₯을 ν–₯μƒν•˜λŠ” 방법을 μ•Œκ²Œ λ˜μ—ˆμŒ
  • Combine, RxSwift
    • 비동기 λ„€νŠΈμ›Œν¬ μš”μ²­κ³Ό 응닡을 μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ Publisher와 Subscriber 기반의 데이터 μŠ€νŠΈλ¦Όμ„ μƒμ„±ν•˜μ—¬ λ°˜μ‘ν˜• ν”„λ‘œκ·Έλž˜λ°μ„ κ΅¬ν˜„ν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œκ²Œ λ˜μ—ˆμŒ
    • Combineμ—μ„œ μ œκ³΅ν•˜λŠ” λ‹€μ–‘ν•œ μ—°μ‚°μž(map, flatMap, merge, debounce λ“±)λ₯Ό ν™œμš©ν•˜μ—¬ 데이터λ₯Ό λ³€ν™˜, ν†΅ν•©ν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œκ²Œ λ˜μ—ˆμŒ
    • Combineκ³Ό RxCocoaλ₯Ό ν™œμš©ν•˜μ—¬ View와 ViewModel μ‚¬μ΄μ—μ„œ 데이터 바인딩을 κ΅¬ν˜„ν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œκ²Œ λ˜μ—ˆμŒ
  • Swift Concurrency
    • GCD λŒ€λΉ„ Swift Concurrencyκ°€ κ°€μ§€λŠ” μ„±λŠ₯적 μž₯점을 μ΄ν•΄ν•˜κ³  μ‚¬μš©ν•  수 있음
    • async/await, async-let, Task Tree, Actor 등을 ν™œμš©ν•˜μ—¬ 비동기 μ½”λ“œμ—μ„œ ꡬ쑰적 ν”„λ‘œκ·Έλž˜λ°μ΄ κ°€λŠ₯ν•˜λ„λ‘ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” 방법을 μ•Œκ²Œ λ˜μ—ˆμŒ
  • Core Data
    • Persistent Storage에 데이터 CRUD(μ €μž₯, 쑰회, κ°±μ‹ , μ‚­μ œ) 방법에 λŒ€ν•΄ μ•Œκ²Œ λ˜μ—ˆμŒ
  • CI/CD
    • Xcode Cloudλ₯Ό μ΄μš©ν•œ CI/CD ν™˜κ²½ ꡬ좕 및 λΉŒλ“œ μžλ™ν™”, ν…ŒμŠ€νŠΈ μžλ™ν™”, 배포 μžλ™ν™” νŒŒμ΄ν”„λΌμΈ κ΅¬μΆ•ν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œκ²Œ λ˜μ—ˆμŒ

πŸ“± Preview