TheCatAPI๋ฅผ ํ์ฉํด ๊ณ ์์ด ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ ์ข
์ ๋ฐ๋ฅธ ๊ณ ์์ด์ ์์ธ์ค๋ช
๊ณผ ๋ค์ํ ์ฌ์ง์ ๋ณผ ์ ์๋ค.
๋ก๊ทธ์ธ์ ํตํด์ ๋ง์์ ๋๋ ๊ณ ์์ด ์ฌ์ง์ mypage์ ๋ด์ ์ ์๊ณ , my page์ ๋ด๊ธด ๊ณ ์์ด ์ฌ์ง์ ํด๋ฆญํ๋ฉด ์์ธ ์ ๋ณด๋ฅผ ํ ๋ฒ ๋ ํ์ธ ํ ์ ์๋ค.
Adorable Cats ๋ฐฐํฌ ํ์ด์ง : ํด๋ฆญ!
Firebase์ Authentication์ ์ด์ฉํด Google๊ณผ Github์ผ๋ก ๋ก๊ทธ์ธ ํ ์ ์๋๋ก ํ์ด์ง๋ฅผ ์ ์ํ๋ค. ์ด ํ์ด์ง๋ ๊ฐ์ธํ ๊ธฐ๋ฅ์ ํ์ฉ๋๊ฐ ๋์ง ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋จํ ๋ก๊ทธ์ธ์ ํตํด ์ด์ฉํ๋ ๊ฒ์ด ์ ์ ํ๋ค๊ณ ์๊ฐํ๋ค.
The Cat API์์ fetch API๋ฅผ ์ด์ฉํด ๋๋ฒ์ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์๋ค.
๋จผ์ , ๊ณ ์์ด ๋ฆฌ์คํธ์ target value์ ํด๋นํ๋ ๊ณ ์์ด์ ์ ๋ณดorgin, name, subscription, temperature๋ฅผ ๋ถ๋ฌ์จ๋ค.
๊ทธ๋ฆฌ๊ณ ํด๋นํ๋ ๊ณ ์์ด ์ข
์ ๋ค์ํ ์ฌ์ง์ ๋ถ๋ฌ์์ ๊ฐ ์ฌ์ง๋ง๋ค '์ข์์'๋ฅผ ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ค.
๋ก๊ทธ์ธ ํ ๊ณ ์์ด ์ฌ์ง์ '์ข์์' ๊ธฐ๋ฅ์ผ๋ก ๋ง์ด ํ์ด์ง์ ์ ์ฅ ํ ์ ์๋ค. ๋ก๊ทธ์ธ์ ํ์ง ์์์ ๊ฒฝ์ฐ ๋ชจ๋ฌ์ฐฝ์ ๋์ ๋ก๊ทธ์ธ์ ํ๋๋ก ์ ๋ํ๋๋ก ์ ์ํ๋ค.
'์ข์์'ํ ์ด๋ฏธ์ง๋ฅผ ๋ง์ด ํ์ด์ง์์ ๋ฆฌ์คํธ ํ์๊ณผ ์์ธ๋ณด๊ธฐ ํ์์ผ๋ก ํ์ธ ํ ์ ์๋ค. '์ข์์'ํ ์ด๋ฏธ์ง ๋ฆฌ์คํธ๋ฅผ ๋จผ์ ๋ณด์ฌ์ฃผ๊ณ , ์ด๋ฏธ์ง๋ฅผ ํด๋ฆญํ๋ฉด ํ์์ ํ์ธํ๋ ๊ณ ์์ด ์ ๋ณด๋ฅผ ํจ๊ป ๋ณผ ์ ์๋ค.
Scss๋ฅผ ์ด์ฉํด ligth์ Dark ๋ชจ๋๋ฅผ ๋ง๋ค์๋ค. ๊ฐ์ฅ ์๋จ์ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค์ด ํด๋นํ๋ ๋ชจ๋๋ ์ ํํ๋ฉด ๋ชจ๋ ํ์ด์ง์ ์ ์ฉ๋๋๋ก ์ ์ํ๋ค.
์ด๋ฒ ํ๋ก์ ํธ๋ public API๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ๋ฐ๊ณ , ๋ง์ดํธ์ํค๊ณ , ์ ๋ฐ์ดํธ ํ๋ ๊ณผ์ ์ ์์ธํ๊ฒ ์ ์ ์์๋ ์๊ฐ์ด์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ํ๋ ๊ธฐ๋ฅ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ์ง์ ์ฐพ์๋ณด๊ณ ๊ณต๋ถํ๋ฉด์ ์ค์ค๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด๋๊ฐ๋ ์๊ฐ์ ์ถฉ๋ถํ ๊ฐ์ก๋ค. ๊ทธ๋ฆฌ๊ณ CSS ์ ์ฒ๋ฆฌ๊ธฐ Scss์ ๋ค์ํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์์ฐ์ฑ์ ์ฆ๊ฐ์์ผฐ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ค์ํ ๋ฐฉ๋ฒ์ ํตํด์ ์ปดํฌ๋ํธ ๋ณ๋ก ์ ๋ฌํ๊ณ , ๋ด๋ถ API๋ฅผ ์ข ๋ ๋ค์ํ๊ฒ ์ฌ์ฉํ๋ค. Scss์ ๋ณ์๋ Mixin, nesting๋ฑ์ผ๋ก flex๋ฅผ ํ์ฉํด ๋ ์ด์์์ด๋ ์คํ์ผ๋ง์ ๊ฐํธํ๊ฒ ์ ์ํ ์ ์์๋ค.
์์ค์ฝ๋ : ํด๋ฆญ!