joungmin 1088b23790 Add Notes, Voice Clone TTS, fix auth persistence and maxTokens
Notes:
- notes table with TEXT/AUDIO types, category support
- Audio upload → OpenRouter Gemini STT → OCI GenAI polish/summary
- Raw STT saved separately in raw_content column
- Polish/summary button for manual re-processing
- Async processing with real-time polling

Voice Clone TTS:
- Qwen3-TTS 1.7B model on A10 GPU via FastAPI server
- Voice profile registration (record/upload → save embedding)
- Profile-based TTS generation API
- TTS web page with recording, profile management, generation

Auth fixes:
- Store both access + refresh tokens in localStorage
- Initialize state from localStorage synchronously (no flash)
- Request interceptor reads token from localStorage every request
- Refresh via body (not just cookie)

Other fixes:
- maxTokens 4096 → 65536 (OCI GenAI Gemini supports up to 65536)
- Fix broken Korean chars in source files
- OpenRouter config for STT
- ffmpeg installed for audio conversion
- Ollama + Gemma 4 E4B installed (STT fallback)
- nginx proxy for TTS server (/api/tts/)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 07:34:18 +00:00

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
SUNDOL - Smart Unified Natural Dog-Operated Layer
Readme 598 KiB
Languages
Java 49.4%
TypeScript 31.9%
JavaScript 14.2%
PLSQL 2%
Python 1.5%
Other 1%