Skip to content

sookyeongyeom/next-boilerplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿซ– Next.js Boilerplate

sookyeongyeom์˜ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ์ž…๋‹ˆ๋‹ค :D

์ง€์†์ ์œผ๋กœ ๊ฐœ์„ ํ•˜์—ฌ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
์Šคํƒ ๋ณ€๊ฒฝ ๊ณผ์ • ๋ฐ ์ƒ์„ธํ•œ ์ฝ”๋“œ ์ปจ๋ฒค์…˜์€ ์•„๋ž˜ ์œ„ํ‚ค์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“– ์ƒ์„ธ ์œ„ํ‚ค ๋ฐ”๋กœ๊ฐ€๊ธฐ

Index

1. ์‹œ์ž‘ํ•˜๊ธฐ

1. Clone & Install

$ git clone https://github.com/sookyeongyeom/next-boilerplate
$ cd next-boilerplate
$ git remote remove origin
$ yarn install

2. Run

$ yarn dev

2. ๊ธฐ์ˆ  ์Šคํƒ





3. ์ „์ฒด ๊ตฌ์กฐ ํ•œ๋ˆˆ์— ๋ณด๊ธฐ

โ”œโ”€โ”€ .github/workflows
โ”‚ย ย  โ”œโ”€โ”€ dev.yml       // Dev ์„œ๋ฒ„ ๋ฐฐํฌ์ž๋™ํ™”๋ฅผ ์œ„ํ•œ yml
โ”‚ย ย  โ””โ”€โ”€ prod.yml      // Prod ์„œ๋ฒ„ ๋ฐฐํฌ์ž๋™ํ™”๋ฅผ ์œ„ํ•œ yml
โ”œโ”€โ”€ pages
โ”œโ”€โ”€ public
โ”œโ”€โ”€ src
โ”‚ย ย  โ”œโ”€โ”€ @types
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ api       // API ์š”์ฒญ, ์‘๋‹ต ์Šคํ‚ค๋งˆ ํƒ€์ž…
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ client    // API ์ œ์™ธ ๋ชจ๋“  ํƒ€์ž…
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ dep       // ์™ธ๋ถ€ ๋ชจ๋“ˆ ํƒ€์ž… ์˜ค๋ฒ„๋ผ์ด๋”ฉ
โ”‚ย ย  โ”œโ”€โ”€ api
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ core      // Axios ์ธ์Šคํ„ด์Šค
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ hooks     // React Query Hooks
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ promises  // API ์š”์ฒญ Promises
โ”‚ย ย  โ”œโ”€โ”€ atoms         // Jotai Atoms
โ”‚ย ย  โ”œโ”€โ”€ components
โ”‚ย ย  โ”œโ”€โ”€ constants
โ”‚ย ย  โ”œโ”€โ”€ hooks         // Custom Hooks
โ”‚ย ย  โ”œโ”€โ”€ styles
โ”‚ย ย  โ””โ”€โ”€ utils         // ์œ ํ‹ธ ํ•จ์ˆ˜
โ”œโ”€โ”€ next-env.d.ts
โ”œโ”€โ”€ next.config.js
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ tsconfig.json
โ”œโ”€โ”€ yarn-error.log
โ”œโ”€โ”€ yarn.lock
โ”œโ”€โ”€ Dockerfile        // ๋ฐฐํฌ์ž๋™ํ™”๋ฅผ ์œ„ํ•œ ๋„์ปคํŒŒ์ผ
โ””โ”€โ”€ README.md

4. ๊ธฐ๋ณธ ์ปดํฌ๋„ŒํŠธ

  1. components/layouts/DefaultLayout.tsx
  2. components/hocs/RouterGuard.tsx
  3. components/seo/CustomHead.tsx

5. ๊ธฐ๋ณธ ์ปค์Šคํ…€ ํ›…

  1. hooks/useChange.ts
  2. hooks/useCustomRouter.ts
  3. hooks/useInput.ts
  4. hooks/useMobile.ts
  5. hooks/usePreventScroll.ts
  6. hooks/useQueryString.ts
  7. hooks/useRouteToPath.ts
  8. hooks/useSwitch.ts
  9. hooks/useUniqueId.ts

6. ๊ธฐ๋ณธ ์ƒ์ˆ˜

  1. constants/keys.tsx
  2. constants/paths.tsx

7. ๊ธฐ๋ณธ ์Šคํƒ€์ผ ์ƒ์ˆ˜

  1. styles/alphaToHex.ts - 0~1์„ Hex๋กœ ๋ณ€ํ™˜ํ•œ ๊ฐ’๋“ค์˜ ๋ชจ์Œ
  2. styles/colors.ts
  3. styles/devices.ts - ๋ทฐํฌํŠธ์— ๋”ฐ๋ฅธ ๋””๋ฐ”์ด์Šค ๊ตฌ๋ถ„ ๊ธฐ์ค€
  4. styles/fonts.ts - ๊ธฐ๋ณธ ์•„ํ† ๋ฏน ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ
  5. styles/global.ts - ๊ธฐ๋ณธ ์ „์—ญ ์Šคํƒ€์ผ
  6. styles/reset.ts - ๊ธฐ๋ณธ ๋ฆฌ์…‹ ์Šคํƒ€์ผ
  7. styles/sizes.ts
  8. styles/svgs.tsx

8. ๊ธฐ๋ณธ ์œ ํ‹ธ

  1. utils/fetchAndSet.ts
  2. utils/setLayout.ts
  3. utils/withoutPropagation.ts

9. ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜

1. ๋ธŒ๋žœ์น˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜

Feature/[๊ธฐ๋Šฅ์š”์•ฝ]

- ๋งจ ์ฒซ๊ธ€์ž F๋งŒ ๋Œ€๋ฌธ์ž๋กœ, ๊ธฐ๋Šฅ์š”์•ฝ์€ ์†Œ๋ฌธ์ž๋กœ ์ž‘์„ฑํ•œ๋‹ค.
- ๋„์–ด์“ฐ๊ธฐ๋Š” ํ•˜์ดํ”ˆ์œผ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.

ex) Feature/modal-publishing

2. ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ์ปจ๋ฒค์…˜

<ํƒœ๊ทธ>: <์ œ๋ชฉ>

- ํƒœ๊ทธ์˜ ์ฒซ๊ธ€์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑํ•œ๋‹ค.
- ํƒœ๊ทธ๋Š” ์•„๋ž˜์— ์ ํžŒ ๊ฒƒ๋“ค๋งŒ ์‚ฌ์šฉํ•œ๋‹ค.

Feat: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€, ๊ธฐ๋Šฅ ๋กœ์ง ๋ณ€๊ฒฝ
Fix: ๋ฒ„๊ทธ ์ˆ˜์ •
Refactor: ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง (๊ธฐ๋Šฅ ๋ณ€ํ™” X)
Style: ์ฝ”๋“œ ํฌ๋งทํŒ…, ์ฝ”๋“œ ๋ณ€๊ฒฝ์ด ์—†๋Š” ๊ฒฝ์šฐ
Chore: ๋นŒ๋“œ ์—…๋ฌด ์ˆ˜์ •, ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์ˆ˜์ •
Docs: ๋ฌธ์„œ ์ˆ˜์ •, ์ฃผ์„

3. ๋จธ์ง€ ์ „๋žต

๋ชจ๋“  Feature ๋ธŒ๋žœ์น˜๋Š” Squash Merge ํ•ฉ๋‹ˆ๋‹ค.

About

๐Ÿซ– Next.js Boilerplate by sookyeongyeom

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published