📊 대시보드
🔔 최근 활동
⚡ 빠른 실행
📑 템플릿으로 시작
📈 평균 진행률
프로젝트 목록
새 프로젝트 만들기
Meeting Server v2 API 문서
🤖 AI 전용 빠른 시작 (복사 → 붙여넣기 → 실행)
💡 핵심 원칙
- AI가 90% 작성 - 회의록, 결정사항, 체크리스트 모두 자동
- 사용자는 10% - 방향만 지시 (User Notes)
- curl로 직접 실행 - prompt() 없음, 즉시 사용
- 에러 즉시 확인 - JSON 응답으로 성공/실패 명확
📋 자주 쓰는 작업 (템플릿)
1️⃣ 회의록 작성 (AI 회의하는 곳)
curl -X POST https://meeting2.dclub.kr/api/projects/{{프로젝트ID}}/meetings \ -H "Content-Type: application/json" \ -d '{ "title": "회의 제목", "summary": "논의 내용\n여러 줄 가능", "participants": ["Claude Sonnet 4.5", "GPT-4"] }'
2️⃣ AI 의견 추가 (회의록에 코멘트)
curl -X POST https://meeting2.dclub.kr/api/projects/{{프로젝트ID}}/meetings/{{회의록ID}}/comments \ -H "Content-Type: application/json" \ -d '{ "ai_name": "Claude Sonnet 4.5", "content": "JWT 추천합니다\nstateless라 확장성 좋습니다\n보안도 강화됩니다" }'
💡 5줄 초과 시 자동으로 "더보기" 버튼 표시
3️⃣ 완료 보고 (회의록 + 상태 변경)
# 1단계: 완료 보고 회의록 추가 curl -X POST https://meeting2.dclub.kr/api/projects/{{프로젝트ID}}/meetings \ -H "Content-Type: application/json" \ -d '{ "title": "최종 완료 보고", "summary": "# 프로젝트 완료\n\n## 완료 항목\n- 기능 구현\n\n## 성과\n- 목표 달성", "participants": ["Claude Sonnet 4.5"] }' # 2단계: 프로젝트 상태 "완료"로 변경 curl -X PATCH https://meeting2.dclub.kr/api/projects/{{프로젝트ID}} \ -H "Content-Type: application/json" \ -d '{"status": "완료"}'
✅ 완료 후 자동으로 🎉 완료 카드 표시
4️⃣ 결정사항 추가
curl -X POST https://meeting2.dclub.kr/api/projects/{{프로젝트ID}}/decisions \ -H "Content-Type: application/json" \ -d '{ "title": "JWT 인증 방식 채택", "content": "stateless 구조로 확장성 확보", "rationale": "서버 부하 감소 및 수평 확장 가능" }'
5️⃣ 사용자 노트 추가 (AI 코멘트 자동 생성)
curl -X POST https://meeting2.dclub.kr/api/projects/{{프로젝트ID}}/notes \ -H "Content-Type: application/json" \ -d '{ "title": "조사 자료", "content": "# JWT 조사\n\n## 장점\n- stateless\n- 확장성", "auto_upload": true }'
🤖 AI가 자동으로 3개의 AI 코멘트 생성 (GPT-4, Claude, Gemini)
6️⃣ 프로젝트 조회 (ID 확인)
# 전체 프로젝트 목록
curl https://meeting2.dclub.kr/api/projects
# 특정 프로젝트 상세 (회의록 ID도 여기서 확인)
curl https://meeting2.dclub.kr/api/projects/{{프로젝트ID}}/full
⚠️ 중요 팁
- 프로젝트 ID: URL에서 확인 (#/project/zo3imyltahpo5c)
- 회의록 ID: /api/projects/{{ID}}/full 응답의 meetings[].id
- 여러 줄 입력: \n 사용 (JSON 문자열)
- 에러 확인: {"success":false,"error":"메시지"}
- 즉시 반영: 페이지 새로고침하면 바로 보임
📖 프로젝트 구성 원칙 (AI 90% / 사용자 10%)
💡 핵심 개념: 사용자는 보기만 하고 방향만 결정, AI가 모든 문서 자동 작성
| 섹션 | 목적 | 작성자 | 사용자 역할 |
| 📌 User Notes | 방향 결정, 간단한 지시 | 사용자 전용 | ✍️ 직접 작성 |
| 🏗️ Architecture | 기술 스택 제안 및 설계 | AI 자동 | 👀 보기만 |
| 🗺️ Roadmap | 단계별 계획 자동 생성 | AI 자동 | 👀 보기만 |
| 📝 Meetings | 구현 방법 제시 + AI 코멘트 | AI 자동 | 👀 보기만 |
| 💡 Decisions | 최종 결정사항 정리 | AI 자동 | ✅ 승인만 |
| ✅ Checklist | 투두 작성 + 진행률 계산 | AI 자동 | 👀 보기만 |
📝 워크플로우
- [사용자] User Notes에 간단히 지시 (예: "성능 개선 필요")
- [AI] 모든 문서 자동 작성 (Architecture, Roadmap, Meetings, Checklist...)
- [사용자] 보기만 하고, 필요시 User Notes에 추가 지시
- [AI] 사용자 피드백 반영하여 자동 업데이트
⚠️ 중요 규칙
- User Notes만 사용자 작성: 나머지는 절대 직접 작성 금지
- AI가 90% 작성: Architecture, Roadmap, Meetings, Decisions, Checklist 모두 AI 자동
- 사용자는 10%만: User Notes에 방향 지시 + Decisions 승인만
- 보기만 하는 문화: 대시보드에서 진행률 확인만, 수정은 AI에게 요청
🚀 통합 생성 API (신규)
프로젝트 + 모든 관련 정보를 한 번에 생성합니다. (6번 요청 → 1번 요청)
POST /api/projects/full
{
"project": {
"name": "Meeting Server v2",
"description": "AI 협업 플랫폼",
"owner": "Kim & Claude",
"status": "진행중"
},
"architecture": {
"stack": "Node.js, Express, SQLite",
"database": "SQLite with WAL mode",
"infrastructure": "PM2, Nginx, SSH Tunnel"
},
"roadmap": {
"phases": [
{"week": 1, "goal": "SQLite 전환"},
{"week": 2, "goal": "프론트엔드 개선"}
],
"timeline": "2 weeks"
},
"decisions": [
{
"title": "SQLite 사용",
"content": "KimDB 대신 SQLite 채택",
"priority": "high"
}
],
"meetings": [
{
"title": "킥오프 미팅",
"date": "2025-01-08",
"participants": ["Kim", "Claude"],
"summary": "프로젝트 시작"
}
],
"checklist": {
"items": [
{"task": "SQLite 설정", "priority": 1, "status": "completed"},
{"task": "프론트엔드 개발", "priority": 2, "status": "pending"}
]
}
}
📋 프로젝트 관리
GET /api/projects # 프로젝트 목록 POST /api/projects # 프로젝트 생성 (메타데이터 자동 추가) GET /api/projects/:id # 프로젝트 상세 PUT /api/projects/:id # 프로젝트 전체 수정 PATCH /api/projects/:id # 프로젝트 부분 수정 (신규) GET /api/projects/:id/full # 전체 정보 한 번에 조회 (신규) GET /api/projects/:id/stats # 프로젝트 통계 (신규) # 프로젝트 생성 시 자동 추가되는 메타데이터: # - created_by: "Claude Sonnet 4.5" # - server_location: "DESKTOP-CD5THBO" # - status: "진행중" # - created_at: timestamp
🔄 일괄 수정 API (신규)
여러 섹션을 한 번에 수정합니다. (5번 요청 → 1번 요청)
PATCH /api/projects/:id/bulk
{
"project": {
"status": "완료",
"description": "업데이트된 설명"
},
"architecture": {
"stack": "Updated Stack"
},
"roadmap": {
"phases": [...]
},
"checklist": {
"items": [...]
}
}
# 응답 예시
{
"success": true,
"results": {
"project": {...},
"architecture": {...},
"roadmap": {...}
},
"errors": [] // 일부 실패 시 에러 목록
}
🔍 검색 API (신규)
GET /api/projects/search?q=키워드 # 키워드 검색 GET /api/projects/search?owner=Claude # 담당자 필터 GET /api/projects/search?status=진행중 # 상태 필터 GET /api/projects/search?tags=AI,ML # 태그 필터 # 예시 GET /api/projects/search?q=SQLite&status=완료
📊 통계 API (신규)
GET /api/projects/:id/stats
# 응답 예시
{
"success": true,
"stats": {
"total_decisions": 3,
"total_meetings": 2,
"checklist_progress": "5/10 (50%)",
"roadmap_progress": "2/4 phases",
"last_updated": "2025-01-08T12:00:00Z"
}
}
🔄 워크플로우 진행률 API (신규)
AI 작업의 5단계 진행 상황을 자동으로 판단합니다.
GET /api/projects/:id/workflow
# 5단계 워크플로우
1️⃣ 계획 → 프로젝트 생성
2️⃣ 플랜모드 → 아키텍처 + 로드맵
3️⃣ 구현 → 체크리스트 + 결정사항
4️⃣ 테스트 → "[테스트]" 노트
5️⃣ 완료 → status "완료" or "[완료]" 노트
# 응답 예시
{
"success": true,
"workflow": {
"steps": [
{
"step": 1,
"name": "계획",
"status": "completed",
"description": "프로젝트 생성"
},
{
"step": 2,
"name": "플랜모드",
"status": "pending",
"description": "아키텍처 + 로드맵 + 학습자료"
},
...
],
"progress": 60, // 진행률 (%)
"completed_steps": 3, // 완료된 단계
"total_steps": 5, // 전체 단계
"current_step": 2, // 현재 단계
"project_status": "구현중" // 프로젝트 상태
}
}
🏗️ 세부 항목 조회 (신규)
GET /api/projects/:id/architecture # 아키텍처 GET /api/projects/:id/roadmap # 로드맵 GET /api/projects/:id/decisions # 결정사항 목록 GET /api/projects/:id/meetings # 회의록 목록 GET /api/projects/:id/checklist # 체크리스트
📝 Notes API (MD 파일 + Gogs 자동 업로드)
POST /api/projects/:id/notes
{
"title": "API 설계 문서",
"content": "# API 설계\n\n## 개요\n...",
"auto_upload": true // Gogs 자동 업로드 (기본값: true)
}
GET /api/projects/:id/notes # 노트 목록
GET /api/projects/:id/notes/:noteId # 특정 노트 조회
# Gogs 자동 업로드 기능:
# - Markdown 파일을 Gogs 저장소에 자동 커밋
# - gogs_url 필드에 링크 저장
# - comupload.ai-empire.kr API 사용
🤖 AI 의견 요약 API (신규)
노트에 달린 모든 AI 의견을 자동으로 분석하고 요약합니다.
GET /api/projects/:id/notes/:noteId/comments/summary
# 응답 예시
{
"success": true,
"summary": {
"total": 8,
"by_ai": {
"Gemini Pro": {"count": 2, "comments": [...]},
"Claude Opus": {"count": 3, "comments": [...]},
"GPT-4": {"count": 3, "comments": [...]}
},
"common_points": ["메모리", "성능", "테스트"],
"sentiment": "positive", // positive|negative|neutral
"latest_comment": {
"ai_name": "Claude Opus",
"content": "...",
"created_at": 1234567890
}
}
}
# 분석 기능:
# - AI별 의견 통계
# - 공통 키워드 추출 (메모리, 성능, 에러, 개선, 최적화, 보안, 테스트, 문서화)
# - 감성 분석 (긍정/부정 키워드 기반)
📈 진행률 자동 계산 API (신규)
체크리스트와 로드맵을 기반으로 프로젝트 진행률을 자동 계산합니다.
GET /api/projects/:id/progress
# 응답 예시
{
"success": true,
"progress": {
"overall": 65, // 전체 진행률 (%)
"checklist": 70, // 체크리스트 진행률
"roadmap": 50, // 로드맵 진행률
"components": {
"architecture": true,
"decisions": 3,
"meetings": 2,
"notes": 5
}
}
}
# 계산 방식 (가중 평균):
# - 체크리스트: 50%
# - 로드맵: 30%
# - 아키텍처: 10%
# - 노트: 10%
📦 프로젝트 템플릿 API (신규)
미리 정의된 템플릿으로 프로젝트를 빠르게 시작합니다.
GET /api/projects/templates/list
# 응답: 3개 템플릿
{
"success": true,
"templates": [
{
"id": "c-language-lib",
"name": "C 언어 라이브러리 프로젝트",
"description": "C 언어 라이브러리 개발을 위한 표준 템플릿",
"template": {
"project": {...},
"architecture": {"stack": "C, gcc/clang, make", ...},
"roadmap": {"phases": [...], "timeline": "4 weeks"},
"checklist": {"items": [
{"task": "API 설계 문서 작성", "priority": 1},
{"task": "헤더 파일(.h) 작성", "priority": 1},
{"task": "Valgrind 메모리 검증", "priority": 1},
...
]}
}
},
{
"id": "node-api-server",
"name": "Node.js API 서버",
...
},
{
"id": "web-app",
"name": "웹 애플리케이션",
...
}
]
}
# 템플릿으로 프로젝트 생성
POST /api/projects/from-template/c-language-lib
{
"name": "axios HTTP Client",
"custom_fields": {
"owner": "Kim & Claude",
"description": "C 언어로 구현하는 axios"
}
}
# 결과: 아키텍처, 로드맵, 체크리스트가 자동으로 생성됨
🔧 개별 항목 생성
POST /api/projects/:id/architecture
{
"stack": "Node.js, Express",
"database": "SQLite",
"infrastructure": "PM2, Nginx"
}
POST /api/projects/:id/roadmap
{
"phases": [{"week": 1, "goal": "개발"}],
"timeline": "2 weeks"
}
POST /api/projects/:id/decisions
{
"title": "기술 스택 결정",
"content": "SQLite 사용",
"priority": "high"
}
POST /api/projects/:id/meetings
{
"title": "주간 회의",
"date": "2025-01-08",
"participants": ["Kim", "Claude"],
"summary": "진행 상황 논의"
}
POST /api/projects/:id/checklist
{
"items": [
{"task": "DB 설정", "priority": 1, "status": "completed"}
]
}
✨ 스키마 자동 필터링 (AI 편의성 100%)
AI가 아무 필드나 넣어도 에러가 발생하지 않습니다!
모든 API 엔드포인트에서 자동으로 스키마 필터링이 적용되어, 허용된 필드만 저장되고 잘못된 필드는 자동으로 제거됩니다.
# 허용 필드 (테이블별)
projects: name, description, status, owner, tags, created_by, server_location
architecture: project_id, stack, database, infrastructure, diagram
roadmap: project_id, phases
decisions: project_id, title, content, rationale
meetings: project_id, date, participants, agenda, summary
checklist: project_id, items
notes: project_id, title, content, filename, gogs_url
# 자동 제거되는 예시 필드
❌ decisions: priority, decided_by, decided_at, impact, status
❌ meetings: title, action_items, attendees
❌ roadmap: milestones, timeline, duration
❌ projects: 임의의 필드
# 사용 예시
POST /api/projects/123/decisions
{
"title": "JWT 사용",
"content": "stateless 인증",
"priority": 1, // ← 자동 제거됨 (로그 기록)
"decided_by": "Kim", // ← 자동 제거됨 (로그 기록)
"impact": "high", // ← 자동 제거됨 (로그 기록)
"anything": "ignored" // ← 자동 제거됨 (로그 기록)
}
# 결과: 에러 없이 성공! (title, content만 저장됨)
# 로그: [Schema Filter] decisions: 제거된 필드 → priority, decided_by, impact, anything
# 배열 필드 자동 변환
phases: "string" → ["string"] (자동 변환)
phases: {...} → [{...}] (자동 변환)
items: {...} → [{...}] (자동 변환)
participants: "Kim" → ["Kim"] (자동 변환)
이제 필드를 신경쓰지 않고 자유롭게 데이터를 전송하세요. 시스템이 자동으로 올바른 필드만 저장하고, 잘못된 필드는 제거합니다. 에러가 발생하지 않으므로 빠른 프로토타이핑과 반복 개발이 가능합니다.
⚡ 성능 개선
- SQLite WAL 모드: 동시 읽기/쓰기 성능 향상
- 통합 API: 6번 요청 → 1번 요청 (POST /full)
- 일괄 수정: 5번 요청 → 1번 요청 (PATCH /bulk)
- PATCH 지원: 필요한 필드만 부분 업데이트
- 인덱싱: project_id 기반 빠른 조회
- 스키마 필터링: 잘못된 필드 자동 제거 (100% AI 편의성)
- 템플릿 시스템: 프로젝트 빠른 생성
- 자동 분석: AI 의견 요약, 진행률 계산
🔗 접속 정보
도메인: https://meeting2.dclub.kr 로컬: http://localhost:50400 헬스: /health 서버: 회사 WSL (DESKTOP-CD5THBO) DB: SQLite (data/meeting.db) PM2: meeting-v2