This project is a Node.js application designed to fetch and process data from the Zoom API, including user information, meeting recordings, and meeting summaries. It stores the processed data in local files and integrates with Qdrant for vector search capabilities.
.
├── auth.js
├── config.js
├── server.js
├── utils
│ ├── apiutils.js
│ ├── dateutils.js
│ └── fileutils.js
├── zoomapi.js
└── vector
├── insert.py
└── query.py
auth.js
: Handles OAuth 2.0 authentication with Zoom API.config.js
: Contains configuration settings for the application.server.js
: The main entry point of the application.utils/
: Directory containing utility functions.zoomapi.js
: Core logic for fetching and processing Zoom data.vector/
: Directory containing Python scripts for Qdrant operations.
-
Clone the repository:
git clone https://github.com/ojusave/qdrant_example_zoom.git cd qdrant_example_zoom
-
Install Node.js dependencies:
npm install
-
Install Python dependencies with virtual env:
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt
-
Set up your
config.js
file with the necessary credentials and settings.- Get zoom API credentials from Zoom Marketplace
- Develop -> Build App -> Server to Server OAuth App
- Select these scopes
- Activate your app
- Copy account ID, client ID, and client secret
- Paste into
config.js
- Get zoom API credentials from Zoom Marketplace
-
Run Qdrant Local Quickstart on Docker.
- Download and run Docker Desktop if you don't already have it running.
-
Run the application
node server.js
Edit the config.js
file to include your Zoom API credentials and other settings:
const config = {
accountId: 'YOUR_ACCOUNT_ID',
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET',
zoomApiBaseUrl: 'https://api-endpoint-0f24e0ac73d6.herokuapp.com',
endpointUrl: 'YOUR_ENDPOINT_URL' // Optional: for pushing data to an external service
};
module.exports = config;
To run the application:
node server.js
This will start the process of fetching data from the Zoom API, processing it, saving it to local files, and inserting it into Qdrant. After the data is processed, you can enter queries to search the vector database.
- Fetches user data, meeting recordings, and meeting summaries from Zoom API
- Processes and cleans the fetched data
- Stores processed data in local files
- Inserts data into Qdrant for vector search capabilities
- Provides an interactive query interface for searching the processed data
/users
: To fetch user data/users/{userId}/recordings
: To fetch recording data for each user/meetings/{meetingId}/meeting_summary
: To fetch meeting summaries
The application includes error handling for API calls, file operations, and data processing. Errors are logged to the console for debugging purposes.
Please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature
) - Make your changes
- Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin feature/your-feature
) - Create a new Pull Request