Skip to content

letusHyun/Fresh-Note

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿƒ Fresh Note - ์‹ ์„ ํ•จ์„ ๋‹ด๋Š” ๋ฉ”๋ชจ์žฅ

iOS 16.0 Xcode 16.1 Swift 5.0

์œ ํ†ต๊ธฐํ•œ๊ณผ ๋ ˆ์‹œํ”ผ๋ฅผ ํ•œ ๋ˆˆ์—, ์‹ ์„ ํ•œ ์‹์žฌ๋ฃŒ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์†”๋ฃจ์…˜

์‹์žฌ๋ฃŒ ๊ด€๋ฆฌ๋ถ€ํ„ฐ ๋ ˆ์‹œํ”ผ ์ถ”์ฒœ๊นŒ์ง€, ๋‹น์‹ ์˜ ๋ƒ‰์žฅ๊ณ ๋ฅผ ์Šค๋งˆํŠธํ•˜๊ฒŒ



๐Ÿ“ฑ Fresh Note ํ™”๋ฉด


๋กœ๊ทธ์ธ ํ™”๋ฉด

๋‚ ์งœ์„ค์ • ํ™”๋ฉด

ํ™ˆ ํ™”๋ฉด

์ œํ’ˆ๋“ฑ๋ก ํ™”๋ฉด

์‚ฌ์ง„ ์ƒ์„ธ ํ™”๋ฉด

์‚ฌ์ง„ ์ „์ฒด ํ™”๋ฉด

๊ฒ€์ƒ‰ ํ™”๋ฉด

์บ˜๋ฆฐ๋” ํ™”๋ฉด

ํ•€ ํ™”๋ฉด

์นดํ…Œ๊ณ ๋ฆฌ ํ™”๋ฉด

๋กœ๊ทธ์•„์›ƒ ํ™”๋ฉด

ํšŒ์›ํƒˆํ‡ด ํ™”๋ฉด


๐Ÿงฑ ์•„ํ‚คํ…์ฒ˜

Clean Architecture + MVVM-C

์•„ํ‚คํ…์ฒ˜
  • Coordinator ํŒจํ„ด์œผ๋กœ ํ™”๋ฉด ์ „ํ™˜ ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜์—ฌ View Controller์˜ ์ฑ…์ž„ ๊ฐ์†Œ

  • Repository ํŒจํ„ด์„ ํ™œ์šฉํ•œ Data Layer๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ์†Œ์Šค ์ถ”์ƒํ™”

  • Use Case๋ฅผ ํ†ตํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ถ„๋ฆฌ๋กœ ViewModel ๋ณต์žก๋„ ๊ฐ์†Œ

  • Protocol ๊ธฐ๋ฐ˜ ์˜์กด์„ฑ ์ฃผ์ž…์œผ๋กœ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ ํ™•๋ณด

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

Firebase

  • Authentication, Firestore, Storage๋ฅผ ํ™œ์šฉํ•œ ์„œ๋ฒ„๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜ ๊ตฌํ˜„
  • ๋ณ„๋„์˜ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ์—†์ด ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ๋ฐ ์‚ฌ์šฉ์ž ์ธ์ฆ ๊ตฌํ˜„
  • Cloud Functions๋ฅผ ํ†ตํ•œ Refresh Token ๋ฐœ๊ธ‰/ํšŒ์ˆ˜ ์ฒ˜๋ฆฌ

Combine

  • ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ๊ณผ ๋น„๋™๊ธฐ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ Combine ํ”„๋ ˆ์ž„์›Œํฌ ํ™œ์šฉ
  • ๋น„๋™๊ธฐ ๋„คํŠธ์›Œํฌ ์š”์ฒญ ๋ฐ DB ์ž‘์—…์— Swift Concurrency ์ ์šฉ
  • ์ƒํ˜ธ ์šด์šฉ์„ฑ ํ™•๋ณด๋ฅผ ์œ„ํ•œ ์—ฐ๊ฒฐ ๋ ˆ์ด์–ด ๊ตฌํ˜„

CoreData & Keychain

  • ์บ์‹ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ CoreData ํ™œ์šฉ
  • ๋ฏผ๊ฐํ•œ ์ธ์ฆ ์ •๋ณด๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ Keychain Services ๊ตฌํ˜„
  • Firebase์™€ Local DB ๊ฐ„ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๊ตฌํ˜„

๐Ÿ“‹ ๊ตฌํ˜„ ๋‚ด์šฉ

1. ์• ํ”Œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„

  • JWT ์ƒ์„ฑ์„ ์„œ๋ฒ„๊ฐ€ ์•„๋‹Œ ํด๋ผ์ด์–ธํŠธ์—์„œ ์ง์ ‘ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ณด์•ˆ ์•„ํ‚คํ…์ฒ˜ ๊ตฌํ˜„
  • Keychain์„ ํ™œ์šฉํ•œ Refresh Token ์ €์žฅ์œผ๋กœ ์‚ฌ์šฉ์ž ์žฌ๋กœ๊ทธ์ธ ํ•„์š”์„ฑ ์ตœ์†Œํ™”
  • Firebase์™€์˜ ํ†ตํ•ฉ์„ ํ†ตํ•œ ์ž๋™ ๋กœ๊ทธ์ธ ๊ตฌํ˜„

2. ๋งฅ๋ฝ๋ณ„ ํ‘ธ์‹œ ์•Œ๋ฆผ ๋ณต์› ์ „๋žต

  • ์•ฑ ์‚ญ์ œ/์žฌ์„ค์น˜ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋„ ์‚ฌ์šฉ์ž ์„ค์ • ๊ธฐ๋ฐ˜ ํ‘ธ์‹œ ์•Œ๋ฆผ ๋ณต์›
  • Keychain์„ ํ™œ์šฉํ•œ ์ƒํƒœ ์ •๋ณด ๋ณด์กด์œผ๋กœ ์ผ๊ด€๋œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์ œ๊ณต
  • 12๊ฐ€์ง€ ์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค ๋ถ„์„ ๋ฐ ๋Œ€์‘ ๋กœ์ง ๊ตฌํ˜„

3. Firestore ๋น„์šฉ ์ตœ์ ํ™”

  • ๋กœ์ปฌ ์บ์‹ฑ ์šฐ์„  ์ „๋žต์„ ํ†ตํ•œ Firestore ์ฝ๊ธฐ ๋น„์šฉ ์ ˆ๊ฐ
  • ์บ์‹ฑ ์†๋„๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ ์†๋„ ๊ฐœ์„ 
๐Ÿ“‘ ๋ฌธ์„œ ๋…ธ์…˜

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published