- PWA React 18 + Vite + TypeScript com gravacao continua e upload de chunks - Backend FastAPI + Celery + PostgreSQL + Redis para processamento assincrono - Diarization API com SpeechBrain ECAPA-TDNN para identificacao de speakers - Integracao com Whisper.cpp GPU (large-v3) para transcricao - Integracao com LLM deepseek-v3.1 para analise de reunioes - Autenticacao SSO via Keycloak - README.md completo com arquitetura, instalacao e configuracao - CHANGELOG.md com historico v1.0.0 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| alembic | ||
| app | ||
| .env.example | ||
| Dockerfile | ||
| README.md | ||
| alembic.ini | ||
| docker-compose.yml | ||
| requirements.txt | ||
README.md
Meeting Assistant API
FastAPI orchestration backend for Meeting Assistant - middleware between Mobile App, Whisper, and Ollama.
Architecture
Mobile App → FastAPI API → Whisper (transcription) + Ollama (AI analysis)
→ PostgreSQL (data) + Redis (queues/cache)
→ Celery Worker (async processing)
Quick Start
cp .env.example .env
docker-compose up -d
docker-compose exec api alembic upgrade head
API Documentation
- Swagger UI: http://localhost:8080/docs
- ReDoc: http://localhost:8080/redoc
Endpoints
Auth
POST /api/auth/register- Register new userPOST /api/auth/login- Login (returns JWT)POST /api/auth/refresh- Refresh access tokenGET /api/auth/me- Get current user
Meetings
POST /api/meetings/upload- Upload audio + trigger processingGET /api/meetings- List meetingsGET /api/meetings/{id}- Get meeting detailsGET /api/meetings/{id}/status- Get processing statusGET /api/meetings/{id}/analyses- Get all analysesGET /api/meetings/{id}/analyses/{type}- Get specific analysisPUT /api/meetings/{id}/participants/{label}- Update speaker nameDELETE /api/meetings/{id}- Delete meeting
WebSocket
WS /ws/meetings/{meeting_id}- Real-time status updates
Health
GET /health- Health check
Processing Pipeline
- Audio uploaded → saved to storage/
- Celery task queued
- Audio sent to Whisper for diarized transcription
- Transcription sent to Ollama for parallel analyses:
minutes- Structured meeting minutessentiment- Emotional tone analysispsychological- Behavioral patternscommunication- Communication quality feedbacksummary- Executive summary
- Status updated to
completed - WebSocket notification sent
Environment Variables
See .env.example for all configuration options.
Development
# View logs
docker-compose logs -f api
# Run migrations
docker-compose exec api alembic upgrade head
# Create new migration
docker-compose exec api alembic revision --autogenerate -m "description"
# Check celery worker
docker-compose logs -f worker