๐ก ๊ธฐ์กด ๊ต๋ด ์ปค๋ฎค๋ํฐ ๋ ์จ ๊ฒ์ํ์ ์๊ฐ ์ ๋ณด ๋ถ์กฑ๊ณผ, ๊ธฐ์์ ๋ณด๋ฅผ ์ข ํฉ์ ์ผ๋ก ํ์ ํ ์ ์๋ค๋ ๋ฌธ์ ์ ์์ ์์ํ์ฌ ๊ณ ์ํ, ์ดํ์ธ์ ์ํ ๊ธฐ์์ ๋ณด ์๋น์ค์ ๋๋ค. ์คํ API๋ฅผ ํ์ฉํด ๋งค์ผ์ ๊ธฐ์์ ๋ณด๋ฅผ ์ ๊ณตํ๋ฉฐ, ์ท์ ๋ํ ํฌํ๋ฅผ ํตํด ๊ต๋ด ์ปค๋ฎค๋ํฐ ๋ ์จ๊ฒ์ํ์ ๊ธฐ๋ฅ์ ์๊ฐ์ ์ผ๋ก ํ์ฅํฉ๋๋ค. ์ดํ๊ทธ๋ฆฐ ์์ ์ผ์ , ๋ฝ๊ธ์ดํ๋ ๋ฑ์ ์ ์ ์ดํ ๊ณฐ๋์ด๋ฅผ ํตํด ๊ธฐ์จ๊ณผ ๊ฐ์์ํ๋ฅผ ํ์ ํ ์ ์์ต๋๋ค.
1. ์ฅ์์ฐ(@JangAyeon)
- ๋ฐฑ์๋ ํ์ ์ ํตํ REST API, Google OAuth 2.0 ๋ก๊ทธ์ธ, ์ฟ ํค/ํ ํฐ์ ๋ํ ์ดํด
- ๋์์ด๋ ํ์ ์ ํตํ UI/UX ์ดํด ๋ฐ png layer ํ์ฉํ ๊ณฐ๋์ด ์๋ฐํ ์์ฑ
- GitHub Action ํ์ฉํ CI/CD ๊ตฌ์ถ
( AWS S3 & CloudFront & Route 53 ํตํ ์ ์ ์นํธ์คํ ๊ณผ ์๋ธ ๋๋ฉ์ธ api ์ฐ๊ฒฐ ) - Axios interceptor ์ด์ฉํ http request์ response ์ปค์คํ
- Recoil ํ์ฉํ ๋น๋๊ธฐ์ ์ํ๊ด๋ฆฌ ๋ฐ UI ๊ด๋ฆฌ๋ฅผ ํตํ ์ฌ์ฉ์ ๊ฒฝํ ํฅ์
- ๋ฏธ๋์ด ์ฟผ๋ฆฌ์ useWindowWidth ํ ์ ํ์ฉํ ๋ฐ์ํ ์ฒ๋ฆฌ
- OpenGraph Protocol ์ฌ์ฉํ SEO ์ฒ๋ฆฌ
2. ์ต์๋น(@eunbi)
- Save ํ์ด์ง
- Vote ํ์ด์ง
3. ๊น์ํ(@zhtmahthgus)
- MyPage ํ์ด์ง
- SaveRecord ํ์ด์ง
PC | MOBILE |
PC | MOBILE |
* carousel ์ด์ฉํ ์ผ๊ธฐ์๋ณด
* ๋ ์จ ์ ๋ณด์ ๋ง๋ png ํ์ผ layeredํ์ฌ ๊ณฐ๋์ด ์๋ฐํ ๊ตฌํ
์ท์ฐจ๋ฆผ ์ถ์ฒ ๋ฐ๊ธฐ |
์นด์นด์คํก ๊ณต์ ํ๊ธฐ | ํธ์ํฐ ๊ณต์ ํ๊ธฐ |
๋งํฌ ๋ณต์ฌํ๊ธฐ | ๋ก์ปฌ์ ๊ณฐ๋์ด ์๋ฐํ ์ด๋ฏธ์ง ์ ์ฅ |
PC : ํฌํํ๊ธฐ | MOBILE : ํฌํํ๊ธฐ |
๋ก๋ฉ ์คํ๋์ |
- ํฌํ ๋ชฉ๋ก๋ง ๋ณผ ์ ์๊ณ ํด๋ฆญ ์์๋ ํฌํ๊ฐ ๋ถ๊ฐ๋ฅํจ
- ๋ก๊ทธ์ธ์ธ๋ ์ ์ ๋ง ์ฌ์ฉ๊ฐ๋ฅํ ํ์ด์ง๋ก ์ด๋ํ๋ ค๊ณ ํ๋ฉด ๊ฐ์ ์ ์ผ๋ก ๋ก๊ทธ์ธ ํ์ด์ง๋ก ์ด๋ํจ
๐src
โโโ ๐.env <!--์๋ฒ์ฃผ์, ๊ฐ์ข
ํค-->
โโโ ๐index.js <!--JS entry & set HOC-->
โโโ ๐App.js <!--Main Excution File-->
โโโ ๐AppRouter.js <!--Route-->
โโโ ๐apis <!--Api ํธ์ถ-->
โโโ ๐assets <!--Image File (SVG) -->
โโโ ๐components <!--Atomic design-->
โโโ ๐common <!--์ฌ๋ฌ ๊ณณ์์ ์ฐ์ด๋ ์ปดํฌ๋ํธ-->
โโโ ๐pages <!--Routing์ ๋ฐ๋ฅธ ๋ ๋๋งํ page-->
โโโ ๐styles <!--Styled Component ์ธํ
& ์คํ์ผ ๊ด๋ จ ๋ณ์-->
โโโ ๐constants <!--๊ฐ์ข
์์ ๊ฐ ๊ด๋ฆฌ-->
โโโ ๐hooks <!--custiom hooks-->
โโโ ๐context <!--Recoil ์ํ ๊ด๋ฆฌ : ์ ์ ์ ๋ณด ๋ฐ ๊ธฐ์ ์ ๋ณด-->
โโโ ๐utils <!--๊ฐ์ข
์ ํธ ํจ์-->