677a79978f294768636dd1985c56704503780dae
Replace Jsoup-based approach with io.github.thoroldvix:youtube-transcript-api as primary method (supports manual/generated captions, language priority). Playwright head mode kept as fallback when API fails. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
SUNDOL
Smart Unified Natural Dog-Operated Layer
Personal Knowledge House · AI Assistant · Productivity Hub
Features
- Knowledge Ingestion — YouTube, blog, news, raw text 자동 수집 및 처리
- Semantic Search — Oracle 23ai VECTOR 기반 의미 검색
- AI Chat (RAG) — 지식 기반 대화, 출처 인용
- Study Cards (SRS) — SM-2 간격 반복 학습 카드
- Todos — 작업/하위작업 관리
- Habit Tracker — 습관 추적, 스트릭 관리
Tech Stack
| Layer | Technology |
|---|---|
| Backend | Spring Boot 3, Java 21 |
| Frontend | Next.js 14, TypeScript, Tailwind CSS |
| Database | Oracle 23ai (VECTOR support) |
| AI | OCI Generative AI (Cohere / Llama) |
| Auth | Google SSO + JWT |
| Cache | Redis |
Getting Started
# 1. 환경변수 설정
cp .env.sample .env
# .env 파일에 실제 값 입력
# 2. Docker Compose로 실행
docker-compose up -d
# 3. 개별 실행 (Backend)
cd sundol-backend
mvn spring-boot:run
# 4. 개별 실행 (Frontend)
cd sundol-frontend
npm install && npm run dev
Project Structure
sundol/
├── sundol-backend/ # Spring Boot 3
├── sundol-frontend/ # Next.js 14
├── db/migration/ # Flyway SQL scripts
├── docs/ # Specifications
├── docker-compose.yml
├── .env.sample # Environment variable template
└── README.md
자세한 스펙은 docs/SUNDOL_SPEC.md 참조.
Description
Languages
Java
62.1%
TypeScript
33.4%
PLSQL
1.8%
JavaScript
1.6%
Shell
0.9%
Other
0.2%