๊ฐ๋ฐฅ์คฌ์ด?
Stack: Firebase, MVC, UIKit, iOS Team: ํ ํ๋ก์ ํธ Role: ๊ฐ๋ฐ ์งํ ๊ธฐ๊ฐ: 2021/09/23 โ 2021/09/24 About: ์ฐ๋ฆฌ์ง ๊ฐ์์ง ์์กด๊ถ์ ํ๋ฆฝํ๋ ์์ฌ ์ฌ๋ถ ํ์ธ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ์
GitHub - wansook0316/bookathon_G: ๊ฐ๋ฐฅ์คฌ์ด?
๊ธฐํ์๋
- ๊ฐ๋ฐฅ์คฌ์ด? ๋ชจ๋๊ฐ ๋ฐ์ ์์ฆ ์ฐ๋ฆฌ์ง ๊ฐ์์ง ๋ฐฅ์ ๋๊ฐ ์ฑ๊ฒจ?!
- ์ด์ ํธํ๊ฒ ์ฑ์ผ๋ก ํ์ธํ์ธ์
โย ํ์ค์๊ฐ
- ์ฐ๋ฆฌ์ง ๊ฐ์์ง ์์กด๊ถ์ ํ๋ฆฝํ๋ ์์ฌ ์ฌ๋ถ ํ์ธ ์ ํ๋ฆฌ์ผ์ด์
๐ปย ์๋น์ค
- ๊ฐ์กฑ ๊ตฌ์ฑ์์ด ๊ฐ์์ง ๋ฐฅ์ ์ฃผ์๋์ง ์ง๊ด์ ์ผ๋ก ํ์
ํ ์ ์๋ค.
- ๋๊ฐ?
- ๋ฌด์์?
- ๊ฐ์กฑ ๊ตฌ์ฑ์๊ฐ์ ์ฑํ ๊ธฐ๋ฅ ์ถ๊ฐ๋ก ๊ฐ๋จํ ์ ๋ณด๋ ๊ณต์ ํ ์ ์๋ค.
๋์ ํ๋ฉด
- ๊ฐ์กฑ ๋ง๋ค๊ธฐ
- ์ฌ์ฉ์ ๋ฑ๋กํ๊ธฐ
- ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ์ฌ์ฉ์ ์ญํ ์ ์์ฒญํ์์ต๋๋ค. ์ฌ์ฉ์ ์ญํ ์ CollectionView๋ฅผ ๋์์ 6๊ฐ์ง ์ด๋ชจ์ง ์ค ํ๋๋ฅผ ์ ํํ ์ ์๊ฒ ํ์์ต๋๋ค.
- ๊ฐ์์ง ๋ฑ๋กํ๊ธฐ
- ๊ฐ์์ง ์ฌ์ง๊ณผ ๊ฐ์์ง ์ด๋ฆ์ ์์ฒญํ์์ต๋๋ค. ๊ฐ์์ง ์ฌ์ง ๊ฐ์ ๊ฒฝ์ฐ์ picker์์ ์ ํํ๊ฒ ๋๋ฉด FirebaseStorage์ ์ ์ฅํ๊ณ URL์ ์์ฒญํด์ FireStore์ ์ ์ฅํฉ๋๋ค.
- ์ฌ์ฉ์ ๋ฑ๋กํ๊ธฐ
- ๋ฐฉ ์ฐธ๊ฐํ๊ธฐ
- ๊ฐ์กฑ ์ด๋ฆ์ ์ ๋ ฅํ๋ฉด ์ด๋ฏธ ๋ฑ๋ก๋ ๊ฐ์กฑ์ผ๋ก ์ด๋ํ๊ฒ ๋ฉ๋๋ค.
- ์๋๋ก๊ทธ์ธ
- ์ด๋ฏธ ๋ก๊ทธ์ธํ ์ ์ด ์๋ค๋ฉด? ์๋๋ก๊ทธ์ธ์ ํ๋๊ฒ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ ์ข๊ฒ์ฃ ?
- UserDefault๋ผ๋ ์ด๋ฏธ iOS์์ ์ ๊ณตํด์ฃผ๋ ์ ์ญ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์์ต๋๋ค.
- ๋ฐฅ ์ฃผ๊ธฐ
- ๋ฐฅ์ CollectionView ์ ์๋ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ์ฌ์ฉ์ ์ญํ ์ฒ๋ผ 6๊ฐ์ง ์ด๋ชจ์ง ์ค ํ๋๋ฅผ ์ ํํ ์ ์๊ฒ ํ์์ต๋๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก 4๊ฐ์ ๋ฐฅ๋ง ์๊ฐ๊ณผ ์ด๋ชจ์ง๋ง ๋ณด์ด๊ฒ ํด๋์๊ณ , ์์ธํ ์ ๋ณด ํน์ ์ถ๊ฐ ์ ๋ณด๋ ๋๋ณด๊ธฐ ์ฐฝ์ ๋๋ฌ์ ํ์ธํ ์ ์์ต๋๋ค.
- ๋๋ณด๊ธฐ
- ๋๋ณด๊ธฐ์์๋ TableView๋ฅผ ์ด์ฉํ์์ต๋๋ค. ์ฌ์ฉ์ ์ด๋ชจ์ง / ์ค ๋จน์ด ํ ์คํธ ์ ๋ณด / ์๊ฐ์ ํ์ธํ ์ ์์ต๋๋ค.
- ์ฑํ
ํ๊ธฐ
- ์ฑํ ์ ChatViewController์ Firestore ์ค๋ ์ท์ ๋ฌ์ ์ฑํ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ ์ ๋ฐ์ดํธ ํ๊ณ ๋ฐ์์ฌ ์ ์๋๋ก ๊ตฌํํ์ต๋๋ค.
- ์ฑํ ๋ฐ์ดํฐ ์กฐํ, ์ถ๊ฐ ํ๋ฉด ์ค๋ ์ท์ด ์ ๋ฐ์ดํธ๋ ๋ณ๊ฒฝ์ฌํญ์ ๋ฐ์์ ๋ทฐ์ปจํธ๋กค๋ฌ์ ๋ณด์ฌ์ค ์ ์์ต๋๋ค.
๋งก์ ์ญํ
- ๋ฉ์ธํ๋ฉด์ ์ง์ ํ๊ธฐ ์ , ๊ฐ์กฑ, ๊ฐ์์ง, ์ฌ์ฉ์ ๋ฑ๋ก์ ํ๋ ์ง์ ๋ถ๋ถ ๋ด๋น
- TextField๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ ์ ๊ฐ์งํ์ฌ ๋ค์ ๋ฒํผ์ enable ์ฌ๋ถ ์ ๊ฒ
- ์ด๋ฏธ ์กด์ฌํ๋ ๊ฐ์กฑ์ด๋ฆ ์ธ ๊ฒฝ์ฐ ๊ฐ์กฑ ์ํฐํฐ๋ฅผ ์์ฑํ ์ ์๊ณ Alert๋ฅผ ๋ณด์ฌ์ค
- Image Picker๋ก ๋ถํฐ ๊ฐ์ ธ์จ ์ฌ์ง์ Firebase Storage์ ์ ๋ก๋ ํ๊ณ , ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ url๋ก ์ ์ฅํ์ฌ ๋๋ฐ์ด์ค ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
- Custom View Controller๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ํ๋ฉด์ ํด๋ฆญํ์ ๋, ์ด๋ฏธ ์ ์๋ ์ฌ์ฉ์ ์ผ๊ตด์ ํด๋ฆญํ ์ ์๋๋ก ์์
๋ฌธ์ ์ํฉ๊ณผ ํด๊ฒฐ
- ํ์ ๊ณผ์ ์์ ๋ฌธ์ ๋ฅผ ๋ง์ด ๊ฒช์ด, ํ์ ๋ณ๋ก ๋ค๋ฅธ ํ๋ฉด์ ๊ธฐ์ค์ผ๋ก ์์ ์ ํ์ต๋๋ค.
- ๊ฐ๊ฐ์ด ํด๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์คํ ๋ฆฌ๋ณด๋, swift ํ์ผ๋ฑ์ ๋ง๋ค์ด์ ์์ ํ ๋ค ์ฐ๊ฒฐํ ๋๋ง ํด๋น ์คํ ๋ฆฌ๋ณด๋์์ ์์ฑํ์ฌ ์ฐ๊ฒฐํด์ฃผ์์ต๋๋ค.
- Firebase ์ฐ๋์ด ์ฒ์์ด๋ผ ๋ง์ด ํค๋งธ์ง๋ง ์ฌ์ฉ๋ฒ์ ์ตํ ์ ์์์ต๋๋ค.