시작하기
프론트엔드 설치 가이드
React + Vite 개발 서버 실행 방법
1. 디렉터리 이동
cd SCH-WEB-PORTAL/frontend2. 의존성 설치
npm install
# 또는
pnpm install설치되는 주요 패키지:
| 패키지 | 역할 |
|---|---|
react 19 | UI 라이브러리 |
react-router-dom 7 | 클라이언트 라우팅 |
lucide-react | 아이콘 |
vite 8 | 빌드 도구 |
typescript 6 | 타입 안전성 |
3. 개발 서버 실행
npm run devhttp://localhost:5173에서 개발 서버가 실행됩니다.
백엔드 서버(localhost:8000)가 실행 중이어야 로그인 및 API 호출이 동작합니다.
4. 빌드
npm run builddist/ 디렉터리에 정적 파일이 생성됩니다.
API 프록시 설정
개발 중 Vite가 /api/* 요청을 백엔드로 자동 프록시합니다.
// vite.config.ts
server: {
proxy: {
'/api': {
target: 'http://localhost:8000',
changeOrigin: true,
},
},
},디렉터리 구조
frontend/src/
├── App.tsx # 라우팅 정의 (lazy route)
├── types.ts # 전체 TypeScript 타입 정의
├── icons.tsx # 아이콘 컴포넌트
├── data/
│ └── sitemap.ts # 메뉴 구조 및 구현된 항목 목록
└── components/ # 페이지 컴포넌트 (45+개)sitemap.ts 구조
메뉴 구조는 frontend/src/data/sitemap.ts에서 관리됩니다.
SITEMAP— 전체 메뉴 트리 (그룹 → 섹션 → 아이템)IMPLEMENTED_ITEMS— 현재 구현된 메뉴 항목 Set (미구현 항목은 UI에서 비활성화)ITEM_ROUTES— 아이템 ID → 라우트 경로 매핑SECTION_ROUTES— 섹션 ID → 라우트 경로 매핑
새 기능을 추가할 때:
SITEMAP에 메뉴 항목 추가IMPLEMENTED_ITEMS에 항목 ID 추가ITEM_ROUTES에 라우트 경로 추가App.tsx에 lazy import 및<Route>추가components/에 페이지 컴포넌트 생성
ESLint
npm run lint