# h-lab 유튜브 데이터를 수집하고 분석하는 개인용 웹 서비스입니다. Spring Boot 4.x(3.4.0) 기반의 백엔드와 React + Vite 기반의 프론트엔드로 구성되어 있습니다. ## 🛠 Tech Stack ### Backend - **Framework**: Spring Boot 3.4.0 (Java 21) - **Database**: H2 (Development), JPA - **API Docs**: Swagger UI (SpringDoc) - **Architecture**: Domain-Driven Design style ### Frontend - **Framework**: React 18 (Vite) - **Language**: TypeScript - **Styling**: Vanilla CSS + CSS Variables (Dark Mode) - **State**: Zustand - **Charts**: Recharts ## 🚀 How to Run ### Backend & Frontend (Integrated) 1. `backend` 디렉토리로 이동 2. `./gradlew bootRun` 실행 (Windows: `gradlew bootRun`) 3. 웹 서비스 접속: `http://localhost:8080` - 메인 대시보드: `http://localhost:8080/` - 채널 관리: `http://localhost:8080/channels` - Swagger UI: `http://localhost:8080/swagger-ui.html` ### Frontend (Legacy React) *Removed in favor of Thymeleaf Server-Side Rendering* ## 📂 Project Structure ``` h-lab/ ├── src/main/java/com/hlab/yanalyst/ │ ├── domain/ # Domain Entities (Video, Channel...) │ └── web/ # Web Controllers (Thymeleaf) │ └── src/main/resources/ ├── static/ # CSS, JS └── templates/ # HTML Templates (Thymeleaf) ``` ## ✨ Key Features - **Dashboard**: 전체 데이터 요약 및 시각화 (Charts) - **Channel Management**: 분석 대상 유튜브 채널 관리 - **Dark Mode**: 눈이 편안한 프리미엄 다크 모드 UI