Meeting Assistant is a Django-based application enhanced with Databricks integration for scalable transcription storage, Natural Language Processing (NLP) for transcription analysis, and an analytics dashboard for real-time insights. It supports Zoom, Google Meet, and Microsoft Teams for managing recordings.
- Fetch recordings from Zoom, Google Meet, and Microsoft Teams.
- Transcribe recordings using AWS Transcribe.
- Perform NLP tasks like sentiment analysis and topic extraction on transcription data.
- Store transcription metadata in PostgreSQL and Delta Lake for efficient querying.
- Visualize data trends in an analytics dashboard.
- Django: Web framework for handling APIs, database operations, and view rendering.
- Celery: For asynchronous task processing.
- Databricks: For scalable transcription data storage and analytics.
- Delta Lake: Provides ACID-compliant, scalable data storage on S3.
- Zoom API: Fetch meeting recordings programmatically.
- Google Meet API: Manage and process Google Meet recordings.
- Microsoft Teams API: Integrate Microsoft Teams for recording management.
- AWS S3: Scalable storage for audio files and transcription metadata.
- AWS Transcribe: Automatic transcription of audio recordings.
- Hugging Face Transformers: Sentiment analysis for transcription data.
- Spark NLP: Tokenization and topic extraction.
- HTML/CSS: For rendering the analytics dashboard.
- Python 3.8+
- Redis server (for Celery)
- AWS credentials for S3 and Transcribe
- Databricks account with Delta Lake configured
- Zoom, Google Meet, and Microsoft Teams API credentials
-
Clone the repository:
git clone https://github.com/your-repo/meeting-assistant.git cd meeting-assistant -
Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate -
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
- Create a
.envfile in the root directory and add:AWS_ACCESS_KEY_ID=your-aws-access-key AWS_SECRET_ACCESS_KEY=your-aws-secret-key S3_BUCKET_NAME=your-s3-bucket-name DATABRICKS_HOST=your-databricks-host DATABRICKS_TOKEN=your-databricks-token ZOOM_API_KEY=your-zoom-api-key GMEET_CLIENT_ID=your-google-client-id TEAMS_API_KEY=your-teams-api-key CELERY_BROKER_URL=redis://localhost:6379/0
- Create a
-
Run database migrations:
python manage.py makemigrations python manage.py migrate
-
Start the server:
python manage.py runserver
-
Start the Celery worker:
celery -A mili_project worker --loglevel=info
-
Process recordings from a platform (Zoom, Google Meet, or Teams):
- Trigger tasks via Celery to fetch and process recordings.
- Transcriptions and metadata will be stored in Delta Lake and PostgreSQL.
-
View analytics:
- Access the analytics dashboard at
/analytics/. - Insights include platform usage trends and sentiment analysis.
- Access the analytics dashboard at
from zoom_app.tasks import process_recordings
# Example for Zoom
platform = "Zoom"
meeting_id = "example_zoom_meeting"
access_token = "example_access_token"
process_recordings.delay(platform, meeting_id, access_token)# Query analytics data
from databricks_utils import query_delta_table
data = query_delta_table("s3://your-bucket-name/meetings/")
data.show()Run the tests to validate the application:
python manage.py test- Support additional video conferencing platforms.
- Extend NLP processing to include summarization and entity extraction.
- Add role-based authentication for better user management.
- Real-time transcription monitoring with WebSockets.
- Scalable data storage with Databricks and Delta Lake.
- NLP tasks for sentiment analysis and topic extraction.
- Analytics dashboard for transcription insights.
- Asynchronous task processing with Celery.
Let me know if you need additional help or have further questions! 🚀