-
Coordinator ํจํด์ผ๋ก ํ๋ฉด ์ ํ ๋ก์ง์ ๋ถ๋ฆฌํ์ฌ View Controller์ ์ฑ ์ ๊ฐ์
-
Repository ํจํด์ ํ์ฉํ Data Layer๋ฅผ ํตํด ๋ฐ์ดํฐ ์์ค ์ถ์ํ
-
Use Case๋ฅผ ํตํ ๋น์ฆ๋์ค ๋ก์ง ๋ถ๋ฆฌ๋ก ViewModel ๋ณต์ก๋ ๊ฐ์
-
Protocol ๊ธฐ๋ฐ ์์กด์ฑ ์ฃผ์ ์ผ๋ก ํ ์คํธ ์ฉ์ด์ฑ ํ๋ณด
- Authentication, Firestore, Storage๋ฅผ ํ์ฉํ ์๋ฒ๋ฆฌ์ค ์ํคํ ์ฒ ๊ตฌํ
- ๋ณ๋์ ๋ฐฑ์๋ ์๋ฒ ์์ด ๋ฐ์ดํฐ ๋๊ธฐํ ๋ฐ ์ฌ์ฉ์ ์ธ์ฆ ๊ตฌํ
- Cloud Functions๋ฅผ ํตํ Refresh Token ๋ฐ๊ธ/ํ์ ์ฒ๋ฆฌ
- ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ๊ณผ ๋น๋๊ธฐ ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ์ํ Combine ํ๋ ์์ํฌ ํ์ฉ
- ๋น๋๊ธฐ ๋คํธ์ํฌ ์์ฒญ ๋ฐ DB ์์ ์ Swift Concurrency ์ ์ฉ
- ์ํธ ์ด์ฉ์ฑ ํ๋ณด๋ฅผ ์ํ ์ฐ๊ฒฐ ๋ ์ด์ด ๊ตฌํ
- ์บ์ฑ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ CoreData ํ์ฉ
- ๋ฏผ๊ฐํ ์ธ์ฆ ์ ๋ณด๋ฅผ ์์ ํ๊ฒ ์ ์ฅํ๊ธฐ ์ํ Keychain Services ๊ตฌํ
- Firebase์ Local DB ๊ฐ ๋ฐ์ดํฐ ๋๊ธฐํ ๋ฉ์ปค๋์ฆ ๊ตฌํ
- JWT ์์ฑ์ ์๋ฒ๊ฐ ์๋ ํด๋ผ์ด์ธํธ์์ ์ง์ ์ฒ๋ฆฌํ๋ ๋ณด์ ์ํคํ ์ฒ ๊ตฌํ
- Keychain์ ํ์ฉํ Refresh Token ์ ์ฅ์ผ๋ก ์ฌ์ฉ์ ์ฌ๋ก๊ทธ์ธ ํ์์ฑ ์ต์ํ
- Firebase์์ ํตํฉ์ ํตํ ์๋ ๋ก๊ทธ์ธ ๊ตฌํ
- ์ฑ ์ญ์ /์ฌ์ค์น ์๋๋ฆฌ์ค์์๋ ์ฌ์ฉ์ ์ค์ ๊ธฐ๋ฐ ํธ์ ์๋ฆผ ๋ณต์
- Keychain์ ํ์ฉํ ์ํ ์ ๋ณด ๋ณด์กด์ผ๋ก ์ผ๊ด๋ ์ฌ์ฉ์ ๊ฒฝํ ์ ๊ณต
- 12๊ฐ์ง ์ฌ์ฉ์ ์๋๋ฆฌ์ค ๋ถ์ ๋ฐ ๋์ ๋ก์ง ๊ตฌํ
- ๋ก์ปฌ ์บ์ฑ ์ฐ์ ์ ๋ต์ ํตํ Firestore ์ฝ๊ธฐ ๋น์ฉ ์ ๊ฐ
- ์บ์ฑ ์๋๋ฅผ ํตํ ๋ฐ์ดํฐ ์ฝ๊ธฐ ์๋ ๊ฐ์
๐ ๋ฌธ์ | ๋ ธ์ |
---|