Skip to content

devchankim/contentsInsightAi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

InsightWorkspace MVP

λ‹Ήμ‹ μ˜ 톡찰에 AI의 λ‚ κ°œλ₯Ό λ‹¬μ•„μ£ΌλŠ” 컨텐츠 기획 νŒŒνŠΈλ„ˆ

개인 μœ νŠœλ²„(정보/μ§€μ‹ν˜•)κ°€ 레퍼런슀 ꡬ쑰와 μžμ‹ μ˜ 관점을 μ„žμ–΄ 촬영 κ°€λŠ₯ν•œ 2-Column λŒ€λ³Έμ„ λΉ λ₯΄κ²Œ λ§Œλ“œλŠ” μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μž…λ‹ˆλ‹€.

핡심 성곡 μ§€ν‘œ: μ œμž‘μ‹œκ°„ 단좕 (κΈ°νšβ†’μ΄ˆμ•ˆ: 30λΆ„ β†’ 10λΆ„)

✨ μ£Όμš” νŠΉμ§•

  • 🎯 레퍼런슀 ꡬ쑰 + λ‚΄ 관점 κ²°ν•©: κ²€μ¦λœ ꡬ쑰에 λ‚˜λ§Œμ˜ μ½˜ν…μΈ λ₯Ό λ‹΄μ•„ 독창성 확보
  • πŸ“Š μΈμ‚¬μ΄νŠΈ μΉ΄λ“œ μ‹œμŠ€ν…œ: 성곡 νŒ¨ν„΄μ„ μΉ΄λ“œλ‘œ μΆ”μΆœν•΄ μ„ νƒμ μœΌλ‘œ 적용
  • πŸ“ 2-Column 슀크립트: Visual(ν™”λ©΄/μžλ§‰) + Audio(λ‚΄λ ˆμ΄μ…˜) ν˜•μ‹μœΌλ‘œ μ¦‰μ‹œ 촬영 κ°€λŠ₯
  • πŸ”„ LLM Provider ꡐ체 κ°€λŠ₯: OpenAI/Anthropic 자유 선택
  • πŸ“€ μ¦‰μ‹œ Export: Markdown λ‹€μš΄λ‘œλ“œ + ν΄λ¦½λ³΄λ“œ 볡사

πŸš€ λΉ λ₯Έ μ‹œμž‘ (Quick Start)

μžλ™ μ„€μΉ˜ (ꢌμž₯)

./setup.sh

μ„€μΉ˜ ν›„:

  1. server/.env νŒŒμΌμ— API ν‚€ μž…λ ₯
  2. 터미널 1: cd server && npm run start:dev
  3. 터미널 2: cd web && npm run dev
  4. λΈŒλΌμš°μ €: http://localhost:5173

μˆ˜λ™ μ„€μΉ˜

1. λ°±μ—”λ“œ μ„€μ •

cd server
npm install
cp .env.example .env
# .env νŒŒμΌμ— OPENAI_API_KEY, ANTHROPIC_API_KEY μž…λ ₯
npx prisma generate
npx prisma migrate dev --name init
npm run start:dev  # http://localhost:3000

2. ν”„λ‘ νŠΈμ—”λ“œ μ„€μ •

cd web
npm install
npm run dev  # http://localhost:5173

πŸ“‚ ν”„λ‘œμ νŠΈ ꡬ쑰

contentsInsightAi/
β”œβ”€β”€ server/                  # NestJS λ°±μ—”λ“œ
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ prisma/         # DB μ—°κ²° (SQLite)
β”‚   β”‚   β”œβ”€β”€ llm/            # LLM Provider (OpenAI/Anthropic)
β”‚   β”‚   β”œβ”€β”€ project/        # ν”„λ‘œμ νŠΈ CRUD
β”‚   β”‚   β”œβ”€β”€ generate/       # 뢄석/λŒ€λ³Έ 생성 둜직
β”‚   β”‚   └── metrics/        # μ„±κ³Ό μΈ‘μ •
β”‚   β”œβ”€β”€ prisma/schema.prisma
β”‚   └── public/             # Vue λΉŒλ“œ κ²°κ³Όλ¬Ό (배포 μ‹œ)
β”‚
β”œβ”€β”€ web/                    # Vue 3 ν”„λ‘ νŠΈμ—”λ“œ
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ views/          # ProjectList, Workspace
β”‚   β”‚   β”œβ”€β”€ api/            # API ν΄λΌμ΄μ–ΈνŠΈ
β”‚   β”‚   └── router/
β”‚   └── dist/               # λΉŒλ“œ μ‚°μΆœλ¬Ό
β”‚
β”œβ”€β”€ setup.sh                # μžλ™ μ„€μΉ˜ 슀크립트
β”œβ”€β”€ DEVELOPMENT.md          # 개발자용 κ°€μ΄λ“œ
β”œβ”€β”€ FEATURES.md             # PM/기획자용 κΈ°λŠ₯ λͺ…μ„Έ
└── README.md

🎯 핡심 κΈ°λŠ₯

1. ν”„λ‘œμ νŠΈ 관리

  • ν”„λ‘œμ νŠΈ 생성/μ—΄κΈ°/μ‚­μ œ
  • 졜근 μˆ˜μ • 순 μ •λ ¬
  • 생성 횟수 ν‘œμ‹œ

2. λΆ„μ„ν•˜κΈ° (μΈμ‚¬μ΄νŠΈ μΉ΄λ“œ 생성)

  • μž…λ ₯: 레퍼런슀 ν…μŠ€νŠΈ + λ‚΄ λ©”λͺ¨
  • 좜λ ₯: ꡬ쑰(Hook/Body/Turn/Conclusion) + μΈμ‚¬μ΄νŠΈ μΉ΄λ“œ(5~10개)
  • ν™œμš©: μΉ΄λ“œ 선택/ν•΄μ œλ‘œ λŒ€λ³Έμ— 반영

3. λŒ€λ³Έ μƒμ„±ν•˜κΈ° (2-Column 슀크립트)

  • μ„€μ •: ν†€μ•€λ§€λ„ˆ(3μ’…) / ν›„ν‚Ή μŠ€νƒ€μΌ(3μ’…) / λͺ©ν‘œ 길이(3/6/10λΆ„)
  • 좜λ ₯: 제λͺ© 후보(5개) + 썸넀일 컨셉(3개) + 2-Column 슀크립트
  • ν˜•μ‹: Visual(ν™”λ©΄/μžλ§‰) | Audio(λ‚΄λ ˆμ΄μ…˜)

4. 리터칭 (λΆ€λΆ„ μˆ˜μ •)

  • 슀크립트 ν–‰ 선택 β†’ "더 짧게 / 더 자극적으둜 / 유머 μΆ”κ°€"
  • μˆ˜μ • κ²°κ³Ό 확인 ν›„ 적용/μ·¨μ†Œ

5. Export

  • Markdown λ‹€μš΄λ‘œλ“œ: 2-Column ν‘œ ν˜•μ‹ μœ μ§€
  • ν΄λ¦½λ³΄λ“œ 볡사: μ¦‰μ‹œ λ‹€λ₯Έ λ„κ΅¬λ‘œ 이동 κ°€λŠ₯

πŸ›  기술 μŠ€νƒ

Backend

  • NestJS (TypeScript)
  • Prisma + SQLite (β†’ Postgres μ „ν™˜ κ°€λŠ₯)
  • OpenAI API (GPT-4o-mini)
  • Anthropic API (Claude-3.5-Sonnet)

Frontend

  • Vue 3 (Composition API)
  • Vite (λΉŒλ“œ 도ꡬ)
  • Axios (HTTP ν΄λΌμ΄μ–ΈνŠΈ)
  • Vue Router (λΌμš°νŒ…)

μ•„ν‚€ν…μ²˜

  • 단일 배포: NestJSκ°€ Vue λΉŒλ“œ κ²°κ³Όλ¬Ό μ„œλΉ™ (초기)
  • 뢄리 κ°€λŠ₯: API 경계 λͺ…ν™•νžˆ 섀계 (λ‚˜μ€‘μ— ν”„λ‘ νŠΈ/λ°± 뢄리 배포 용이)

πŸ“Š μ„±κ³Ό μΈ‘μ • (Dogfooding)

μΈ‘μ • ν•­λͺ©

  • 뢄석 생성 μ‹œκ°„ (generationTimeMs)
  • λŒ€λ³Έ 생성 μ‹œκ°„
  • μž¬μƒμ„± 횟수
  • 토큰 μ‚¬μš©λŸ‰ (tokensUsed)

API

# ν”„λ‘œμ νŠΈλ³„ λ©”νŠΈλ¦­
GET /api/metrics/project/:id

# 전체 λ©”νŠΈλ¦­
GET /api/metrics/summary

πŸ“¦ ν”„λ‘œλ•μ…˜ 배포

단일 배포 (NestJSκ°€ Vue μ„œλΉ™)

# 1. Vue λΉŒλ“œ β†’ server/public/둜 볡사
cd web
npm run build:deploy

# 2. NestJS λΉŒλ“œ 및 μ‹€ν–‰
cd ../server
npm run build
npm run start:prod

β†’ http://localhost:3000 (API + μ›Ή λͺ¨λ‘ μ„œλΉ™)

ν™˜κ²½ λ³€μˆ˜ (ν”„λ‘œλ•μ…˜)

PORT=3000
NODE_ENV=production
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
DATABASE_URL="file:./prod.db"  # λ˜λŠ” Postgres URL

πŸ—Ί 개발 λ‘œλ“œλ§΅

βœ… 0~2μ£Ό: Dogfooding MVP (μ™„λ£Œ)

  • NestJS + Vue 단일 배포 ꡬ쑰
  • SQLite + Prisma 데이터 λͺ¨λΈ
  • OpenAI/Anthropic LLM Provider
  • 뢄석 API (μΈμ‚¬μ΄νŠΈ μΉ΄λ“œ)
  • λŒ€λ³Έ 생성 API (2-Column)
  • 3λΆ„ν•  Workspace UI
  • 리터칭 κΈ°λŠ₯
  • Markdown Export
  • μ„±κ³Ό μΈ‘μ • λ‘œκΉ…

🚧 2~4μ£Ό: μ œμž‘μ‹œκ°„ 단좕 체감 κ°•ν™”

  • 생성 νžˆμŠ€ν† λ¦¬/버전 비ꡐ
  • 프리셋 ν’ˆμ§ˆ 고도화 (ν”„λ‘¬ν”„νŠΈ νŠœλ‹)
  • PDF Export
  • Progressive disclosure UX
  • μž…λ ₯ κ°€μ΄λ“œ (κΈ€μžμˆ˜/ν’ˆμ§ˆ)

πŸ“… ν–₯ν›„ κ³„νš

  • 유튜브 URL μžλ™ μžλ§‰ μΆ”μΆœ (μ •μ±…/리슀크 κ²€ν†  ν›„)
  • 썸넀일 이미지 생성 (DALL-E/Midjourney 연동)
  • 채널별 λ§žμΆ€ν˜• RAG (μ‚¬μš©μž 채널 ν•™μŠ΅)
  • μ‡ΌμΈ  λ³€ν™˜ (κΈ΄ μ˜μƒ β†’ 1λΆ„ μ‡ΌμΈ  λŒ€λ³Έ)
  • ν˜‘μ—… κΈ°λŠ₯ (곡유/μ½”λ©˜νŠΈ)

πŸ“š λ¬Έμ„œ

  • DEVELOPMENT.md: 개발자용 상세 κ°€μ΄λ“œ (DB μŠ€ν‚€λ§ˆ, API, ν™•μž₯ 방법)
  • FEATURES.md: PM/기획자용 κΈ°λŠ₯ λͺ…μ„Έ (화면별 κΈ°λŠ₯, ν™•μž₯ 포인트)

🀝 κΈ°μ—¬

이 ν”„λ‘œμ νŠΈλŠ” MVP λ‹¨κ³„μž…λ‹ˆλ‹€. ν”Όλ“œλ°±/이슈/PR ν™˜μ˜ν•©λ‹ˆλ‹€!

πŸ“„ λΌμ΄μ„ μŠ€

MIT

πŸ™ 운영 μ •μ±…

  • ν”„λΌμ΄λ²„μ‹œ: μ‚¬μš©μž μž…λ ₯ ν…μŠ€νŠΈλŠ” 생성 λͺ©μ μœΌλ‘œλ§Œ μ‚¬μš© (LLM λͺ¨λΈ ν•™μŠ΅ X)
  • μ €μž‘κΆŒ: λ ˆνΌλŸ°μŠ€λŠ” ꡬ쑰/μ „κ°œ 참고용, λ¬Έμž₯ 볡제 μ§€μ–‘ (ν”„λ‘¬ν”„νŠΈμ— λͺ…μ‹œ)

문의: 이슈 νƒ­ λ˜λŠ” PR둜 연락 μ£Όμ„Έμš”.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors