FinalTodo
์ต์ํ ๊ธฐ์ ๋ค์ ํ์ฉํ์ฌ ์ผ์ ์ ๋ง์ถ์ด ๋ฐฐํฌ๊น์ง์ ๊ฒฝํ์ ๋ชฉ์ ์ผ๋ก ์ ์ฌ ๊ฒฝํ์ด ์๋ ๋ฉ๋ชจ์ฑ์ ์ ์ ํ๊ฒ ๋์์ผ๋ฉฐ, ๊ธฐ์กด ๋ฉ๋ชจ์ฑ๊ณผ์ ์ฐจ๋ณ์ฑ์ ๊ฐ์ง๊ธฐ ์ํด Gamification ์์, ์๊ฐ ์๋ฆผ ์ค์ , ์์น ์๋ฆผ ์ค์ , ์ฌ์ฉ์ ํ
๋ง ์ค์ ์ ๊ฐ์ง๊ณ ์๋ ๋ฉ๋ชจ์ฑ์ ๊ธฐํํ์์ต๋๋ค.
- ๊ฐ์ธ๋ณ๋ก ๊ธฐ์กด ์บ ํ์์ ์ตํ ๊ธฐ์ ์ ์ฒด๋ํ๋ ๊ฒ
- ์ต์ํ ๊ธฐ์ ๋ค์ ํ์ฉํ ๋ฐฐํฌ๊น์ง์ ๊ฒฝํ
- ์ถํ์ ์์ ํ๋ก์ ํธ ๋ฐ ์ฑ ๋ฐฐํฌ ๊ฒฝํ ์ค ๋ฆฌ์ ๋์์ ๋ํ ๊ฒฝํ
- ๋ฉ๋ชจ๋ฅผ ์์ฑํ ๋ ๋ง๋ค ํฌ์ธํธ๋ฅผ ํ๋ํ๊ฒ๋์ด ์ฑ ๋ด๋ถ์ ์บ๋ฆญํฐ๋ฅผ ์ฑ์ฅ์ํฌ ์ ์๋
Gamification์ ํตํ์ฌ ์ฌ์ฉ์์๊ฒ ์ฌ๋ฏธ, ๋ชฐ์ , ๋๊ธฐ๋ถ์ฌ ๋ฑ์ ์ ๋ํ์ฌ ์ง์์ ์ธ ์ฑ ์ฌ์ฉ์ ์ด์ง
- ๋ฉ๋ชจ ์์ฑ, ์ ์ฅ, ๊ฒ์ ๊ธฐ๋ฅ์ Swift์ CoreData ํ๋ ์์ํฌ๋ฅผ ํ์ฉํ์ฌ ๊ตฌํ๋์๊ณ ์ฌ์ฉ์๊ฐ ์์ฑํ ๋ฉ๋ชจ๋ ๋ก์ปฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋๋ฉฐ, ํ์์ ๋ฐ๋ผ ๊ฒ์ ๋ฐ ์์ ์ด ๊ฐ๋ฅ. ๋ก๊ทธ์ธ ๋ฐ ์จ๋ผ์ธ DB ์ฉ๋๋ก ์ฌ์ฉํ์์ผ๋ฉฐ ๋ฎ์ ๋ฌ๋์ปค๋ธ๋ก ์ฌ์ฉ์ด ํธ๋ฆฌํ ์จ๋ผ์ธ DB ๋ฐ ๋ก๊ทธ์ธ ๊ตฌํ ๊ฐ๋ฅํ์ฌ ์ ์ฉ.
- Firebase์ ์ธ์ฆ ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ๋ก๊ทธ์ธ, ๋ก๊ทธ์์ ๋ฐ ํ์๊ฐ์ ๊ธฐ๋ฅ์ ๊ตฌํ. ์์ ํ ์ฌ์ฉ์ ์ธ์ฆ์ ๋ณด์ฅํ๋ฉฐ, ์ฌ์ฉ์ ๋ฐ์ดํฐ์ ์์ ํ ๊ด๋ฆฌ๋ฅผ ๊ฐ๋ฅ.
- MapKit์ ํตํด ์ฌ์ฉ์์ ํ์ฌ ์์น๋ฅผ ์ถ์ ํ๊ณ , ์ด๋ฅผ ๋ฉ๋ชจ์ ์ฐ๊ฒฐํ๋ ๊ธฐ๋ฅ์ ์ ๊ณต. ์๋ฅผ ๋ค์ด, ํน์ ์ฅ์์ ๋ํ ๋ฉ๋ชจ๋ฅผ ์์ฑํ๊ฑฐ๋, ๊ทธ ์์น์ ๋์ฐฉํ์ ๋ ํด๋น ๋ฉ๋ชจ๋ฅผ ๋ฆฌ๋ง์ธ๋ํ๋ ๊ธฐ๋ฅ๊ตฌํ.
- UserNotifications ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ, ์ฌ์ฉ์๊ฐ ํน์ ๋ฉ๋ชจ์ ๋ํ ์๋ฆผ์ ์ค์ . ์ด๋ ๋ฉ๋ชจ๋ฅผ ํน์ ์๊ฐ์ ๋ฆฌ๋ง์ธ๋ํ๋ ๊ธฐ๋ฅ์ผ๋ก, ์ฌ์ฉ์์ ์ผ์ ๊ด๋ฆฌ์ ๋์์ ์ค.
- ์ฌ์ฉ์๊ฐ ๋ฉ๋ชจ๋ฅผ ์์ฑํ ๋๋ง๋ค ํฌ์ธํธ๋ฅผ ํ๋ํ๊ฒ ๋๋ฉฐ ํ๋ํ ํฌ์ธํธ์ ๋ฐ๋ผ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋ด์ ์ด๋ฏธ์ง๊ฐ ์ ๊ทธ๋ ์ด๋๋๋ ์์คํ ์ ๊ตฌํ. ์ด ํฌ์ธํธ๋ ์ฌ์ฉ์์ ์ฐธ์ฌ๋๋ฅผ ๋์ด๊ณ , ์ง์์ ์ธ ์ฑ ์ฌ์ฉ์ ํ๊ธฐ์ํ ๋๊ธฐ ๋ถ์ฌ ์์๋ก ์์ฉ.
- ์ญํ :
ํ์ - ๋ด๋น ์
๋ฌด
- SignIn, SignUp page UI๊ตฌํ
- ๊ณต๋๋ทฐ ์์
- ํ ๋ง์ปฌ๋ฌ ์ ํ ๋ฐ ์ ์ฅ ์์
- ๋คํฌ๋ชจ๋ ๋์
- ์ญํ :
ํ์ - ๋ด๋น ์
๋ฌด
- SettingPage / ProfilePage / DeleteAccountPageViewController / ThemeColorPage / CalendarListViewController UI ๋ฐ ๊ด๋ จ ๊ธฐ๋ฅ ๊ตฌํ
- CoreDataModel / User ๋ฐ์ดํฐ๋ชจ๋ธ ๊ตฌํ
- CoreDataManager ๊ตฌํ
- Cell Identifier Extension ์์
- ์ญํ :
ํ์
- ์ญํ :
๋ถ๋ฆฌ๋ - ๋ด๋น ์
๋ฌด
- UserNotifications ์ฌ์ฉ ๋ฉ๋ชจ๋ณ ๋ ์ง, ์๊ฐ ๊ฐ ์๋ฆผ๊ธฐ๋ฅ ์ค์
- ๋ ์ง, ์๊ฐ ์๋ฆผ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ๋ฉ๋ชจ์ ์ฐ๊ฒฐ
- ๋ฉ๋ชจ ์ถ๊ฐํ๊ธฐ ํ๋ฉด UI ๋ฐ DB ์ฐ๊ฒฐ
- ๋ฉ๋ชจ ์์ ํ๋ฉด UI ๋ฐ DB ์ฐ๊ฒฐ
- FSCalendar ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ์ฉ ๋ฐ UI ์์
- ์ญํ :
๋ฆฌ๋ - ๋ด๋น ์
๋ฌด
- UI
- LockScreen
- LockScreenSettingScene
- RewardScene
- SignInScene
- SignUpScene
- MemoScene
- App Info Scene
- Featrue
- ์ฑ ์ ๊ธํ๋ฉด ๊ธฐ๋ฅ
- CoreData CRUD
- ๋ก๊ทธ์ธ
- ํ์๊ฐ์
- Custom modal Controller ๊ตฌํ
- Custom modal Gesture Controller ๊ตฌํ
- UI
- ๊ธฐํ
- ์ฝ๋ ์ปจ๋ฒค์ ๊น ์ปจ๋ฒค์ ๋ฑ ํ์ ์ ํ์ํ ๋ฃฐ์ ํ๋ฆฝ
- ํ์ ํ์ด์ง UI ๊ตฌํ
- ๊ฐ Scene ๊ตฌํ
- ๋ก์ปฌ ๋ฐ ์จ๋ผ์ธ CRUD ๊ธฐ๋ฅ ๊ตฌํ
- ์๊ฐ ์๋ฆผ
- ์์น ์๋ฆผ
- ์ปค์คํ ์ปฌ๋ฌ ์ ๊ณต
- ์ ๊ธํ๋ฉด
- ๋ฐฐํฌ ์ค ๋ฆฌ์ ๋์ ๋ฐ ํด๊ฒฐ
- ๋๋ฒ๊น
- ์ปค์คํ ๋ชจ๋ฌํ๋ฉด ์ ์ค์ณ
- ํด๋ ์ญ์ ์ ์๋ฆผ
- ๋คํฌ๋ชจ๋ ๋์
- ๋๋ฒ๊น
- UI ์์
- ์ผ๋ถ Scene ๋์์ธ ํจํด
- ๋์์ธ ํผ๋๋ฐฑ ์ ์ฉ
์์ ์ฑ, ๋์์ธ, ๋ฒ์ ์๊ตฌ ์ฌํญ ๋ฑ์ ์ค์
๋ฏผ๊ฐํ ๊ฐ์ธ์ ๋ณด๋ฅผ ์ฌ์ฉํ ๋์, ์ ํํ ์ฌ์ฉ ์๋ ํ๋ช ๊ณผ ์ฌ์ฉ์์๊ฒ ์ ๋ณด ์ ๊ทผ ํ์ฉ์ ๋ํ ๊ฐ์์ ์ธ ์ ์ค์ณ๊ฐ ์ ํ ์์ด์ผ ํจ์ ์๊ฒ ๋จ.
๋ค์ํ ๊ธฐ๊ธฐ ๋ฐ ๋คํฌ ๋ชจ๋ ์ฌ์ฉ, ์ธํฐ๋ท ์ฐ๊ฒฐ์ ์ ๋ฌด ๋ฑ ๋ค์ํ ํ๊ฒฝ์ ๋์
A1. Local DB๋ฅผ ์ค์ฌ์ผ๋ก ์ฌ์ฉํ๋ฉฐ ํน์ ์์ ์ ์จ๋ผ์ธ DB์ ์ ๋ณด๋ฅผ ๋๊ฒจ์ฃผ๊ฑฐ๋ ๋ฐ์์ค๋ ๊ฒ์ผ๋ก ์ฑ์ด ์ธํฐ๋ท ์ฐ๊ฒฐ์ ๋ํ ์์กด์ฑ์ ๊ฐ์
A2. ์ ๋ฐ์ดํฐ ๋๊ธฐํ ์์ ์ ๊ฒฐ์ ํ๋ ๊ฒ์ ๋ํ ์ด๋ ค์์ ๊ฐ์ง ์ด์ ๋ก๋ ์ฑ์ ์ฌ์ฉํ๋ฉฐ ๋ฉ๋ชจ๋ฅผ ๋ง๋๋ ์๊ฐ ๋ฐ ํด๋๋ฅผ ๋ง๋๋ ์๊ฐ ๋ฑ ๋๋ฌด๋ ๋ง์ CRUD์ํฉ๋ง๋ค ์์ฒญ์ ๋ณด๋ด๋ ๊ฒ์ ๋นํจ์จ ์ ์ด๋ผ ํ๋จํ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ ๊ธฐ์ ์๊ฒฌ์ ์ทจํฉํ ํ ๋ก๊ทธ์ธ, ๋ก๊ทธ์์, ๋ฐฑ๊ทธ๋ผ์ด๋ ์ง์ ํ๋ ์์ ์ผ๋ก ๋๋ ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐํ๋ฅผ ํน์ ์์ ์ ์ง์คํจ์ผ๋ก์จ ์ฑ์ ์ฑ๋ฅ ์ ํ๋ฅผ ์ต์ํ ํ ์ ์์ผ๋ฉฐ ์ธํฐ๋ท ์ฐ๊ฒฐ์ ์์กด์ฑ์ ์ค์ผ ์ ์๋ค.
Q1. ๋ก๊ทธ์์ ํ์๋ ๋ก๊ทธ์ธ ๊ด๋ จ ํ์ด์ง์์ ๋ฉ์ธ ํ์ด์ง๋ก ๋์๊ฐ ์ ์๋ ๋ฌธ์
A1. ๋ก๊ทธ์ธ ๊ด๋ จ ํ์ด์ง๊ฐ ํญ์ ๋ค๋น๊ฒ์ด์ ์ปจํธ๋กค๋ฌ ์คํ์ ์ฌ๋ผ๊ฐ ์์ด์ ๋ฐ์ดํฐ ๋ญ๋น ๋ฐ ๋ค๋ก๊ฐ๊ธฐ๋ฅผ ํตํด ๋ก๊ทธ์์ ํ์๋ ๋ฉ์ธํ์ด์ง๋ก ๋์๊ฐ ์ ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์์ต๋๋ค. ๋ก๊ทธ์ธ ํน์ ๋ก๊ทธ์์์ ์ํ ํ๋ฉด ์ ํ ์ ๋ค๋น๊ฒ์ด์ ์ปจํธ๋กค๋ฌ๋ฅผ ์ด์ฉํด pushํ์ง ์๊ณ , ๋ฃจํธ๋ทฐ์ปจํธ๋กค๋ฌ๋ฅผ ๋ฐ๊ฟ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์์ต๋๋ค.
Q2. ์์น ์ ๋ณด ์๋ฆผ์์ ์งง์ ์๊ฐ๋ง๋ค ์๋ก๊ณ ์นจ ์ ๋ฐฐํฐ๋ฆฌ ์ฌ์ฉ๋ ๊ณผ๋ถํ ๋ฌธ์
A2. GPS ๊ฑฐ๋ฆฌ ์ค์ฐจ๋ก ์ ํํ ์์น ์ ๋ณด ์ฒดํฌ์ธ ๊ธฐ๋ฅ์ด ๊ตฌํ๋ ์ง ์ ์ ์์ด ์์ ์๋ก๊ณ ์นจ์ ํ์์ผ๋, ํ์ธ ๊ฒฐ๊ณผ ๋งตํท์ ์ฌ์ฉํ๋ฉด ์๋นํ ์ ํํ๊ฒ ํ ์์น๋ฅผ ํ์ ํ์์ต๋๋ค. ์ด์ ์์น ์ ๋ณด๋ฅผ ์์ ์๋ก๊ณ ์นจ ํ์ง ์๊ณ , ์ผ์ ๊ฐ๊ฒฉ์ ๋์ด ์ฌ์ฉ์์ ํธ์์ฑ์ ํด์น์ง ์๋ ๋ด์์ ๊ณผ๋ถํ ๋ฌธ์ ๋ฅผ ์ํํ์์ต๋๋ค.
A3. ์์ฝ์๋ฃ ๋ฒํผ์ ๋๋ ์๋ ๋ ์ง์ ์๊ฐ์ด ๋ชจ๋ ์ค์ ๋์๋์ง ํ์ธํ๋ ๋ก์ง์ ์ถ๊ฐํ์ฌ, ์ค์ ๋์ง ์์์ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ํ์ํ๋๋ก ์์ .
๋์ผํ ์๋ฆผ์ด ์ค์ผ์ค๋ง ๋๋ ๊ฒฝ์ฐ, ๋ฉ๋ชจ์ ๊ณ ์ ์๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ๋ฉ๋ชจ์ ๋ํ ์๋ฆผ์ ์๋ณํ๊ณ ๋ฉ๋ชจ๋ฅผ ์ ์ฅํ๊ฑฐ๋ ์ ๋ฐ์ดํธํ ๋ ๊ธฐ์กด์ ์ค์ ๋ ์๋ฆผ์ ๋จผ์ ์ทจ์ํ ํ ์๋ก์ด ์๋ฆผ์ ์ค์ผ์ค๋ง.
- DB์ ์ฑ๋ฅ ๊ฐ์
- ํผ๋๋ฐฑ์ ํตํด ์ฌ์ฉ์ ์นํ์ ์ธ UI ๋ฐ์ ๋ฐ ์์
- ๋ฐ์ดํฐ ๋๊ธฐํ๋ฅผ ์์ฃผํ์ฌ ๋ฐ์ดํฐ์ ์ต์ ํ ์ ์ง
- ์ธํฐ๋ท ์ฐ๊ฒฐ์ ๋์์ ์ข ๋ ์ ์ฐํ๊ฒ ๋์ฒ
- ์ฐธ์ฌ๋๊ฐ ๊ต์ฅํ ์ข์์ผ๋ฉฐ ํ์ ์ฒด๊ฐ ํ๋ก์ ํธ์ ๋ํ ์ ์ฐฉ์ด ์์ด ๊ธฐํ์ ์๋์๋ ๋ฐฐํฌ๊น์ง ์ฑ๊ณตํ์์
- ์ธํฐ๋ท์ ์ฐ๊ฒฐ ์ ๋ฌด์ ๋ฐ๋ฅธ ์์ธ ์ฒ๋ฆฌ๋ฅผ ๋์ํ ๊ฒ
- ๊ณตํต๋๋ ์์ ์ ๋ฏธ๋ฆฌ ํ์ ํ์ฌ ํ๋ก์ ํธ์ ๊ณต์๋ฅผ ์ค์ฌ ์งํํ ๊ฒ
- ์ผ์ ๊ด๋ฆฌ์ ๋ฏธํก์ผ๋ก ์ธํด ๊ธฐํํ๋ ์ถ๊ฐ๊ธฐ๋ฅ ๊ตฌํ ๋ฐ ํจํด ์ ์ฉ์ ์๋ฃํ์ง ๋ชปํ ๋ถ๋ถ
- ํ๋ก์ ํธ ์ ์ฒด์ ๊ตฌ์กฐํ ๋ถ์กฑ
- ๊น ์ ๋ต์ ์์ธํ๊ฒ ๋ง๋ค์ง ์์์ ๋ธ๋์น ๊ด๋ฆฌ๊ฐ ํ๋ค์ด์ง