๐ ํ๋ก์ ํธ ๊ฒฐ๊ณผ๋ฌผ
๐๋งํฌ: https://github.com/Eunyoung-Jo/movie_nonot
ย
๐ ํ๋ก์ ํธ ์๊ฐ
- ํ์๋ค๊ณผ ํจ๊ป JS ๋ฌธ๋ฒ์ ํต์ฌ์ ์ ์ฉํด ๋ณผ ์ ์๋ ์ํ ๊ฒ์ ์ฌ์ดํธ๋ฅผ ์ ์ํฉ๋๋ค.
- ๊ธฐ์กด์ ๊ฐ์ธ ๊ณผ์ ์์ ์ํํ ๋ด์ฉ์ ์ฌํ ๋ฒ์ ์ผ๋ก ์งํํฉ๋๋ค.
- ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํ์ฌ ์จ์ ํ ๊ฒฐ๊ณผ๋ฌผ์ ์ ์ํฉ๋๋ค.
โ๏ธ ํ๋ก์ ํธ ์๊ตฌ์ฌํญ
(1) ํ์์๊ตฌ์ฌํญ
- TMDB Open API ์ด์ฉ
- ์ํ์ ๋ณด ์์ธ ํ์ด์ง ๊ตฌํ
- ๊ธฐ์กด ์ํ์ ๋ณด ์นด๋ ๋ฆฌ์คํธ์์ ํน์
item์ ์ ํํ ์, ํด๋น item ์์ธ ํ์ด์ง๋ก ์ด๋ํ๋๋ก ๊ตฌํํฉ๋๋ค.
- ์์ธ ํ์ด์ง์์ ๋ฉ์ธ ํ์ด์ง(ํ)๋ก ์ด๋ํ๋ UI๋ ํจ๊ป ๊ตฌ์ฑํฉ๋๋ค.
- ์์ธ ํ์ด์ง ์ํ ๋ฆฌ๋ทฐ ์์ฑ ๊ธฐ๋ฅ ๊ตฌํ
- ์์ธ ํ์ด์ง์์ ํด๋น ์ํ์ ๋ํ ์๊ฒฌ์ ์์ฑํ ์ ์๋ UI๋ฅผ ๊ตฌํํฉ๋๋ค.
- ์์ฑ์, ๋ฆฌ๋ทฐ, ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ๋๋ก ๊ตฌํํฉ๋๋ค.
- ์์ฑํ ์ ๋ณด๋ ๋ธ๋ผ์ฐ์ ์
localStorage์ ์ ์ฌํ๋๋ก ํฉ๋๋ค.
- github PR์ ํตํ ํ์
- UX๋ฅผ ๊ณ ๋ คํ validation check
- ์ํ ๊ฒ์ ์ โ ๋น ๋ฌธ์์ด ๊ฒ์ ์
alert ๋ฉ์ธ์ง
- ๋๊ธ ์์ฑ ์ โ validation rules์ ๋ง์ง ์๋ ๋ฆฌ๋ทฐ ์์ฑ ์
alert ๋ฉ์ธ์ง
- JavaScript ๋ฌธ๋ฒ ์์๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํ
(2) ์ ํ์๊ตฌ์ฌํญ
-
CSS
- flex ์ฌ์ฉํ๊ธฐ
- grid ์ฌ์ฉํ๊ธฐ
- ๋ฐ์ํ UI ์ฌ์ฉํ๊ธฐ
-
์์ธ ํ์ด์ง ๋ฆฌ๋ทฐ ์์ ๋ฐ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ
-
๋ฉ์ธ ํ์ด์ง์ ์กฐ๊ฑด์ ๋ง๋ ์นด๋ ๋ฆฌ์คํธ ์ ๋ ฌ ๊ธฐ๋ฅ ๊ตฌํ (์ด๋ฆ์, ๋ณ์ ๋์ ์)
ย
๐ Stacks
ย
๐ ์ฃผ์ ๊ธฐ๋ฅ
- TMDB ์ธ๊ธฐ ์ํ ์ฝ๋ ์
์กฐํ
- ์ํ ์ ๋ชฉ์, ๋ณ์ ๋์ ์์ผ๋ก ์ํ ๋ฆฌ์คํธ ์กฐํ ๊ฐ๋ฅ
- ์ํ ์ ๋ชฉ์ ํตํ ์ํ ๊ฒ์ ๊ฐ๋ฅ
- ์ํ ์นด๋ ํด๋ฆญ์ ํด๋น ์ํ ์์ธ ์ ๋ณด ์กฐํ
- ์ํ ์์ธ ํ์ด์ง์์ ํด๋น ์ํ์ ๋ํ ๋๊ธ ์์ฑ, ์์ , ์ญ์ ๊ฐ๋ฅ
ย
๐ ํ๊ณ
๐ Keep
- ์ผ์ฃผ์ผ ๋์ ๊ฝค๋ ์ง์ค๋ ์๊ฒ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค.
- ๊ธฐ๊ฐ ์์ ๋ด๊ฐ ๋งก์ ์ผ์ ์ ํด๋์ผ๋ฉฐ, ํ ์ผ์ด ๋ค ๋๋๊ณ ์๊ฐ์ด ๋จ์์ ๋ ๋ค๋ฅธ๋ถ๋ค์ ์์
์ ๋์์ฃผ๊ฑฐ๋ ์ถ๊ฐ ๊ตฌํ์ฌํญ์ ์งํํ๋ ๋ฑ ํ๋ก์ ํธ์ ์์ฑ๋๋ฅผ ์ํด ๋
ธ๋ ฅํ๋ค.
- ๋ธ๋์น๋ฅผ ํตํ ํ์
์ ์ต์ํด์ก๊ณ , ๊นํ๋ธ ์ฌ์ฉ์ ๋ฅ์ํด์ก๋ค.
- ๋ฆฌ๋๋ฏธ ์์ฑ ์ค๋ ฅ์ ํฅ์์์ผฐ๋ค.
- ๋ชจ๋ ํ์ด์ง์์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ ํค๋ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค์ด ์ฌ๋ฌ ์ฝ๋์์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ custom element ์์ฑํ์๋ค. ์ด ์ ์ ํํฐ๋๊ป ํผ๋๋ฐฑ ๋ฐ์ ๋ ์นญ์ฐฌ ๋ฐ์๋ค.
๐ซต Problem
- ๋ณ์๋ช
์ค์ , ์ปค๋ฐ ์ปจ๋ฒค์
๋ฑ์ ๋ฃฐ์ ๊ตฌ์ฒด์ ์ผ๋ก ์ ํ์ง ์์ ํต์ผ์ ์ธ ํ์
์ ํ์ง ๋ชปํ๋ค.
- ๊ธฐ๋ณธ ๊ณผ์ ์์ ๋ ๋ฐ์ ๋ ๊ตฌํ ์์๋ฅผ ์ถ๊ฐํ ์๊ฐ์ ํ์ง ๋ชปํ๋ค. ์ด๋ ์ฐ๋ฆฌ ํ์ ์ ๋ฐ์ ์ธ ๊ฐ๋ฐ ๋ฅ๋ ฅ์ด ์์ง ๋ค๋ฅธ ํ์ ๋นํด ๋ถ์กฑํ๊ธฐ ๋๋ฌธ๋ ์๋ค. ๊ทธ๋๋ ๋ ๋์ ๊ฒฐ๊ณผ๋ฌผ์ ์ํด ๊ณ ๋ฏผํ๋ ์๊ฐ์ด ์ ์๋ ๊ฒ์ด ์์ฝ๋ค.
- TMDB API๋ฅผ ํตํด ๋ค์ํ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๋๋ฐ, ๋๋ฌด ํ์ ์ ์ธ ๋ฐ์ดํฐ๋ง ์ฌ์ฉํ๋ค.
โ๏ธ Try
- ๋ค์ ํ์
์์๋ ํ๋ก์ ํธ ์์ ์ ์ฝ๋ ๊ท์น์ด๋ ์ปค๋ฐ ๊ท์น์ ๋ฏธ๋ฆฌ ์ ์ธ์๋ณด๋๋ก ํด์ผ๊ฒ ๋ค.
- ๊ณผ์ ์ ๋ด์ฉ์ ์ ๋ถ ์ํํ๋ ๊ฒ์ ๋ฌผ๋ก ํญ์ ๋ฐ์ ๋ ๊ฒฐ๊ณผ๋ฌผ์ ๋ด๊ธฐ ์ํด ์์ฌ์ ๋ถ๋ฆฌ๋ ์ฌ๋์ด ๋์ด์ผ๊ฒ ๋ค. ์ค์ค๋ก์ ์์ด๋์ด๊ฐ ๋ถ์กฑํ ์ ์ข์ ๋ ํผ๋ฐ์ค๊ฐ ๋๋ ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํ๋ ๊ฒ๋ ๋ฐฉ๋ฒ์ด๋ค.
- ์ฝ์ ๋ก๊ทธ๋ ์์๋ก ์ฃผ์ ์ฒ๋ฆฌ ํด๋์ ๊ฒ๋ค์ ์ต์ข
๋ฐฐํฌ ์ ์ ๋ฌด์กฐ๊ฑด ๋ค ๊น๋ํ๊ฒ ์ง์ธ ๊ฒ!
- ์๋ฉํฑํ ์ฝ๋๋ฅผ ์ง๋๋ก ๋ ๋
ธ๋ ฅํด์ผ๊ฒ ๋ค.
- ํญ์ ์ฌ์ฉ์์ UX๋ฅผ ๊ณ ๋ คํ๋ฉฐ ๊ตฌํํ๋ ์ต๊ด์ ๊ธธ๋ฌ์ผ๊ฒ ๋ค.
- ์น ํ๋ก์ ํธ ๊ฐ์ ๊ฒฝ์ฐ๋ ํญ์ ํด์๋๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ค.