b7588fa3b61ff138d42401e8e0e160667e088b8a
- MemoService.organize() → List<MemoDraft> 반환. 프롬프트를 JSON 배열 출력으로
변경, 서로 다른 주제는 분리·관련 내용은 묶도록 지시. extractJson 배열 대응.
- POST /api/notes/organize → { items: [...] } (save=true면 전부 저장).
- 프론트: 정리 결과를 다중 카드로 표시, 항목별 수정·삭제 + '모두 저장'(카드마다 /memo).
실측: 두서없는 5주제 입력 → 5개 항목(각 PARA 카테고리+GTD 태그)으로 정확히 분리.
Co-Authored-By: Claude Opus 4.8 (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
50.7%
TypeScript
31.7%
JavaScript
13.4%
PLSQL
1.8%
Python
1.4%
Other
0.9%