mirror of
https://github.com/hcengineering/platform.git
synced 2025-06-09 09:20:54 +00:00
Some checks are pending
CI / build (push) Waiting to run
CI / svelte-check (push) Blocked by required conditions
CI / formatting (push) Blocked by required conditions
CI / uitest-pg (push) Waiting to run
CI / uitest-qms (push) Waiting to run
CI / test (push) Blocked by required conditions
CI / uitest (push) Waiting to run
CI / uitest-workspaces (push) Waiting to run
CI / docker-build (push) Blocked by required conditions
CI / dist-build (push) Blocked by required conditions
Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com>
117 lines
2.4 KiB
Markdown
117 lines
2.4 KiB
Markdown
# Pod Gmail Service
|
|
|
|
A service that provides Gmail integration capabilities for the Hardcore Engineering Platform. This service handles Gmail authentication, message synchronization, and workspace management.
|
|
|
|
## Overview
|
|
|
|
The pod-gmail service is responsible for:
|
|
- Managing Gmail client connections
|
|
- Synchronizing emails across workspaces
|
|
- Handling user authentication and token management
|
|
- Providing Gmail integration features for the platform
|
|
|
|
## Prerequisites
|
|
|
|
- Node.js 16 or higher
|
|
- Gmail API credentials
|
|
- Hardcore Engineering Platform dependencies
|
|
|
|
## Installation
|
|
|
|
1. Install dependencies:
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
2. Configure environment variables:
|
|
- Create a `.env` file with necessary credentials
|
|
- Configure Gmail API credentials
|
|
|
|
## Example .env Configuration
|
|
|
|
Below is an example `.env` file for running the service locally:
|
|
|
|
```env
|
|
PORT=8093
|
|
ACCOUNTS_URL="http://127.0.0.1:3000"
|
|
SECRET="secret"
|
|
WATCH_TOPIC_NAME="test"
|
|
Credentials={"web":{"client_id":"get_from_your_gmail_account","client_secret":"get_from_your_gmail_account","redirect_uris":["http://localhost:8088/signin/code"]}}
|
|
MINIO_ENDPOINT="localhost"
|
|
MINIO_ACCESS_KEY="minioadmin"
|
|
MINIO_SECRET_KEY="minioadmin"
|
|
KVS_URL="http://localhost:8098"
|
|
```
|
|
|
|
Make sure to replace the values with your actual credentials and configuration.
|
|
|
|
## Development
|
|
|
|
### Running Locally
|
|
|
|
```bash
|
|
rushx run-local
|
|
```
|
|
|
|
### Building
|
|
|
|
```bash
|
|
rushx build
|
|
```
|
|
|
|
### Testing
|
|
|
|
```bash
|
|
rushx test
|
|
```
|
|
|
|
## Docker Support
|
|
|
|
The service can be built using Docker:
|
|
|
|
```bash
|
|
# Build Docker image
|
|
rushx docker:build
|
|
```
|
|
|
|
## Configuration
|
|
|
|
The service requires the following configurations:
|
|
- Gmail API credentials
|
|
- Workspace-specific settings
|
|
- Rate limiting configurations
|
|
|
|
## API Integration
|
|
|
|
The service integrates with:
|
|
- Gmail API for email operations
|
|
- Hardcore Engineering Platform core services
|
|
- Server core components
|
|
|
|
## Dependencies
|
|
|
|
### Core Dependencies
|
|
- @hcengineering/core
|
|
- @hcengineering/server-core
|
|
- @hcengineering/server-client
|
|
- @hcengineering/server-token
|
|
- @hcengineering/gmail
|
|
|
|
### External Dependencies
|
|
- googleapis
|
|
- google-auth-library
|
|
- express
|
|
- cors
|
|
|
|
## License
|
|
|
|
This project is licensed under the Eclipse Public License, Version 2.0. See the LICENSE file for details.
|
|
|
|
## Contributing
|
|
|
|
Contributions are welcome! Please read our contributing guidelines before submitting pull requests.
|
|
|
|
## Support
|
|
|
|
For support, please contact the Hardcore Engineering team or open an issue in the repository.
|