π¬ μ°κ΅¬μ
μ°κ΅¬ μ°Έμ¬μ λͺ¨μ§μ΄ μ΄λ ΅λ€λ©΄?
κ·ΈλΌλ°μ κ³΅κ³ λ₯Ό λ±λ‘νλ©΄ λͺ¨μ§ λμμκ² μλμΌλ‘ λ©μΌμ΄ λ°μ‘λΌμ.
π° μ°Έμ¬μ
κ°κΉμ΄ μ€νμ μ°Έμ¬ν΄ μ©λμ λ²κ³ μΆλ€λ©΄?
λ΄ μ‘°κ±΄μ λ§λ μ€νλ§ λͺ¨μλ³΄κ³ λ©μΌλ‘ μΆμ²λ°μΌμΈμ.
| μ°κ΅¬μ | μ°Έμ¬μ |
|---|---|
![]() |
![]() |
- νμ΄μ§ λ¨μλ‘ νμΌ λΆλ¦¬
- νμ΄μ§ λ΄μμλ§ μ¬μ©λλ κ²½μ°, νμ΄μ§ νμμ
/utils,/types,/constantsλλ ν 리 λΆλ¦¬ - νμ΄μ§ νμμ
components,hooksλλ ν 리 μμ± ν νμμμ 곡μ©μΌλ‘ κ΄λ¦¬
π¦ src
β£ π apis # API νΈμΆ λ° κ΄λ ¨ μ€μ κ΄λ¦¬
β β£ π config.ts # API κΈ°λ³Έ μ€μ (ex: baseURL, Axios instance)
β β π exampleapi.ts # μμ API μ μ (ex: λ‘κ·ΈμΈ, λ°μ΄ν° μ‘°ν)
β£ π app
β β£ π example # νμ΄μ§λ₯Ό μ μν ν΄λ (ν΄λ μ΄λ¦μ΄ κ° λΌμ°νΈμ λμ)
β β β£ π components # ν΄λΉ νμ΄μ§μμλ§ μ¬μ©νλ μ»΄ν¬λνΈ
β β β β£ π ExampleComponent
β β β β β£ π index.tsx # μνΈλ¦¬ (import μ ν΄λλͺ
λ§ μ¬μ©)
β β β β β π ExampleComponent.css.ts # Vanilla Extract μ€νμΌ
β β β£ π hooks # ν΄λΉ νμ΄μ§ μ μ© μ»€μ€ν
ν
β β β£ π utils # ν΄λΉ νμ΄μ§ μ μ© μ νΈ (νμΌ λ¨μ λΆλ¦¬)
β β β£ π types # ν΄λΉ νμ΄μ§ μ μ© νμ
β β β£ π constants # ν΄λΉ νμ΄μ§ μ μ© μμ
β β β£ π layout.tsx # νμ΄μ§ κ³΅ν΅ λ μ΄μμ
β β β π page.tsx # ν΄λΉ νμ΄μ§ μνΈλ¦¬ νμΌ
β£ π assets # μ μ μμ° (μ΄λ―Έμ§ λ±) κ΄λ¦¬
β£ π components # κ³΅ν΅ UI μ»΄ν¬λνΈ κ΄λ¦¬
β£ π constants # νλ‘μ νΈ μ μμμ μ¬μ©νλ μμ
β£ π styles # μ€νμΌ κ΄λ ¨ μ€μ λ° κΈλ‘λ² ν
λ§
β π types # μ μ νμ
μ μ- Typescript
- Next.js (14.2.25)
- Tanstack Query
- React Hook Form
- Zod
- Radix UI

