์น๊ตฌ๋ค๊ณผ ํฌ๋๋ฅผ ๊ณต์ ํ๋ ์ฑ, ํฌ๋๋ฉ์ดํธ๋ฅผ ํด๋ก ์ฝ๋ฉํ์ต๋๋ค
- ์์ฑํ ์์ค์ฝ๋๋ watomate/Watomate/Sources ์์์ ๋ณผ ์ ์์ต๋๋ค
์ด์งํ (JH713) | ์ด์๋ฏผ (cirtuare) | ๊ถํ๊ตฌ (h9kwon) |
---|---|---|
๋ก๊ทธ์ธ, ์์นํญ ๋ด๋น | ํ ํญ, ๋ค์ด์ด๋ฆฌ, ํ๋ก์ฐ ๋ด๋น | ํ๋กํ ํญ, ํฌ๋๋ฆฌ์คํธ ๋ด๋น |
- ์ด๋ฉ์ผ ํ์๊ฐ์ , ๋ก๊ทธ์ธ๊ณผ ์นด์นด์ค ๋ก๊ทธ์ธ, ๊ฒ์คํธ ๋ก๊ทธ์ธ์ด ๊ฐ๋ฅํ๋๋ก ํ์ต๋๋ค.
- ํ ํญ ์ฐ์ธก ์๋จ์ ๋๋ณด๊ธฐ ๋ฒํผ์ ํญํ๋ฉด ๋ชฉํ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ํธ์งํ ์ ์์ต๋๋ค.
- ํ ํญ ์๋จ์์ ํ๋ก์ํ๋ ์ฌ๋์ ๋ชฉ๋ก์ ๋ณผ ์ ์์ต๋๋ค.
- ํ๋ก์ฐ ๋ฒํผ์ ํญํ ์ ํ๋ก์ฐ ํญ์ผ๋ก ์ด๋ํ๊ณ , ํ๋ก์/ํ๋ก์ ๋ชฉ๋ก์ ํธ์งํ ์ ์์ต๋๋ค.
- ํ๋ก์ฐ ํญ์์ ํ ์ ์ ์ ํ๋กํ์ ํญํ๋ฉด ํ ์ ์ ์ ํ๋กํ ํ๋ฉด์ผ๋ก ์ด๋ํฉ๋๋ค. ํ ์ ์ ์ ํ๋กํ ํ๋ฉด์์๋ ์ ์ ์ ๋ณด ๋ฐ ์ค๋์ ํฌ๋๋ฅผ ์กฐํํ ์ ์๊ณ , ํ๋ก์/ํ๋ก์ฐ ์ฌ๋ถ๋ฅผ ํธ์งํ ์ ์์ต๋๋ค.
- ์บ๋ฆฐ๋์ ๋ ์ง๋ฅผ ์ ํํ๊ณ ๋ค์ด์ด๋ฆฌ ๋ฒํผ ํด๋ฆญ ์, ํด๋น ๋ ์ง์ ๋ค์ด์ด๋ฆฌ๊ฐ ์๋ค๋ฉด ๋ค์ด์ด๋ฆฌ ์์ฑ ํ๋ฉด์ผ๋ก ์ด๋ํฉ๋๋ค. ํด๋น ๋ ์ง์ ๋ค์ด์ด๋ฆฌ๊ฐ ์์ฑ๋์ด ์๋ค๋ฉด ๋ค์ด์ด๋ฆฌ ์กฐํ ๋ฐ ์์ ํ๋ฉด์ผ๋ก ์ด๋ํฉ๋๋ค.
- ์บ๋ฆฐ๋์ ๊ฐ ๋ ์ง ๋ฐ์๋ ๊ฐ ๋ ์ง์ ํฌ๋๋ฅผ ๋ชจ๋ ์๋ฃํ๋ค๋ฉด ์ฒดํฌํ์๊ฐ, ์๋๋ผ๋ฉด ๋จ์ ํฌ๋์ ๊ฐ์๊ฐ ๋ํ๋ฉ๋๋ค.
- ์ ํ๋ ๋ ์ง์ ํด๋น๋๋ ํฌ๋๋ค์ ๋ชฉํ์ ๋ฐ๋ผ ๋๋์ด์ ธ ์๊ณ , ๋ชฉํ๋ฅผ ํญํ์ฌ ๋ชฉํ์ ํด๋น ๋ ์ง์ ํฌ๋๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
- ํฌ๋์ ์๋ฆผ์ด ์ค์ ๋์ด์๊ฑฐ๋ ๋ฉ๋ชจ๊ฐ ์กด์ฌํ ๊ฒฝ์ฐ ์ ๋ชฉ ๋ฐ์ ๋ํ๋ฉ๋๋ค.
- ๊ฐ ํฌ๋๋ค์ ํญํ๋ฉด ํฌ๋๋ฅผ ํธ์งํ ์ ์๋ ํ๋ฉด์ด ์ฌ๋ผ์ค๋ฉฐ ์์ , ์ญ์ , ๋ฉ๋ชจ ์ถ๊ฐ, ์๋ฆผ ์ค์ , ์ฌ์ง ์ธ์ฆ(ํฌ๋ ์๋ฃ ์), ๋ ์ง ์ง์ ๋ฐ ๋ณ๊ฒฝ, ๋ณด๊ดํจ์ผ๋ก ์ด๋(๋ ์ง ์ญ์ ๊ธฐ๋ฅ, ํฌ๋ ๋ฏธ์๋ฃ์์๋ง ๋ณด์) ๋ฑ์ ํ ์ ์์ต๋๋ค.
- ํฌ๋๋ฅผ ์๋ฃํ์ ๊ฒฝ์ฐ ์ฌ์ง์ธ์ฆ์ ํ ์ ์์ต๋๋ค.
- ๋ชฉํ๋ฅผ ๊ด๋ฆฌํ๊ณ ์์ ๋ฐ ์ ๋ชฉํ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
- ํ๋ก์/ํ๋ก์ ๋ชฉ๋ก์ ์กฐํํ๊ณ ์ ์ ์ธํ๋ก์ฐ ๋ฐ ํ๋ก์ ์ญ์ ๋ฅผ ํ ์ ์์ต๋๋ค.
- ์ ์ ํ๋กํ ํด๋ฆญ ์ ์ ์ ์ ํ ์ผ ํ๋ฉด์ผ๋ก ์ด๋ํฉ๋๋ค.
- ๋ค์ด์ด๋ฆฌ ์์ฑ ํ๋ฉด์์ ์ด๋ชจ์ง, ๊ณต๊ฐ์ค์ , ๋ค์ด์ด๋ฆฌ ๋ด์ฉ, ๋ฐฐ๊ฒฝ ์์, ๋ง์ ์จ๋๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
- ๊ธฐ๋ณธ ํ๋ฉด์์ ๊ฒ์คํธ๋ฅผ ์ ์ธํ ๋ชจ๋ ๊ณ์ ์ ๋ณผ ์ ์์ต๋๋ค.
- ๊ฒ์์ด๋ฅผ ์ ๋ ฅํ๋ฉด ๊ฒ์์ด๋ฅผ ํฌํจํ๋ ๋ชจ๋ ๊ณ์ ์ ๋ณผ ์ ์์ต๋๋ค.
- ๊ณ์ ์ ํด๋ฆญํ๋ฉด ํด๋น ๊ณ์ ์ ์ค๋์ ํฌ๋๋ฅผ ๋ณด์ฌ์ฃผ๊ณ , ํ๋ก์ฐํ ์ ์๋ ๋ฒํผ์ ๋ณด์ฌ์ค๋๋ค.
- ๊ธฐ๋ณธ ํ๋ฉด์์ ๊ฒ์คํธ๋ฅผ ์ ์ธํ ๋ชจ๋ ๊ณ์ ์ ํ ์ผ(์ ์ฒด๊ณต๊ฐ)์ ๋ณผ ์ ์์ต๋๋ค.
- ๊ฒ์์ด๋ฅผ ์ ๋ ฅํ๋ฉด ๊ฒ์์ด๋ฅผ ํฌํจํ๋ ๋ชจ๋ ํ ์ผ์ ๋ณผ ์ ์์ต๋๋ค.
- ๊ฒ์คํธ ๊ณ์ ์ ์ ์ธํ ๋ชจ๋ ๊ณ์ ์ ์ผ๊ธฐ(์ ์ฒด ๊ณต๊ฐ)๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
- ์ผ๊ธฐ์ ๋๊ธ๊ณผ ์ข์์๋ฃฐ ์์ฑํ ์ ์์ต๋๋ค.
- ์ ์ ์ ๋ณด(์ ์ ๋ค์, ํ๋กํ ์ฌ์ง, ํ๋ก์ ์, ํ๋ก์ ์) ๋ฐ ๋ณด๊ดํจ์ ๋ค์ด์๋ ํฌ๋๋ค์ด ๋ณด์ด๋๋ก ํ์ต๋๋ค.
- ๋์ ์ธ์ฆ์ท์ ๋ค์ด๊ฐ๋ฉด ์ ๋ก๋ํ ์ธ์ฆ์ท๋ค์ ๋ ์ง๋ณ๋ก ๋ณผ ์ ์์ต๋๋ค.
- ๋ณด๊ดํจ์ ๋ค์ด์๋ ํฌ๋๋ค์ ํํญ์ ํฌ๋๋ค๊ณผ ๋์ผํ ์์์ผ๋ก ๋ํ๋๋, ๋ ์ง๊ฐ ์ง์ ๋์ด์์ง ์์ ํฌ๋๋ค๋ง ๋ณด์ฌ์ง๊ณ ๋ ์ง ์ค์ ์ ๋ณด๊ดํจ์์ ์ฌ๋ผ์ง๊ฒ ๋ฉ๋๋ค.
- ๊ฐ ํฌ๋๋ค์ ํญํ๋ฉด ํฌ๋๋ฅผ ํธ์งํ ์ ์๋ ํ๋ฉด์ด ์ฌ๋ผ์ค๋ฉฐ ์์ , ์ญ์ , ๋ฉ๋ชจ ์ถ๊ฐ, ์๋ฆผ ์ค์ , ๋ ์ง ์ง์ ๋ฐ ๋ณ๊ฒฝ ๋ฑ์ ํ ์ ์์ต๋๋ค.
- ์์ ์ ์๋ฃํ๋ฉด ํ๋กํ ํญ์ผ๋ก ๋์๊ฐ๋ฉฐ, ์์ ์ฌํญ์ด ์ฆ์ ๋ฐ์๋์ด ๋ํ๋ฉ๋๋ค.
- ์ค์ ๋ฒํผ์ ๋๋ฅด๋ฉด ๊ณ์ ์ค์ ํ๋ฉด์ผ๋ก ์ด๋ํ๊ณ ํ๋กํ ์ค์ , ๋ก๊ทธ์์, ๊ณ์ ์ญ์ ๋ฑ์ ํ ์ ์์ต๋๋ค.
- ๋ฐฐ๊ฒฝ
- ํฌ๋๋ค์ ๋ณด์ฌ์ฃผ๋ ํ ์ด๋ธ๋ทฐ๊ฐ ํ ํญ๊ณผ ํ๋กํ ํญ์์ UI๋ ์๋ก ์ ์ฌํ์ง๋ง ์ฐจ์ด์ ์ด ์กด์ฌํ๋๋ฐ, ์ฒ์์ ๊ฐ ํญ์ ๋ถ๋ฆฌํ์ฌ ๊ฐ๋ฐํ๋ค๋ณด๋ ํ๋กํ ํญ์์ ๋จผ์ ํ ์ด๋ธ๋ทฐ๋ฅผ ๊ฐ๋ฐํ ๋๋ ํ ํญ์์ ์ฌ์ฉํ ๊ฒ์ ์ ๋๋ก ๋๋นํ์ง ๋ชปํด ํฉ์น ๋์ ๋ ํญ์ ํฌ๋ ํ ์ด๋ธ ๋ทฐ์ ์ฐจ์ด์ ์ ์ ์ฉํ ๋์ ์ด๋ ค์์ ๊ฒช์์ต๋๋ค.
- ๋ฌธ์ ์
- ํ ํญ์์๋ ๊ฐ ๋ ์ง์ ํด๋นํ๋ ํฌ๋๋ง์ ๋ณด์ฌ์ฃผ๊ณ , ํ๋กํ ํญ์์๋ ๋ ์ง๊ฐ ์ง์ ๋์ง ์์ ํฌ๋๋ง์ ๋ณด์ฌ์ค์ผ ํ๊ธฐ์ ๋ทฐ๋ชจ๋ธ์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๊ฐ ๋ฌ๋์ต๋๋ค.
- ํด๊ฒฐ์ฑ
- ํฌ๋ ํ ์ด๋ธ๋ทฐ์ ๊ณตํต ๊ธฐ๋ฅ์ ๋ด๋นํ๋ TodoTableViewController๋ฅผ ๋ง๋ค๊ณ ์ฐจ์ด๋๋ ๋ถ๋ถ์ HomeViewController์ ProfileViewController์์ ๊ฐ๊ฐ TodoTableViewController๋ฅผ ์์ํ์ฌ ๋ค๋ฅด๊ฒ overriding์ ํ๊ณ , ์ฌ๊ธฐ์ ๋ค์ด๊ฐ๋ TodoListViewModel์ ์๋ก ๋ค๋ฅธ ์ธ์คํด์ค๋ฅผ ์ฃผ์ ํ์ฌ ๋ ํญ์์ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ๋๋ก ํ์ต๋๋ค.
- ๊ฐ์ ๊ฐ๋ฅ์ฑ
- ํ์ฌ๋ ๋ ํญ์์ ViewModel์ ๊ฐ์ ํด๋์ค์ ์๋ก ๋ค๋ฅธ ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ๊ธฐ์ ํ ํญ์์ ๋ฐ์ดํฐ๊ฐ ์์ ๋ ๊ฒ์ ๋ค๋ฅธ ํญ์์ ๋ฐ๋ก ์ธ์ํ์ง๋ ๋ชปํ๊ณ , ์ด๋ก ์ธํด ํญ ๊ฐ ์ด๋์๋ง๋ค ์๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ API๋ฅผ ํธ์ถํ๋๋ก ๊ตฌํํ์ต๋๋ค.
- ๊ตฌํํ์ง๋ ๋ชปํ์ง๋ง, ์ด๋ฅผ ๋์ ํด ๋์ผํ ๋ทฐ๋ชจ๋ธ ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ์ฌ ํ๋์ ํญ์์ ๋ฐ์ดํฐ๊ฐ ์์ ๋ ๋ ๋ค๋ฅธ ํญ์๋ combine์ผ๋ก ์ ๋ฌํด ์ฃผ๋๋ก ๊ฐ์ ํ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
- ๋๋ ์
- ํด๋์ค๋ฅผ ๊ตฌํํ ๋ ํญ์ ํ์ฅ ๊ฐ๋ฅํ๊ณ , ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๋๋ก ๊ตฌํํ๋ ๊ฒ์ด ์ค์ํจ์ ๋ฐฐ์ธ ์ ์์์ต๋๋ค.