React + TypeScript 기반의 모던한 팀 프로젝트 쇼케이스 플랫폼입니다.
index.tsx: 앱 진입점App.tsx: 라우팅 및 기본 레이아웃 설정types.ts: TypeScript 인터페이스 정의data/: 프로젝트 데이터가 담긴 JSON 파일 보관components/: Navbar, Card, Tag 등 재사용 가능한 UI 컴포넌트pages/: 홈, 목록, 상세 페이지
- React 18: 최신 버전의 React 사용
- Tailwind CSS: 유틸리티 우선 스타일링
- React Router (HashRouter): GitHub Pages 환경에 최적화된 라우팅
- TypeScript: 타입 안정성 확보
- HashRouter 사용: GitHub Pages는 단일 페이지 애플리케이션(SPA)의 경로를 서버단에서 인식하지 못하기 때문에, URL에
#이 포함되는HashRouter를 사용해야 새로고침 시 404 에러를 방지할 수 있습니다. - Vite base 설정: 만약 저장소 이름이
portfolio라면,vite.config.ts에서base: '/portfolio/'설정을 추가해야 정적 자산(JS, CSS, Image) 경로가 올바르게 잡힙니다. - gh-pages 패키지:
npm install gh-pages --save-dev설치 후package.json의 scripts에"deploy": "gh-pages -d dist"를 추가하여 쉽게 배포할 수 있습니다.
data/projects.json 파일에 프로젝트 객체를 추가하거나 수정하면 자동으로 사이트에 반영됩니다. 이미지 경로는 외부 URL이나 public/assets 폴더 내의 상대 경로를 사용할 수 있습니다.