- Amazon.com์ TV ๋ชจ๋ธ ์ ๋ณด์ ๋ฆฌ๋ทฐ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๋ ๋น ๋ฐ์ดํฐ ํ๋ก์ ํธ
- ๋น ๋ฐ์ดํฐ๋ฅผ ๋ถ์์ ํตํด ๊ณ ๊ฐ๊ณผ ๊ธฐ์ ๋ชจ๋์๊ฒ ์๋ฏธ์๋ ์ธ์ฌ์ดํธ๋ฅผ ์ฃผ๋ ๊ฒ์ ๋ชฉํ๋ก ๊ตฌํ
๐ Frontend : Vue.js
๐ Backend : Flask
๐ Database : ElasticSearch
๐ Library : iview
, echarts
๐ Development Enviornment : Windows 10, Node.js 10 or higher, Vue CLI 3 or higher, Python 3.7.x or higher
๐ Using Editor : Visual Studio Code
- ์๋จ
Brand Select
์์ ์ ํํ ๋ธ๋๋๋ค์ TV ๋ชจ๋ธ ๋ฆฌ๋ทฐ๋ฅผ ๋ณผ ์ ์๋ค. - ์ ํํ ๋ธ๋๋์ ๋ฐ๋ผ ์ฐ์ธก์
Model Select
์ ๋์ค๋ TV ๋ชจ๋ธ๋ช ์ด ๋ฌ๋ผ์ง๊ณ ํน์ TV ๋ชจ๋ธ๋ค์ ์ ํํ๋ฉด ํด๋น ๋ชจ๋ธ๋ค์ ๋ฆฌ๋ทฐ๋ง ๋ชจ์์ ๋ณผ ์ ์๋ค. - ๊ฐ ๋ฆฌ๋ทฐ์ ๋ด์ฉ์ด ๊ธธ ์ ์๊ธฐ ๋๋ฌธ์ ์ ํํ๋ฉด
Modal
Component ํํ๋ก ์ ์ฒด ๋ฆฌ๋ทฐ ๋ด์ฉ์ด ๋์ค๋๋ก ๊ตฌํํ๋ค.
- Query DSL์
aggregations
,filter
์์ฑ์ ์ด์ฉํ์ฌ ์ ํํ ๋ชจ๋ธ์ ๋ฆฌ๋ทฐ ์ ๋ณด๋ฅผElasticsearch
์ DB์์ ๊ฐ์ ธ์จ๋ค. - ๊ฐ์ ธ์จ ๋ฆฌ๋ทฐ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก
echarts
library๋ฅผ ์ด์ฉํ์ฌ ๋ถ์ํ ๋ฆฌ๋ทฐ ๋ฐ์ดํฐ๋ฅผ ์ฐจํธ๋ก ํํํ๋ค. - ์ต๊ทผ 2๋ ๊ฐ ์๋ณ ๋ฆฌ๋ทฐ์ ์ด ๊ฐ์์ ํ์ ํ๊ท ๋ถํฌ๋ฅผ ํตํด ํด๋น TV ๋ชจ๋ธ์ ๊ณ ๊ฐ์ ๋ฐ์ ๋ณํ๋ฅผ ํ์ ํ ์ ์๋ค.
- ์ ๋ ์ฐจํธ๋ ๋์ผํ๊ฒ
aggregations
,filter
์์ฑ์ ์ด์ฉํ์ฌ ์ ํํ ๋ชจ๋ธ์ ๋ฆฌ๋ทฐ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ ํ ๋ถ์ํ์ฌ ์ฐจํธ๋ก ํํํ๋ค. - ํนํ ๊ฐ ๋ชจ๋ธ ๋ณ ๋ฆฌ๋ทฐ์ ๋ฐ์์ ๊ฐ ๋ฆฌ๋ทฐ์ ํ
์คํธ๋ฅผ ๋ถ์ํด ๊ธ์ ์ ์ธ ํํ์ด ๋ง์ผ๋ฉด
1
, ๋ถ์ ์ ์ธ ํํ์ด ๋ง์ผ๋ฉด-1
๋ก ์ธ์ํ์ฌ ๊ธ์ ์ ์ธ ๋ฆฌ๋ทฐ์ ๋ถ์ ์ ์ธ ๋ฆฌ๋ทฐ๋ฅผ ๊ฐ๊ฐ ๊ณ์ฐํ๋ค. - ๋ํ ๊ฐ ๋ชจ๋ธ ๋ณ ์ ์ฒด ๊ธฐ๊ฐ์ ๋ฆฌ๋ทฐ ํ์ ๋ถํฌ ํํฉ์ ์ ์ ์๋๋ก ๊ตฌํํ๋ค.
vue.js
์์ ์ฐจํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํด ๋น ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ์ฌ ์ฐจํธ๋ก ํํํ ๋ด์ฉ ์ด์ธ์Kibana
์ Dashboard๋ฅผ ํตํด์ ๋ค์ํ ํํ์ ์ ๋ณด๋ก ์๊ฐํํด์ ๋ณผ ์ ์๋๋ก ๊ตฌ์ฑํ๋ค.
- ๋จ์ํ ๋ถ์ํ๊ณ ๊ณ์ฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ฐจํธ๋ก ๋ณด์ฌ์ฃผ๋ ๊ฒ์์ ๊ทธ์น๋ ๊ฒ์ด ์๋๋ผ ํด๋น ์ ๋ณด๋ฅผ ๋ณด๋ ๋์์ด ๋๊ตฌ์ธ์ง์ ๋ฐ๋ผ ๋ถ์๋ ์ ๋ณด๋ฅผ ๋ณด๊ณ ์๋ก์ด ๊ฐ์น๋ ์๋ฏธ๋ฅผ ์ป๋ ๊ฒ์ด ์ค์ํ๋ค.
- ์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ํตํด์๋ TV ๋ชจ๋ธ๋ค์ ๋ฆฌ๋ทฐ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ์ฌ ์ฐจํธ๋ก ๋ณด์ฌ์ค์ผ๋ก์จ TV๋ฅผ ๊ตฌ๋งคํ๊ณ ์ ํ๋ ๊ณ ๊ฐ๋ค์ ์ฌ๋ฌ ๋ชจ๋ธ๋ค์ ๋น๊ตํ์ฌ ์์น์ ์ผ๋ก ๋ช ํํ ๋น๊ตํ์ฌ ์ณ์ ์ ํ์ ํ ์ ์๋๋ก ๋์์ ๋ฐ์ ์ ์๋ค.
- TV๋ฅผ ๋ง๋๋ ๊ธฐ์ ์ ์ฐจํธ๋ฅผ ํตํด์ ๊ฐ ๋ชจ๋ธ์ ์๋น์๋ค์ ๋ฐ์๊ณผ ๋ํฅ์ ์๋ณ๋ก ๋ช ํํ๊ฒ ํ์ ํ ์ ์๊ณ ๋ฉ์ธํ๋ฉด ์ข์ธก์ ๋ฆฌ๋ทฐ ๋ด์ฉ๋ ํจ๊ป ๋ณด๋ฉด์ ๋ณด์ํด๋๊ฐ์ผํ ๋ฐฉํฅ์ ๋๋ ทํ๊ฒ ์ก๋๋ฐ ๋์์ ๋ฐ์ ์ ์๋ค.
- ์ด๋ฒ ํ๋ก์ ํธ์์ ์ฐจํธ๋ฅผ ๊ตฌํํ ํ ๊ณ ๋ฏผํ๋ ๋ถ๋ถ ์ค์ ํ๋๋ ๊ตฌํ๋ ๋ค ๊ฐ์ ์ฐจํธ์ ๋ฐฐ์น ์์์๋ค.
- ๋จ์ํ๊ฒ ์๊ฐํ๋ฉด ๊ทผ์ฌํ๊ณ ํ๋ คํ ์ฐจํธ๋ฅผ ๊ฐ์ฅ ๋จผ์ ๋ณด์ฌ์ฃผ๋ฉด ํํ์ด์ง์ ๋ค์ด์์ ๋ ์๊ฐ์ ์ผ๋ก ํ ๋ฒ์ ๋งค๋ฃ๋๊ฒ ํ ์ ์๋ค.
- ๋ฌผ๋ก ๊ทผ์ฌํ๊ฒ ๋ณด์ด๋ ๊ฒ๋ ์ค์ํ์ง๋ง ์กฐ๊ธ ๋ ๊น๊ฒ ์๊ฐํด์ ํ๋ คํ ์ธก๋ฉด์ ๊ฐ์กฐํ๋ ๊ฒ ๋ณด๋ค ๋ฐฐ์น ์์๋ฅผ ์ ์คํ๊ฒ ๊ณ ๋ คํด์ ํํ์ด์ง์ ๋ฐฉ๋ฌธํด์ ๋ถ์ํ TV ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ ค๋ ์ฌ๋๋ค๋ก ํ์ฌ๊ธ ์ฐจํธ๋ฅผ ์ฐจ๋ก๋๋ก ๋ณด๋ฉด์ ์๋ฏธ๋ฅผ ์ป๋๋ฐ ์กฐ๊ธ์ด๋๋ง ๋์์ด ๋๋๋ก ํ๋ค.
- ์ฐ์ธก ์๋จ์ ์ฐจํธ ๋ฉ๋ด ํญ์์ ๋ณด์๋ค์ํผ ๋ฐฐ์น ์์๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ํ๋ค.
- ์ต๊ทผ 2๋ ๊ฐ ์๋ณ ๋ฆฌ๋ทฐ ์ด ๊ฐ์
- ์ต๊ทผ 2๋ ๊ฐ ์๋ณ ๋ฆฌ๋ทฐ ํ์ ํ๊ท
- ๊ฐ ๋ชจ๋ธ ๋ณ ๋ฆฌ๋ทฐ์ ๋ฐ์ ๋ถ์
- ๊ฐ ๋ชจ๋ธ ๋ณ ๋ฆฌ๋ทฐ์ ํ์ ๋ถํฌ ํํฉ
- ์๋ณ ๋ฆฌ๋ทฐ ์ด ๊ฐ์์ ํ์ ํ๊ท ์ ์ฐ์ ๋ฐฐ์นํจ์ผ๋ก์จ ์ต๊ทผ 2๋ ์ด๋ผ๋ ๊ธด ๊ธฐ๊ฐ์ ๊ฐ์ง๊ณ ํฐ ์ฒ์ ๋ณด๋ฉด์ ํด๋น TV ๋ชจ๋ธ๋ค์ ์ ๋ฐ์ ์ธ ๋ฐ์๊ณผ ํ๋ฆ, ๋ํฅ์ ํ์ ํ ์ ์๋๋ก ํ๋ค.
- ํฐ ์ฒ์ ๋ณธ ํ์๋ ์์ ๋๋ฌด๋ค์ ๋ณด๋ ๊ฒ ์ฒ๋ผ ์ธ ๋ฒ์งธ์ ๋ค ๋ฒ์งธ ์ฐจํธ๋ก ๊ฐ ๋ชจ๋ธ๋ค์ ๋ฆฌ๋ทฐ ๋ฐ์๊ณผ ํ์ ๋ถํฌ ํํฉ์ ๋ฐฐ์นํจ์ผ๋ก์จ ๊ฐ ๋ชจ๋ธ๋ค์ ๋ํ ์ผํ ์ ๋ณด๋ฅผ ํ์ ํ ์ ์๋๋ก ํ๋ค.
- ์ฐจํธ๋ ๋ฐ์ดํฐ์ ๋ฐฐ์น ์์๋ ์ ๋ต์ ์์ง๋ง ๊ฐ๋ฐ์์ ์๋์ ๋ฐ๋ผ ์๋น์ค๋ฅผ ์ด์ฉํ๋ ์ฌ๋๋ค์๊ฒ ์ฃผ๊ณ ์ํ๋ ๋ถ๋ช ํ ์๋ฏธ๊ฐ ์๋ค๋ฉด ๋ช ํํ ์๋์ ์ฌ์ฉ์์๊ฒ ์ฃผ๊ณ ์ํ๋ ์ธ์ฌ์ดํธ๋ฅผ ๋ฐ์ํ์ฌ ๋ฐฐ์น ์์๋ฅผ ์ ํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.