์๋ ํ์ธ์.
๊ฐ์ธ์ ์ธ ์๊ฐ์ด ์กฐ๊ธ ์๊ฒจ์ ๋ณธ์ ํ๋ฉด์ ํผ์ ๋ฏธ๋ ํ๋ก์ ํธ๋ฅผ ์์ํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
๊ฐ๋ฐ์๋ผ๋ฉด ์๋น..๊ฐ์ธ ํ์ ํ๋์ฏค์ ์์ด์ผ ํ๋ค๋๊ฒ ์ ์๊ฐ์ธ๋ฐ..์ค์ฒ๊น์ง ๋๋ฌด ์ค๋ ๊ฑธ๋ ธ๋ค์^^;
์ฃผ์ ๋ฅผ ๋ญ๋ก ํ ๊น ๊ณ ๋ฏผ์ ๋ง์ด ํ๋๋ฐ์.
์ํ/๋๋ผ๋ง ํ์ ๊ธฐ๋กํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค!
ex. ์์ฑ ํผ๋์
๋๋ฌด ๋ปํ๋ค๊ตฌ์?
๋ง์ต๋๋ค.
ํ์ง๋ง Vue3, TypeScript ๊ณต๋ถ๊ฐ ๋ชฉ์ ์ธ์ง๋ผ ๊ฐ๋จํ๋ฉด์ ์ ๊ฐ ๊ด์ฌ์๋๊ฑธ ํด๋ณด๊ณ ์ถ์์ต๋๋ค.ใ ใ
์ด๋ฒ ๊ธ์ ๊ฐ๋จํ ๊ธฐํ/๊ฐ์๋ง ์์ฑํด๋๊ณ
๋ด์ผ๋ถํฐ ์ค๊ณ ๋ฐ ui ๋ ์ด์์ ์ค์ ํ ๊ฒ ๊ฐ์ต๋๋ค.
๊ฐ๋ง์ ํผ์ ํ๋ ค๋๊น ์๊ฐ์ด ์๋๊ณ ๋ง๋งํ๋ฐ ํผ์ A to Z ํ ์๊ฐ์ ์กฐ๊ธ์ ์ค๋ ๊ธฐ๋ ํฉ๋๋ค.
๋ถ๋ ์ด ํ๋ก์ ํธ๊ฐ ๋ฌด์ฌํ ๋๋๊ธธ ๋ฐ๋ผ๋ฉฐ..์์ํด๋ณด๊ฒ ์ต๋๋ค.
ํ๋ก์ ํธ ๊ฐ์
- ์ด๋ฆ: ํ์ฝ๋ก๊ทธ
- ๋ชฉ์ : ์ฌ์ฉ์๊ฐ ๋ณธ ์ํ/๋๋ผ๋ง๋ฅผ ๊ธฐ๋กํ๊ณ ํ๊ฐํ ์ ์๋ ์ฑ.
- ๊ธฐ๋ฅ:
- ์ํ/๋๋ผ๋ง ๊ฒ์ ๋ฐ ์ธ๊ธฐ ์ํ ์กฐํ
- ํ๊ฐ(๋ณ์ ๋ฐ ๋ฆฌ๋ทฐ ์์ฑ)
- ๊ฐ์ธ ํต๊ณ(ํ๊ฐํ ์ํ ์, ์ต๊ณ ํ์ ์ํ ๋ฑ)
- ํํฐ ๋ฐ ์ ๋ ฌ ๊ธฐ๋ฅ(์ฅ๋ฅด, ํ์ ๋ฑ)
- ์ฌ์ฉ์ ์ธ์ฆ(๋ก๊ทธ์ธ/ํ์๊ฐ์ )
๊ธฐ์ ์คํ
- ํ๋ก ํธ์๋: Vue 3 + TypeScript
- ๋ฐฑ์๋: Spring Boot
- DB: MySQL
- ์ธ๋ถ API: TMDB API
๊ธฐ๋ฅ ์์ธ
1. ์ฌ์ฉ์ ์ธ์ฆ ๋ฐ ํ๋กํ
- Spring Security๋ก ์ฌ์ฉ์ ์ธ์ฆ ์ฒ๋ฆฌ
- JWT ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ
- ํ๋กํ ์ฌ์ง ์ ๋ก๋ ๋ฐ ๊ด๋ฆฌ
2. ์ํ ๊ฒ์
- TMDB API๋ฅผ ํ์ฉํด ์ํ/๋๋ผ๋ง๋ฅผ ๊ฒ์
- ๊ฒ์ ๊ฒฐ๊ณผ์์ ์ํ ์ ํ ํ ์ฌ์ฉ์ ์ปฌ๋ ์ ์ ์ถ๊ฐ
3. ํ๊ฐ ๋ฐ ๊ธฐ๋ก
- ๋ณ์ (0~5์ ) ๋ฐ ๋ฆฌ๋ทฐ ์์ฑ
- ์์ฒญ ๋ ์ง ๊ธฐ๋ก
- ์์ฒญ ์ํ(๋ณธ ์ํ, ๋ณด๊ณ ์ถ์ ์ํ) ๊ด๋ฆฌ
4. ์ปฌ๋ ์ ๊ด๋ฆฌ
- ๋ด๊ฐ ํ๊ฐํ ์ํ ๋ฆฌ์คํธ ๋ณด๊ธฐ
- ์ฅ๋ฅด, ํ์ , ์์ฒญ ์ํ๋ณ ํํฐ๋ง
- ์ต๊ทผ ๊ธฐ๋ก ์/ํ์ ์/์ํ๋ฒณ ์ ์ ๋ ฌ
5. ํต๊ณ ๋์๋ณด๋
- ๋ด๊ฐ ํ๊ฐํ ์ํ ๊ฐ์
- ํ๊ท ํ์
- ์ต๊ณ ํ์ ์ํ, ์ต์ ํ์ ์ํ
- ์ฅ๋ฅด๋ณ ํ๊ฐ ํต๊ณ(์: ์ก์ , ๋ก๋งจ์ค ๋ฑ)
ํ์ด์ง ๊ตฌ์ฑ
1. ๋ฉ์ธ
- ์ธ๊ธฐ ์ํ/๋๋ผ๋ง ์ฌ๋ผ์ด๋ ์ผ
- ์ต๊ทผ ์ถ๊ฐ๋ ์ํ ๋ฆฌ์คํธ
2. ๊ฒ์ ํ์ด์ง
- ๊ฒ์ ๋ฐ ๋ฐ ๊ฒฐ๊ณผ ๋ฆฌ์คํธ
- ์ํ ํด๋ฆญ ์ ์์ธ ํ์ด์ง ์ด๋
3. ์ํ ์์ธ ํ์ด์ง
- ์ํ ์ ๋ณด(TMDB API ๋ฐ์ดํฐ ๊ธฐ๋ฐ)
- ์ฌ์ฉ์ ๋ฆฌ๋ทฐ ๋ฐ ๋ณ์ ํ์
- ์์ฒญ ์ํ์ ๋ณ์ /๋ฆฌ๋ทฐ ์ถ๊ฐ ๋ฒํผ
4. ํต๊ณ ํ์ด์ง
- ์ฌ์ฉ์ ํ๊ฐ ๋ฐ์ดํฐ ์๊ฐํ
- Chart.js๋ฅผ ํ์ฉํด ๊ทธ๋ํ ํ์
5. ํ๋กํ ํ์ด์ง
- ๊ฐ์ธ ์ ๋ณด ๊ด๋ฆฌ(์ด๋ฆ, ์ด๋ฉ์ผ ๋ฑ)
- ๋ด๊ฐ ํ๊ฐํ ์ํ ๋ฆฌ์คํธ