Reactμ TypeScript, TailwindCSSλ₯Ό νμ©νμ¬ μ μλ κ°μΈ ν¬νΈν΄λ¦¬μ€ μ¬μ΄νΈμ λλ€. νλ‘μ νΈ μκ°, κΈ°μ μ€ν, λ€ν¬λͺ¨λ μ§μ λ° λ°μν λμμΈ λ±μ ꡬννμμ΅λλ€.
μμ λ§μ λ μ°½μ μ΄κ³ κ°μ± μλ ν¬νΈν΄λ¦¬μ€ μΉμ¬μ΄νΈλ₯Ό ꡬμΆνκ³ μ νμ΅λλ€. κΈ°μ‘΄μ μ ννλ ν¬νΈν΄λ¦¬μ€ ν νλ¦Ώμ΄ μλ, μ§μ μνλ λμμΈκ³Ό κΈ°λ₯μ μμ λ‘κ² κ΅¬νν μ μλ κ°μΈ λ§μΆ€ν μΉμ¬μ΄νΈλ₯Ό λ§λ€κΈ° μν΄ Reactμ TypeScriptλ₯Ό μ ννμμ΅λλ€.
- λ°μν λμμΈ: λ€μν νλ©΄ ν¬κΈ°(λ°μ€ν¬ν, λͺ¨λ°μΌ)μ μ΅μ νλ νλ©΄μ μ 곡ν©λλ€.
- λ€ν¬λͺ¨λ/λΌμ΄νΈλͺ¨λ μ ν: μ¬μ©μ μμ€ν μ€μ λλ μλ μ νμ ν΅ν΄ ν λ§ μ νμ μ§μν©λλ€.
- νλ‘μ νΈ μμΈ μκ°: νλ‘μ νΈ μΉ΄λ ν΄λ¦ μ λͺ¨λ¬μ°½μμ λ§ν¬λ€μ΄ νμμ μμΈ μ€λͺ μ΄ λνλ©λλ€.
- μ€ν¬λ‘€μ λ°λ₯Έ μΉμ νμ±ν νμ: νμ΄μ§ λ΄λΉκ²μ΄μ κ³Ό νμ¬ λ³΄κ³ μλ μΉμ μ΄ μλμΌλ‘ λκΈ°νλ©λλ€.
μ΄λ² νλ‘μ νΈλ₯Ό ν΅ν΄ Reactμ ν΅μ¬ κ°λ μΈ μ»΄ν¬λνΈ κΈ°λ°μ μν€ν μ², μν κ΄λ¦¬, κ·Έλ¦¬κ³ TSXλ₯Ό νμ©ν μ§κ΄μ μΈ UI κ°λ° λ°©μμ κ²½νν μ μμμ΅λλ€. Reactμ κ°μ DOMμ μ΄μ©ν ν¨μ¨μ μΈ λ λλ§ λ°©μμ λ°°μ°κ³ , useStateμ useEffect κ°μ ν μ μ¬μ©νμ¬ μν κ΄λ¦¬μ μλͺ μ£ΌκΈ° κ΄λ¦¬λ₯Ό μ΄ν΄ν μ μμμ΅λλ€. λν Reactμ TypeScriptλ₯Ό ν¨κ» μ¬μ©νμ¬ μ½λμ κ°λ μ±κ³Ό μμ μ±μ λμ΄κ³ , μ μ§λ³΄μ λ° νμ₯μ± λ©΄μμλ κ°λ ₯ν μ₯μ μ νμΈν μ μμμ΅λλ€.
- νλ©΄ ꡬμ±
Β
- νλ‘μ νΈ μμΈλ³΄κΈ°
Β
- λ€ν¬λͺ¨λ
- React & TypeScript: μ»΄ν¬λνΈ κΈ°λ°μ ꡬ쑰, νμ μμ μ± μ 곡
- TailwindCSS & shadcn/ui: λΉ λ₯Έ κ°λ° μλμ μ μ§λ³΄μ κ°λ₯ν μ€νμΌ κ΄λ¦¬
- motion/react: μ λλ©μ΄μ λ° μΈν°λν°λΈ UI ꡬν
- GitHub Actions: GitHub Pagesλ₯Ό ν΅ν μλ λ°°ν¬
src
βββ components
β βββ MobileDropdown.tsx
β βββ ProjectCard.tsx
β βββ ProjectDialog.tsx
β βββ ToggleDark.tsx
β
βββ data
β βββ project-data.ts
β βββ section-data.ts
β
βββ hooks
β βββ useSectionObserver.ts
β
βββ layout
β βββ Footer.tsx
β βββ Header.tsx
β
βββ sections
β βββ HeroSection.tsx
β βββ ProjectSection.tsx
β βββ SkillSection.tsx
β
βββ App.tsx
- GitHub Pages μλ λ°°ν¬ (GitHub Actions μ΄μ©)
- URL: ν¬νΈν΄λ¦¬μ€ μΉμ¬μ΄νΈ
git clone https://github.com/HS-0914/Portfolio.git
cd Portfolio
npm installnpm run devnpm run buildμλ λ°°ν¬λ GitHub Actionsμμ κ΄λ¦¬λ©λλ€.
- μνμ (gudtn2238@gmail.com)

