๋น์ค๋ ๋ ๐ง๏ธ๋ถํฐ ํ์ฐฝํ ๋ โ ๏ธ๊น์ง: FashionCloud์ ํจ๊ปํ๋ ๋งค์ผ์ ์คํ์ผ
์ฐ๋ฆฌ๋ ์์ฃผ ์ด๋ฐ ๊ฒฝํ์ ํ๋ค. ์์นจ์ ์ท์ฅ ์์์ ์์ฑ์ด๋ค๊ฐ, โ์ด ์ ๋๋ฉด ๊ด์ฐฎ๊ฒ ์ง?โ๋ผ๋ฉฐ ๋์ถฉ ์ฐจ๋ ค์ ๊ณ ์ง์ ๋์ ๋ค. ๊ทธ๋ฌ๋ ์ธ์ถ ํ์๋ ๋๋ฌด ๋ฅ๊ฑฐ๋, ์ถ์์ ํํํ๋ ์๊ฐ๋ค์ด ์๊ธฐ์ฃ .
์ด๋ฌํ ์ผ์์ ๋ถํธํจ์ ํด์ํ๊ณ ์, FashionCloud๋ฅผ ๊ฐ๋ฐํ๋ค. FashionCloud๋ ๋ ์จ์ ๋ฐ๋ผ ๋ฐ์ผ๋ฆฌ๋ฃฉ์ ๊ณต์ ํ๋ SNS ์๋น์ค์ด๋ค. ์ฌ์ฉ์์ ํ์ฌ ์์น๋ฅผ ๋ฐํ์ผ๋ก ๋ ์จ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ฉฐ, ๋น์ทํ ๊ธฐํ ์กฐ๊ฑด์ ๊ฐ์ง ์ง์ญ์ ์ฌ์ฉ์๋ค๊ณผ ํจ์ ์ ๋ณด๋ฅผ ๊ณต์ ํ ์ ์๋ค.
ํ๋ก์ ํธ์ ์ถ๋ฐ: ๊ธฐ์ ์ ๋ณด์ ํจ์ ์ ๋ง๋จ
์ฒ์ ํ๋ก์ ํธ๋ฅผ ๊ธฐํํ ๋, ์ฐ๋ฆฌ๋ ํญ๋ก ๋ฐ ๋๋ก์ ๊ธฐ์ ์ ๋ณด์ ์ค์ ์ ๋๊ณ ์ฃผ์ ๋ฅผ ๊ณ ๋ฏผํ๋ค. ํนํ, ์ค์๊ฐ ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ์๊ฐ๋๋ณ ์ ๋ฐ์ดํธ๊ฐ ๊ฐ๋ฅํ ์ฃผ์ ์ ๋ํ ํ์์ฑ์ ์ค์ํ๊ฒ ์๊ฐํ๋ค. ์ด ๊ณผ์ ์์ ๋ค์ํ ์์ด๋์ด๋ฅผ ํ์ํ๋ฉฐ ์ค์๊ฐ ๋ฐ์ดํฐ์ ์ ์ฉ์ฑ๊ณผ ์คํ ๊ฐ๋ฅ์ฑ์ ๊ณ ๋ คํ๋ค. ์ต์ข ์ ์ผ๋ก, ์ด๋ฌํ ์์๋ค์ ๊ณ ๋ คํ์ฌ ๋ ์จ ์ ๋ณด ํ์ฉ์ด๋ผ๋ ์ฃผ์ ๋ฅผ ์ ํํ๊ฒ ๋์๋ค.
๋ ์จ ์ ๋ณด๋ ์ผ์์ํ์ ๋ฐ์ ํ๋ฉด์๋, ๋งค์ผ๋งค์ผ ๋ค๋ฅธ ๋ณ์๋ฅผ ์ ๊ณตํ๋ค. ์ด๋ ํจ์ ์ ํ์ ์ค๋ํ ์ํฅ์ ๋ฏธ์น์ฃ . FashionCloud๋ ์ด๋ฌํ ๋ ์จ์ ๋ณํ๋ฅผ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํจ์ผ๋ก์จ, ๊ทธ๋ค์ด ๋ ๋์ ์ท์ฐจ๋ฆผ ์ ํ์ ํ ์ ์๋๋ก ๋์์ค๋ค.
FashionCloud: ์ฌ์ฉ์ ๊ฒฝํ์ ์ค์ฌ์ผ๋ก ํ ๊ฐ๋ฐ
FashionCloud์ ๊ฐ๋ฐ์ ์ฌ์ฉ์์ ์์น ์ ๋ณด์ ๋ ์จ ์ ๋ณด๋ฅผ ์ค์ฌ์ผ๋ก ์งํ๋์๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ค์๊ฒ ๋ง์ถคํ ํจ์ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ณ , ์ฌ์ฉ์ ๊ฐ์ ์ํธ์์ฉ์ ์ด์งํ๋ ๊ธฐ๋ฅ๋ค์ ๊ตฌํํ๋ค.
์์น ๋ฐ ๋ ์จ ๋ฐ์ดํฐ์ ํ์ฉ
์์น ๋ฐ์ดํฐ: โuseGeoLocationโ์ ํ์ฉํ์ฌ ์ฌ์ฉ์์ ์๋์ ๊ฒฝ๋๋ฅผ ์ป๋๋ค. ์ด ๋ฐ์ดํฐ๋ ๋ฐฑ์๋์ ์์น API์ ๋ ์จ API์ ์ ์ก๋์ด, ์ฌ์ฉ์์๊ฒ ๋ง์ถคํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
๊ฐ๋ฐ๋ ํ์ด์ง์ ๊ธฐ๋ฅ๋ค
๋ฉ์ธํ์ด์ง
- ํ์ฌ ์์น ๋ฐ ๋ ์จ ์ ๋ณด ํ์ธ: ์ฌ์ฉ์๋ ํ์ฌ ์์น์ ๊ด๋ จ๋ ๋ ์จ ์ ๋ณด๋ฅผ ์ฝ๊ฒ ํ์ธํ ์ ์๋ค.
- ํจ์ ์ถ๊ฐํ๊ธฐ: ์ฌ์ฉ์๋ ์์ ์ ํจ์ ์ ์ถ๊ฐํ์ฌ ๊ณต์ ํ ์ ์๋ค.
- ๋ชจ๋ ํจ์ ๋ณด๊ธฐ/ํ๋ก์ ๋ณด๊ธฐ: ๋ชจ๋ ์ฌ์ฉ์๋ค์ ํจ์ ์ ๋ณผ ์ ์๊ณ , ํ์์ ๋ฐ๋ผ์๋ ํ๋ก์๋ค์ ํจ์ ๋ง์ ๋ณผ ์ ์๋ค.
- ๋ ์จ๋ก ํจ์ ๊ฒ์ํ๊ธฐ: ํน์ ๋ ์จ ์กฐ๊ฑด์ ๋ง๋ ํจ์ ์ ๊ฒ์ํ ์ ์๋ค.
- ํจ์ ์์ธ ์ ๋ณด: ํจ์ ์ ํด๋ฆญํ๋ฉด, ๊ทธ ๋น์์ ๋ ์จ ์ ๋ณด์ ์ฌ์ฉ์์ ๋ฆฌ๋ทฐ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
๋ง์ดํ์ด์ง
- ๊ฒ์๊ธ ๊ด๋ฆฌ: ์์ ์ด ์ฌ๋ฆฐ ๊ฒ์๊ธ์ ๋ณผ ์ ์์ต๋๋ค.
- ๋ฃฉ๋ถ ๊ด๋ฆฌ: ์ ๋ฃฉ๋ถ์ ๋ง๋ค๊ณ , ๋ฉ์ธํ์ด์ง์ ํจ์ ์ค ์ํ๋ ์คํ์ผ์ ๋๋ง์ ๋ฃฉ๋ถ์ ์ถ๊ฐํ ์ ์๋ค.
์คํ ๋ฆฌ
- ์คํ ๋ฆฌ ๊ธฐ๋ฅ: ์ฌ์ด๋ ๋ฐ๋ฅผ ํตํด ์ ๊ทผํ ์ ์๋ ์คํ ๋ฆฌ ๊ธฐ๋ฅ์ ํตํด, ํ๋ก์ฐํ๋ ์ฌ์ฉ์๋ค์ด 24์๊ฐ ์ด๋ด์ ์ฌ๋ฆฐ ๊ฒ์๊ธ์ ๋ณผ ์ ์๋ค. ์ด๋
react-insta-stories
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ๋์๋ค.
FashionCloud: ์ฌ์ฉ์ ๊ฒฝํ์ ์ต์ฐ์ ์ผ๋ก
FashionCloud๋ ์ฌ์ฉ์์ ํ์ฌ ์์น๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ ์จ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ฉฐ, ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ ๊ทธ๋ ์ ์จ๋, ์ต๋, ๊ธฐ์ ์ํ ๋ฑ์ ์ฝ๊ฒ ์ ์ ์๋ค. ๋ํ, ๊ฐ์ ๋ ์จ ์กฐ๊ฑด์ ๊ฐ์ง ๋ค๋ฅธ ์ง์ญ์ ์ฌ์ฉ์๋ค๊ณผ ์คํ์ผ์ ๊ณต์ ํ ์ ์๋ ์๋น์ค๋ฅผ ๋ง๋ จํ๋ค. ์ด๋ ๋ค์ํ ์คํ์ผ์ ์๊ฐ์ ์ป๊ณ , ๋์์ ๋ ์จ์ ์ ํฉํ ๋ณต์ฅ์ ์ ํํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ด๋ค.
FashionCloud: ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ฌ์
๋ด๊ฐ ๋งก์ ์ญํ ์ FashionCloud ํ๋ก์ ํธ์ UI/UX ๋์์ธ๊ณผ Frontend ๊ฐ๋ฐ์ด์๋ค. ์ด ๊ธ์์๋ ์ฃผ๋ก ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๊ณผ์ ์ ๋ํด ๊ณต์ ํ๊ณ ์ ํ๋ค.
๊ฐ๋ฐ ์คํ ๊ฐ์
FashionCloud ํ๋ก์ ํธ์ ์ ์ฒด ๊ฐ๋ฐ ์คํ์ ๋ค์๊ณผ ๊ฐ๋ค:
NextJS๋ก์ ๋ง์ด๊ทธ๋ ์ด์ ๊ณผ ๋ฌธ์ ํด๊ฒฐ
์ต๊ทผ ์ ์ฒด ๋ฆฌํฉํ ๋ง์ ์งํํ๋ฉฐ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง(SSR)๊ณผ ๊ฒ์์์ง ์ต์ ํ๋ฅผ ์ํด ReactJS์์ NextJS๋ก ๋ง์ด๊ทธ๋ ์ด์ ์ ํ๋ค. ์ด ๊ณผ์ ์์ NextJS์ Recoil์ ํจ๊ป ์ฌ์ฉํ ๋ ๋ฐ์ํ๋ โDuplicate atom keyโ ์๋ฌ์ ์ง๋ฉดํ๋ค. ์ด๋ NextJS์ ๊ฐ๋ฐ ์ค ํซ๋ฆฌ๋ก๋ฉ๊ณผ Recoil์ ์ํ ๊ด๋ฆฌ๊ฐ ์ถฉ๋ํ๋ฉด์ ๋ฐ์ํ ๋ฌธ์ ์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Zustand๋ก ์ ํํ์ฌ ๊ฐ๋ฐ ์์ ์ฑ๊ณผ ํธํ์ฑ์ ๋์๋ค.
API ํธ์ถ ๋ก์ง๊ณผ ์ฝ๋ฉ ์ปจ๋ฒค์ ๊ฐ์
๋ฆฌํฉํ ๋ง์ ํตํด API ํ ์ ๋ถ๋ฆฌํ๊ณ , ๋ฐ์ดํฐ ํ์นญ ๋ฐ ์ํ ๊ด๋ฆฌ๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด react-query๋ฅผ ํ์ฉํ๋ค. ๋ํ, ์ฝ๋ฉ ์ปจ๋ฒค์ ๊ณผ ์ผ๊ด์ฑ ์ ์ง๋ฅผ ์ํด Eslint์ Prettier๋ฅผ ์ค์ ํ๋ค.
๊ฒฐ๋ก : FashionCloud์ ํจ๊ปํ๋ ๋งค์ผ์ ์คํ์ผ๋ง
FashionCloud๋ ๋จ์ํ ํจ์ ์ถ์ฒ ์๋น์ค๋ฅผ ๋์ด ์ฌ์ฉ์์ ์ผ์์ ๋ฐ์ ํ๊ฒ ์ฐ๊ฒฐ๋ ์ํ ์๋ฃจ์ ์ ์ ๊ณตํ๋ค. ๋ ์จ ์ ๋ณด๋ฅผ ํตํด ๋งค์ผ์ ์ท์ฐจ๋ฆผ์ ๊ฒฐ์ ํ๋ ๊ฒ์ ์ด์ ๋ ์ด์ ์ด๋ ต์ง ์๋ค. ์ ํฌ FashionCloud์ ํจ๊ป๋ผ๋ฉด, ๋งค์ผ ์์นจ ๋น์ ์ ์คํ์ผ์ ์๋กญ๊ฒ ์ ์ํ ์ ์์ ๊ฒ์ด๋ค.
๐ฉ๐ปโ๐ป ํ์๋ค์ ๊ธฐ์ ๋ธ๋ก๊ทธ
[๊น์ ํ] ํ๋ก์ ํธ PoC ์ดํ ๊ฐ๋ฐํ ๊ธฐ์ ๋ฐ ์ถ๊ฐ ๊ธฐ๋ฅ
[ํฉ์ฅํ] React Query์ ์ปค์คํ ํ , Token์ ๊ดํ์ฌ
[๊น๋ฏผ์ง] ํ ์คํธ์ฝ๋
[๋ฐ์์ฐ] WebSocket์ ์ฌ์ฉํ ์คํ ๋ฆฌ ์ถ๊ฐ ์๋ฆผ ๊ธฐ๋ฅ