--- id: overview title: Vue d'ensemble Veza Platform sidebar_label: Vue d'ensemble description: Plateforme de streaming audio et chat en temps réel - Architecture microservices moderne keywords: [veza, platform, streaming, audio, chat, real-time, microservices] --- # 🎵 Veza Platform - Vue d'ensemble **Plateforme de streaming audio et chat en temps réel** construite avec une architecture microservices moderne. ## 🚀 Services Principaux

🌐 Frontend Web

Application React 19 + TypeScript avec streaming audio, chat temps réel, et interface moderne.

Voir la documentation

🔧 Backend API

API REST en Go avec Gin, gestion de l'authentification, base de données PostgreSQL et cache Redis.

Voir la documentation

💬 Chat Server

Serveur de chat en Rust avec WebSocket, gestion des messages en temps réel et modération automatique.

Voir la documentation

🎵 Stream Server

Serveur de streaming audio en Rust avec compression adaptative, analytics et gestion des fichiers.

Voir la documentation

🛡️ Infrastructure

HAProxy + Coraza WAF, observabilité complète (Prometheus, Grafana, ELK), et sécurité avancée.

Voir la documentation

📊 Monitoring

Stack complète d'observabilité avec métriques, logs, traces et alertes automatisées.

Voir la documentation
## 🏗️ Architecture Veza suit une **architecture microservices** moderne avec séparation claire des responsabilités, scalabilité horizontale et résilience intégrée. ```mermaid flowchart TB subgraph "Client Layer" WEB[Web App
React + TypeScript
Port: 5176] DESKTOP[Desktop App
Electron
Port: 3000] MOBILE[Mobile App
React Native
Port: 8081] end subgraph "Edge Layer" LB[Load Balancer
HAProxy
Port: 80/443] WAF[WAF
Coraza
Security Layer] end subgraph "API Gateway" GATEWAY[API Gateway
Go + Gin
Port: 8080] end subgraph "Microservices" API[API Service
Go + Gin
Port: 8081] CHAT[Chat Service
Rust + Axum
Port: 3001] STREAM[Stream Service
Rust + Axum
Port: 3002] AUTH[Auth Service
Go + JWT
Port: 8082] end subgraph "Data Layer" PG[(PostgreSQL
Primary Database
Port: 5432)] REDIS[(Redis
Cache + Sessions
Port: 6379)] S3[(S3 Storage
Audio Files
AWS/MinIO)] end subgraph "Message Queue" NATS[NATS
Event Streaming
Port: 4222] end subgraph "Observability" PROM[Prometheus
Metrics
Port: 9090] GRAF[Grafana
Dashboards
Port: 3000] ELK[ELK Stack
Logs
Port: 9200] end WEB --> LB DESKTOP --> LB MOBILE --> LB LB --> WAF WAF --> GATEWAY GATEWAY --> API GATEWAY --> CHAT GATEWAY --> STREAM GATEWAY --> AUTH API --> PG API --> REDIS API --> S3 CHAT --> REDIS CHAT --> NATS STREAM --> S3 STREAM --> NATS AUTH --> PG AUTH --> REDIS PROM --> API PROM --> CHAT PROM --> STREAM PROM --> AUTH GRAF --> PROM ELK --> API ELK --> CHAT ELK --> STREAM ``` ## 📚 Sections de Documentation ### 🏗️ Architecture - [Architecture Système](/docs/architecture/system) - Vue d'ensemble des microservices - [Architecture des Données](/docs/architecture/data/er-diagram) - Modèle de données et relations ### 🌐 Sectors - [Web Application](/docs/sectors/web) - React 19 + TypeScript + Vite ### 🔧 Backend Services - [Go API Service](/docs/backend/go-api) - API REST principale - [Rust Chat Server](/docs/backend/rust-chat) - Chat temps réel - [Rust Stream Server](/docs/backend/rust-stream) - Streaming audio ### 🛡️ Infrastructure - [Conteneurs](/docs/infra/containers) - Docker, Docker Compose, Kubernetes - [Réseau](/docs/infra/networking) - HAProxy, Coraza, load balancing - [Sécurité](/docs/infra/security) - WAF, authentification, autorisation - [Observabilité](/docs/infra/observability) - Prometheus, Grafana, ELK, Jaeger - [CI/CD](/docs/infra/ci-cd) - GitHub Actions, déploiement automatisé ### 🔧 SRE & QA - [CI/CD](/docs/infra/ci-cd) - Déploiement automatisé et intégration continue ### 📖 API Reference - [OpenAPI](/docs/api-reference/openapi) - Documentation interactive ### 📈 Product - [Roadmap](/docs/product/roadmap) - Feuille de route produit ## 🛠️ Technologies Utilisées | Service | Langage | Framework | Base de Données | Port | |---------|---------|-----------|-----------------|------| | Web App | TypeScript | React 19 + Vite | - | 5176 | | Desktop App | TypeScript | Electron | - | 3000 | | Mobile App | TypeScript | React Native | - | 8081 | | Backend API | Go | Gin + GORM | PostgreSQL + Redis | 8081 | | Chat Server | Rust | Axum + WebSocket | PostgreSQL + Redis | 3001 | | Stream Server | Rust | Axum + Symphonia | S3 + Redis | 3002 | | Auth Service | Go | JWT + bcrypt | PostgreSQL + Redis | 8082 | | Load Balancer | - | HAProxy | - | 80/443 | | WAF | - | Coraza | - | 80/443 | | Monitoring | - | Prometheus + Grafana | - | 9090/3000 | ## 🚀 Démarrage Rapide ### Prérequis - Docker et Docker Compose - Node.js 18+ - Go 1.23+ - Rust 1.70+ ### Installation ```bash # Cloner le repository git clone https://github.com/okinrev/veza-full-stack.git cd veza-full-stack # Démarrer avec Docker Compose docker-compose up -d # Ou développement local make dev ``` ### Accès aux Services - **Frontend Web**: http://localhost:5176 - **Backend API**: http://localhost:8081 - **Chat Server**: http://localhost:3001 - **Stream Server**: http://localhost:3002 - **Grafana**: http://localhost:3000 - **Prometheus**: http://localhost:9090 ## 📈 Fonctionnalités Principales ### 🎵 Streaming Audio - **Formats Supportés**: MP3, AAC, OGG, FLAC, WAV - **Qualité Adaptative**: Ajustement automatique selon la bande passante - **Compression Intelligente**: Optimisation de la qualité et de la taille - **Live Recording**: Enregistrement en direct avec gestion des métadonnées - **Multi-utilisateurs**: Synchronisation temps réel ### 💬 Chat en Temps Réel - **WebSocket**: Communication bidirectionnelle instantanée - **Salons Privés**: Création et gestion de salons de discussion - **Messages Privés**: Communication directe entre utilisateurs - **Modération**: Filtrage automatique et outils de modération - **Présence**: Indicateurs de présence et de frappe ### 🔐 Authentification & Sécurité - **JWT Tokens**: Authentification stateless sécurisée - **OAuth2**: Intégration avec Google, GitHub, Discord - **Magic Links**: Authentification sans mot de passe - **2FA**: Authentification à deux facteurs - **Rate Limiting**: Protection contre les abus - **WAF**: Protection contre les attaques web ### 📊 Analytics & Monitoring - **Métriques Temps Réel**: Utilisateurs actifs, messages, streams - **Health Checks**: Monitoring de la santé des services - **Logs Structurés**: Traçabilité complète des opérations - **Alertes**: Notifications automatiques en cas de problème - **Dashboards**: Visualisation des métriques et KPIs ## 🤝 Contribution Nous accueillons les contributions ! Consultez notre guide de contribution : - [Guide de Développement](/docs/meta/contributing-docs) - [Guide de Déploiement](/docs/infra/ci-cd) - [Style Guide](/docs/meta/style-guide) ## 📞 Support - **GitHub Issues**: [Signaler un bug](https://github.com/okinrev/veza-full-stack/issues) - **Discussions**: [Forum communautaire](https://github.com/okinrev/veza-full-stack/discussions) - **Documentation**: Cette documentation complète ---
💡 Conseil : Commencez par la section Architecture pour comprendre l'ensemble du système, puis explorez les services qui vous intéressent.
⚠️ Important : L'architecture évolue constamment. Consultez les dernières mises à jour dans la documentation des services individuels.