Maia/backend/README.md

2.2 KiB

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

Endpoints

Auth

  • POST /api/auth/register - Register new user
  • POST /api/auth/login - Login (returns JWT)
  • POST /api/auth/refresh - Refresh access token
  • GET /api/auth/me - Get current user

Meetings

  • POST /api/meetings/upload - Upload audio + trigger processing
  • GET /api/meetings - List meetings
  • GET /api/meetings/{id} - Get meeting details
  • GET /api/meetings/{id}/status - Get processing status
  • GET /api/meetings/{id}/analyses - Get all analyses
  • GET /api/meetings/{id}/analyses/{type} - Get specific analysis
  • PUT /api/meetings/{id}/participants/{label} - Update speaker name
  • DELETE /api/meetings/{id} - Delete meeting

WebSocket

  • WS /ws/meetings/{meeting_id} - Real-time status updates

Health

  • GET /health - Health check

Processing Pipeline

  1. Audio uploaded → saved to storage/
  2. Celery task queued
  3. Audio sent to Whisper for diarized transcription
  4. Transcription sent to Ollama for parallel analyses:
    • minutes - Structured meeting minutes
    • sentiment - Emotional tone analysis
    • psychological - Behavioral patterns
    • communication - Communication quality feedback
    • summary - Executive summary
  5. Status updated to completed
  6. 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