git clone cd Idea_Communicator docker compose -f docker-compose.prod.yml pull docker compose -f docker-compose.prod.yml up -d
AI-powered communication app for teams with automatic recording, transcription, and summarization.
Idea Communicator is an innovative communication platform designed for small to medium-sized organizations (5-500 employees). It combines traditional chat and video meetings with AI-driven recording, transcription, and summarization capabilities.
- 👥 Group chat and video/audio calls
- 🎥 Automatic meeting recording
- 📝 AI-powered transcription (OpenAI Whisper / Deepgram)
- 💡 Intelligent summarization (Anthropic Claude / Mistral AI)
- 🔒 Maximum privacy control (choose storage region and AI provider)
- 🇪🇺 EU-first approach with GDPR compliance
- 📱 Progressive Web App (PWA)
The application consists of 7 Docker containers:
- Frontend - React + TypeScript PWA (Vite)
- Backend API - NestJS with TypeORM
- WebRTC Server - mediasoup for video/audio
- Database - PostgreSQL 16
- Storage - MinIO (S3-compatible)
- Redis - Queue & cache
- AI Worker - Background processing for transcription & summarization
- Frontend: React 18, TypeScript, Tailwind CSS, Socket.IO Client
- Backend: NestJS, TypeORM, PostgreSQL, Socket.IO
- WebRTC: mediasoup
- Storage: MinIO (S3-compatible)
- Queue: Bull (Redis-based)
- AI: OpenAI Whisper, Anthropic Claude
Before you begin, ensure you have the following installed:
- Docker Desktop (v20.10+)
- Node.js (v20+) - for local development
- Git
- A code editor (VS Code recommended)
- Clone the repository
git clone <your-repo-url>
cd Idea_Communicator- Set up environment variables
cp .env.example .envEdit .env and update the following required values:
# Change all passwords from default values
POSTGRES_PASSWORD=your_secure_password_here
REDIS_PASSWORD=your_secure_password_here
MINIO_ROOT_PASSWORD=your_secure_password_here
JWT_SECRET=your_very_long_random_string_minimum_32_characters
# Add your API keys (required for AI features in Phase 5)
OPENAI_API_KEY=sk-your-openai-api-key
ANTHROPIC_API_KEY=sk-ant-your-anthropic-api-key- Start the services
docker-compose up -dThis will start all services in the background. First run will take 5-10 minutes to build all images.
- Install dependencies (for local development)
# Backend
cd backend
npm install
# Frontend
cd ../frontend
npm install
# WebRTC
cd ../webrtc
npm install
# AI Worker
cd ../ai-worker
npm install- Access the application
- Frontend: http://localhost:5173
- Backend API: http://localhost:3000
- API Documentation: http://localhost:3000/api/docs
- WebRTC Server: http://localhost:4000
- MinIO Console: http://localhost:9001 (login: minioadmin / your_password)
| Service | Port | Description |
|---|---|---|
| Frontend | 5173 | React development server |
| Backend API | 3000 | NestJS API |
| WebRTC | 4000 | mediasoup server |
| PostgreSQL | 5432 | Database |
| Redis | 6379 | Queue & cache |
| MinIO API | 9000 | S3-compatible storage |
| MinIO Console | 9001 | MinIO admin UI |
All services are configured for hot-reload in development:
# Start all services
docker-compose up
# Or start individual services
docker-compose up frontend
docker-compose up api
docker-compose up webrtc# All services
docker-compose logs -f
# Specific service
docker-compose logs -f api
docker-compose logs -f frontend# Stop all services
docker-compose down
# Stop and remove volumes (WARNING: deletes all data)
docker-compose down -vThis project follows a structured 7-phase development plan:
- ✅ Phase 0: Development Environment Setup (COMPLETED)
- ⏳ Phase 1: Infrastructure (Backend API, Database, Auth) - 1-2 weeks
- ⏳ Phase 2: Groups & Chat - 2-3 weeks
- ⏳ Phase 3: Video & Audio Calls - 3-4 weeks
- ⏳ Phase 4: Recording - 2-3 weeks
- ⏳ Phase 5: AI Processing - 3-4 weeks
- ⏳ Phase 6: UX & Notifications - 2 weeks
- ⏳ Phase 7: Production Ready - 2-3 weeks
Total Estimated Time: 15-20 weeks (4-5 months)
# Backend tests
cd backend
npm test
# Frontend tests
cd frontend
npm test
# E2E tests (will be added in later phases)
npm run test:e2eThis application is designed with GDPR compliance in mind:
- ✅ Data encryption (AES-256 for stored data, E2E for meetings)
- ✅ Audit logging
- ✅ User consent management
- ✅ Data retention policies
- ✅ Right to deletion (30 days)
- ✅ Data portability
- ✅ Regional data storage options
Important: Before production deployment, ensure you have:
- Appointed a Data Protection Officer (DPO)
- Completed Data Protection Impact Assessment (DPIA)
- Implemented incident response procedures
- Reviewed and updated privacy policy
For EU-based hosting with GDPR compliance:
-
Server Requirements (MVP):
- 4 vCPU
- 8 GB RAM
- 160 GB SSD
- Cost: ~€25-50/month
-
Deployment Steps (detailed guide in Phase 7):
- Set up Docker on server
- Configure SSL certificates (Let's Encrypt)
- Set up nginx reverse proxy
- Configure firewall
- Set up monitoring & backups
Once the backend is running, visit:
Swagger UI: http://localhost:3000/api/docs
The API documentation is auto-generated from NestJS controllers and will be fully populated in Phase 1.
This is a private project. For questions or issues, please contact the project maintainer.
UNLICENSED - Private project
- NestJS Documentation
- React Documentation
- mediasoup Documentation
- Docker Documentation
- TypeORM Documentation
For support or questions:
- Check the API documentation at
/api/docs - Review logs:
docker-compose logs -f <service> - Contact: [Your contact information]
Current Status: Phase 0 Complete ✅
Next Steps:
- Verify all services are running:
docker-compose ps - Check service health: Visit http://localhost:3000/health
- Begin Phase 1: Infrastructure & Authentication