๐Ÿ“ย ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ

๐Ÿ“ฆ 
โ”œโ”€ย index.html
โ”œโ”€ย public (์ด๋ฏธ์ง€, ํฐํŠธ ๋“ฑ ์ •์  ํŒŒ์ผ ์ €์žฅ)
โ”œโ”€ย src
โ”‚ย ย โ”œโ”€ย main.jsx
โ”‚ย ย โ”œโ”€ย App.jsx
โ”‚ย ย โ”œโ”€ย app 
โ”‚ย ย โ”‚ย ย โ”œโ”€ย CompositeProvider.jsx
โ”‚ย ย โ”‚ย ย โ””โ”€ย Router.jsx
โ”‚ย ย โ”œโ”€ย components
โ”‚ย ย โ”‚ย ย โ”œโ”€ย layouts (header, footer๋“ฑ layout์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ปดํฌ๋„ŒํŠธ)
โ”‚ย ย โ”‚ย ย โ”œโ”€ย commons (ํ”„๋กœ์ ํŠธ ์ „๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ปดํฌ๋„ŒํŠธ)
โ”‚ย ย โ”‚ย ย โ””โ”€ย features (ํŠน์ • ๊ธฐ๋Šฅ/๋„๋ฉ”์ธ/ํŽ˜์ด์ง€์— ์ข…์†๋œ ์ปดํฌ๋„ŒํŠธ)
โ”‚ย ย โ”‚ย ย ย ย ย โ””โ”€ย pokemon - (card, list, dashboard);
โ”‚ย ย โ”œโ”€ย **pages**
โ”‚ย ย โ”œโ”€ย styles (css ์•„๋‹˜, ์Šคํƒ€์ผ๋“œ ์ปดํฌ๋„ŒํŠธ์˜ theme)
โ”‚ย ย โ”œโ”€ย lib
โ”‚ย ย โ”‚ย ย โ”œโ”€ย apis
โ”‚ย ย โ”‚ย ย โ”‚ย  โ”œโ”€ย auth.api.js (๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž… ๋“ฑ auth ๊ด€๋ จ API ํ•จ์ˆ˜)
โ”‚ย ย โ”‚ย ย โ”‚ย  โ””โ”€ย ~~~~.api.js 
โ”‚ย ย โ”‚ย ย โ”œโ”€ย hooks
โ”‚ย ย โ”‚ย ย โ””โ”€ย utils
โ”‚ย ย โ”‚ย ย  ย  โ”œโ”€ย format.util.js (format์™€ ๊ด€๋ จ๋œ util ํ•จ์ˆ˜)
โ”‚ย ย โ”‚ย ย  ย  โ”œโ”€ย date.util.js (date์™€ ๊ด€๋ จ๋œ util ํ•จ์ˆ˜)
โ”‚ย ย โ”‚ย ย  ย  โ””โ”€ย ~~~~.util.js
โ”‚ย ย โ”œโ”€ย contexts
โ”‚ย ย โ”‚ย ย โ””โ”€ย auth
โ”‚ย ย โ”‚ย ย ย ย  โ”œโ”€ย auth.context.js
โ”‚ย ย โ”‚ย ย ย ย  โ”œโ”€ย auth.reducer.js
โ”‚ย ย โ”‚ย ย ย ย  โ””โ”€ย AuthProvider.js
โ”‚ย ย โ”œโ”€ย data
โ”‚ย ย โ””โ”€ย mocks
โ”œโ”€ .env.develop
โ””โ”€ .env.product

styled-component prefix / suffix

<aside> ๐Ÿ’ก

๋„ค์ด๋ฐ์˜ ์ข…๋ฅ˜

๋””๋ ‰ํ† ๋ฆฌ ๋„ค์ด๋ฐ

๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„์€ ์–ด๋А๊ณณ์ด๋“  ์ƒ๊ด€ ์—†์ดย kebab-case