Doc_ProcessPro
Doc_ProcessPro
A comprehensive business collaboration platform built with React, TypeScript, and modern web technologies. Features include video conferencing with attention
tracking, AI-powered analytics, team chat, and performance management dashboard.
Core Features
1. Video Conferencing
2. AI-Powered Features
Performance Analytics
Smart Notifications
3. Team Chat
4. Manager Dashboard
Task Management
Performance Monitoring
Team Analytics
Attendance tracking
Meeting participation metrics
Task completion rates
Team engagement scores
5. Meeting Management
6. Attention Tracking
Real-time eye tracking using WebGazer.js
Focus detection during meetings
Visual indicators for attention status
Automatic notifications for loss of attention
Privacy-focused implementation
8. User Interface
Technical Architecture
Core Technologies
Key Components
WebGazer.js initialization
Focus detection
Attention monitoring
UI feedback
Navigation
User interface structure
Responsive layout
Prerequisites
Installation Steps
1. Clone the Repository
2. Install Dependencies
npm install
# or using yarn
yarn install
VITE_SOCKET_URL=your_socket_server_url
VITE_API_URL=your_api_server_url
VITE_GROQ_API_KEY=your_groq_api_key
4. SSL Setup for Local Development Create a self-signed certificate for HTTPS:
Update vite.config.ts:
Docker Deployment
2. Run Container
Production Deployment
1. Build Application
WebRTC Configuration
WebGazer Configuration
System Requirements
Minimum Requirements
Recommended Requirements
Troubleshooting Installation
2. WebGazer Installation
3. Dependencies Issues
Implementation Details
WebRTC Connection Flow
Recording Process
Usage Guide
Creating a Meeting
Joining a Meeting
Recording a Meeting
API Integration
Socket.IO Events
interface RoomJoinedData {
roomId: string;
userId: string;
username: string;
}
interface PeerOfferData {
offer: RTCSessionDescription;
peerId: string;
}
interface PeerAnswerData {
answer: RTCSessionDescription;
peerId: string;
}
interface PeerIceData {
candidate: RTCIceCandidate;
peerId: string;
}
interface PeerLeftData {
peerId: string;
reason?: string;
}
Authentication
// POST /api/auth/login
interface LoginRequest {
email: string;
password: string;
}
interface LoginResponse {
token: string;
user: User;
}
// POST /api/auth/register
interface RegisterRequest {
email: string;
password: string;
name: string;
role: 'user' | 'admin';
department: string;
}
// GET /api/auth/me
interface UserProfile {
id: string;
email: string;
name: string;
role: string;
department: string;
avatar: string;
}
Meetings
// GET /api/meetings
interface Meeting {
id: string;
title: string;
description: string;
startTime: Date;
endTime: Date;
participants: User[];
host: User;
status: 'scheduled' | 'ongoing' | 'completed';
}
// POST /api/meetings
interface CreateMeetingRequest {
title: string;
description: string;
startTime: Date;
endTime: Date;
participantIds: string[];
}
// GET /api/meetings/:id/recordings
interface MeetingRecording {
id: string;
meetingId: string;
url: string;
duration: number;
createdAt: Date;
size: number;
}
Tasks
// GET /api/tasks
interface TaskResponse {
id: string;
title: string;
description: string;
assignee: User;
dueDate: Date;
priority: 'low' | 'medium' | 'high';
status: 'todo' | 'in-progress' | 'completed';
createdAt: Date;
updatedAt: Date;
}
// POST /api/tasks
interface CreateTaskRequest {
title: string;
description: string;
assigneeId: string;
dueDate: Date;
priority: 'low' | 'medium' | 'high';
}
Chat
// GET /api/messages
interface MessageResponse {
id: string;
content: string;
sender: User;
timestamp: Date;
type: 'text' | 'file' | 'image' | 'video';
reactions: Reaction[];
threadId?: string;
}
// POST /api/messages
interface SendMessageRequest {
content: string;
type: 'text' | 'file' | 'image' | 'video';
threadId?: string;
}
Performance Optimization
1. Resource Management
2. UI Optimization
3. Network Optimization
Error Handling
1. Connection Issues
2. Media Errors
3. Application Errors
Future Enhancements
1. Planned Features
2. Technical Improvements