πΒ λλ ν 리 ꡬ쑰 (./src)
- app/: app router κΈ°λ° ν΄λ μμ±
- api/: router-handler μμ±
- public/: μ΄λ―Έμ§, νλΉμ½, ν°νΈ λ±μ μ μ νμΌμ μ μ₯
- components/: νμ΄μ§ λ΄μμ μ¬μ©λλ μ»΄ν¬λνΈ μμ±
- commons/: νλ‘μ νΈ μ λ°μ μΌλ‘ μ¬μ©λλ κ³΅ν΅ μ»΄ν¬λνΈ
- (μμ)/: κ°μΈλ§λ€ μ¬μ©ν λλ ν°λ¦¬ (μ: my-page/)
- lib/: μ νΈλ¦¬ν° ν¨μ λ±μ μ μ₯
- utils/: μ νΈλ¦¬ν° ν¨μ
- services/: μλ² ν΅μ ν¨μ (μλ²μ‘μ
)
- hooks/: 컀μ€ν
ν
- mutations/: useQueryν
μ μ
- queries/: useMutationν
μ μ
- store/ : zustand, ν΄λΌμ΄μΈνΈ μ μ μνκ΄λ¦¬ λλ ν°λ¦¬
- constants/: νλ‘μ νΈ μ λ°μ μ¬μ©λλ μμλ₯Ό μ μ₯ν©λλ€.
π¦
βββ public/
βββ src/
β βββ app/
β β βββ api/
β β βββ layout.tsx
β β βββ page.tsx
β β βββ globals.css
β βββ components/
β β βββ commons/
β β βββ ui(temp)/
β βββ constants/
β βββ libs/
β β βββ utils/μ νΈλ¦¬ν°ν¨μ
β β βββ services/μλ²ν΅μ ν¨μ
β βββ hooks/
β βββ store/
β βββ types/
β βββ constants/
βββ tsconfig.json
λ€μ΄λ°μ μ’
λ₯
- PascalCase (νμ€μΉΌ μΌμ΄μ€) : μ»΄ν¬λνΈ (λ¨, NextJSμ μν μ»΄ν¬λνΈλ€μ νλ μμν¬μ μν΄ μ΄λ¦μ΄ μ ν΄μ ΈμμΌλ―λ‘ μμΈμ
λλ€.)
- camelCase (μΉ΄λ© μΌμ΄μ€) : ν¨μ, λ³μλͺ
, νμΌλͺ
- kebab-case (μΌλ°₯ μΌμ΄μ€) : ν΄λ
- snake_case (μ€λ€μ΄ν¬ μΌμ΄μ€) : νκ²½λ³μ, μμ λ±
ν¨ν€μ§ λ§€λμ
API ν¨μ λͺ