# πŸŽ™οΈ 5λΆ„λ§Œμ— μ‹œμž‘ν•˜κΈ° > 회의 λ…ΉμŒ ν•œ 번으둜 νšŒμ˜λ‘κΉŒμ§€ μžλ™ μž‘μ„±ν•˜λŠ” 개인용 λ„κ΅¬μž…λ‹ˆλ‹€. **본인 λ…ΈνŠΈλΆμ—μ„œ 직접 μ‹€ν–‰**ν•˜λ©°, λ°μ΄ν„°λŠ” 본인 λ¨Έμ‹ μ—λ§Œ μ €μž₯λ©λ‹ˆλ‹€. ## 사전 μ€€λΉ„ (1λΆ„) - [Docker Desktop](https://docs.docker.com/get-docker/) μ„€μΉ˜ - Chrome λΈŒλΌμš°μ € (Web Speech API ν•„μš”) - (선택) Gemini API ν‚€ β€” 없어도 λ‹¨μˆœ λ³€ν™˜μ€ λ™μž‘ ## μ„€μΉ˜ (3λΆ„) ```bash # 1. μ½”λ“œ λ°›κΈ° git clone https://github.com/nad4-su/meeting-minutes.git cd meeting-minutes # 2. ν™˜κ²½ μ„€μ • β€” .env 파일 μƒμ„±ν•˜κ³  λΉ„λ°€λ²ˆν˜Έλ§Œ μ±„μš°λ©΄ 끝 cp .env.example .env cat <> .env # μžλ™ μƒμ„±λœ κ°•λ ₯ν•œ λΉ„λ°€λ²ˆν˜Έ EOF PASS=$(openssl rand -base64 24 | tr -d '=+/' | head -c 24) echo "POSTGRES_PASSWORD=$PASS" >> .env echo "DATABASE_URL=postgresql://meetinguser:$PASS@localhost:5432/meetingminutes" >> .env # 3. DB μ΄ˆκΈ°ν™” + μ•± 기동 docker compose --profile tools run --rm migrate docker compose up -d ``` λΈŒλΌμš°μ € β†’ http://127.0.0.1:3000 ## Gemini AI μš”μ•½ 켜기 (1λΆ„, 선택) 1. https://aistudio.google.com/apikey 접속 (Google 계정 ν•„μš”) 2. **Create API Key** 클릭 β†’ ν‚€ 볡사 3. μ•± μš°μƒλ‹¨ **βš™οΈ μ„€μ •** β†’ ν‚€ λΆ™μ—¬λ„£κΈ° β†’ πŸ’Ύ μ €μž₯ β†’ πŸ§ͺ ν…ŒμŠ€νŠΈ 호좜 > πŸ”’ ν‚€λŠ” **본인 λΈŒλΌμš°μ €μ—λ§Œ** μ €μž₯λ©λ‹ˆλ‹€ (μ„œλ²„ DB / λ‹€λ₯Έ μ‚¬λžŒκ³Ό 곡유 X). 무료 λ“±κΈ‰ ν•œλ„λŠ” 개인 μ‚¬μš©μ— μΆ©λΆ„ν•©λ‹ˆλ‹€ (λΆ„λ‹Ή 15건, 일일 1000건). ## κΈ°λ³Έ μ‚¬μš©λ²• | ν™”λ©΄ | 단좕 μ•‘μ…˜ | |---|---| | `/` (ν™ˆ) | 🎀 λ…ΉμŒ μ‹œμž‘ β†’ μžλ™ ν…μŠ€νŠΈν™” β†’ μžλ™ μš”μ•½ β†’ πŸ“Œ μ €μž₯ | | `/meetings` | μ €μž₯된 회의둝 λͺ©λ‘, 검색, λ―Έμ™„λ£Œ μ•‘μ…˜ μœ„μ ― | | `/meetings/[id]` | βœ… μ•‘μ…˜ 체크 ν† κΈ€, ✏️ νŽΈμ§‘, πŸ“‹ Docs용 볡사, πŸ—‘οΈ μ‚­μ œ | | `/settings` | API ν‚€ 관리 | ### μΆ”μ²œ 흐름 1. ν™ˆμ—μ„œ 제λͺ© μž…λ ₯ (선택) 2. ν…œν”Œλ¦Ώ 선택 β€” 회의둝 / κ°•μ˜ / 1:1 / λΈŒλ ˆμΈμŠ€ν† λ° / 인터뷰 / 원문 정리 3. **🎀 λ…ΉμŒ μ‹œμž‘** β†’ λ°œν™” β†’ μ’ŒμΈ‘μ— ν…μŠ€νŠΈ μŒ“μ΄κ³  μš°μΈ‘μ— 30μ΄ˆλ§ˆλ‹€ 쀑간 회의둝 κ°±μ‹  4. **λ…ΉμŒ 쀑지** β†’ μ΅œμ’… 회의둝 μžλ™ 생성 5. **πŸ“Œ μ €μž₯** β†’ μ•‘μ…˜ μ•„μ΄ν…œ μžλ™ μΆ”μΆœλ˜μ–΄ 체크리슀트 λ“±μž₯ 6. ν•„μš”ν•˜λ©΄ **πŸ“‹ Docs용** λ²„νŠΌμœΌλ‘œ Google Docs에 μ„œμ‹ κ·ΈλŒ€λ‘œ λΆ™μ—¬λ„£κΈ° ## ⚠️ μ‚¬μš© μ „ μ•Œμ•„λ‘˜ 것 β€” κ°œμΈμ •λ³΄ / λ³΄μ•ˆ ### μ™ΈλΆ€λ‘œ μ „μ†‘λ˜λŠ” 데이터 - **μŒμ„±** β†’ Chrome Web Speech API β†’ **Google μ„œλ²„** (Chrome 자체 λ™μž‘) - **transcript** β†’ Gemini AI μš”μ•½ ν™œμ„±ν™” μ‹œ β†’ **Google μ„œλ²„** - λ°μ΄ν„°λŠ” 본인 λ¨Έμ‹ κ³Ό Google μ™Έμ—λŠ” 어디에도 κ°€μ§€ μ•ŠμŒ ### 사내 μ •μ±… 확인 ν•„μš” λ‹€μŒ λ‚΄μš©μ΄ νšŒμ˜μ— ν¬ν•¨λ˜λ©΄ **μ‚¬μš© 보λ₯˜ λ˜λŠ” λ‹¨μˆœ λ³€ν™˜ λͺ¨λ“œλ§Œ μ‚¬μš©**: - 미곡개 사업 정보 / μ „λž΅ - 인사 / 평가 정보 - 고객 κ°œμΈμ •λ³΄ - λ³΄μ•ˆ / μ»΄ν”ŒλΌμ΄μ–ΈμŠ€ 데이터 ### λ‹¨μˆœ λ³€ν™˜ λͺ¨λ“œ (μ˜€ν”„λΌμΈ μ•ˆμ „) - API ν‚€ 없이도 λ™μž‘ β€” λ³€ν™˜ λͺ¨λ“œμ—μ„œ **`λ‹¨μˆœ λ³€ν™˜`** 선택 - transcriptλ₯Ό λ§ˆν¬λ‹€μš΄ ν˜•μ‹μœΌλ‘œ μ •λ¦¬λ§Œ 함, μ™ΈλΆ€ 호좜 μ—†μŒ - 단, **λ…ΉμŒ μžμ²΄λŠ” Chrome이 Google둜 보냄** β€” μ™„μ „ μ˜€ν”„λΌμΈμ΄ ν•„μš”ν•˜λ©΄ 이 도ꡬ μ‚¬μš© μ•ˆ ꢌμž₯ ## 자주 μ“°λŠ” λͺ…λ Ή ```bash # 둜그 보기 docker compose logs -f app # 잠깐 끄기 (데이터 μœ μ§€) docker compose down # λ‹€μ‹œ 켜기 docker compose up -d # μ½”λ“œ μ—…λ°μ΄νŠΈ λ°›κΈ° git pull docker compose --profile tools run --rm migrate # λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ μžˆμ„ μ‹œ docker compose up -d --build # 데이터 λ°±μ—… docker compose exec db pg_dump -U meetinguser meetingminutes > backup-$(date +%Y%m%d).sql # μ™„μ „ μ‚­μ œ (회의둝 λͺ¨λ‘ μžƒμŒ) docker compose down -v ``` ## 도움 / ν”Όλ“œλ°± - πŸ‘€ λ©”μΈν…Œμ΄λ„ˆ: [@nad4-su](https://github.com/nad4-su) - πŸ› 이슈 / κΈ°λŠ₯ μ œμ•ˆ: [GitHub Issues](https://github.com/nad4-su/meeting-minutes/issues) - πŸ“‹ **μ‹€μ‚¬μš© ν”Όλ“œλ°± (적극 ν™˜μ˜)**: [Issue #10](https://github.com/nad4-su/meeting-minutes/issues/10) - πŸ“– μžμ„Έν•œ λ³΄μ•ˆ λͺ¨λΈ: [SECURITY.md](../SECURITY.md) - πŸ—ΊοΈ λ‘œλ“œλ§΅: [docs/ROADMAP.md](ROADMAP.md) --- **ν•œ 쀄 μš”μ•½**: 본인 λ…ΈνŠΈλΆμ—μ„œ `docker compose up`만 ν•˜λ©΄ μ‹œμž‘. 회의 λ°μ΄ν„°λŠ” 본인 λ¨Έμ‹ μ—λ§Œ μ €μž₯. 민감 νšŒμ˜λŠ” 사내 μ •μ±… λ¨Όμ € 확인.