Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChatApp - Application de Chat avec Intelligence Artificielle

Une application de chat moderne avec des fonctionnalités avancées d'intelligence artificielle, développée avec FastAPI et WebSocket.

Fonctionnalités

Communication de Base

  • ✅ Messages texte en temps réel
  • ✅ Conversations privées et de groupe
  • ✅ Envoi de fichiers médias (images, vidéos, documents)
  • ✅ Appels audio et vidéo WebRTC
  • ✅ Émojis et réactions aux messages

Intelligence Artificielle

  • 🤖 Assistant IA conversationnel
  • 💡 Suggestions de réponses intelligentes
  • 🌐 Traduction automatique des messages
  • 📊 Analyse de sentiment
  • 🧠 Résumés automatiques de conversations
  • 🚫 Détection de spam et modération de contenu

Fonctionnalités Avancées

  • 👤 Profils utilisateurs personnalisés
  • 🎯 Messages épinglés et favoris
  • 📝 Brouillons de messages
  • 🔗 Transfert et citation de messages
  • 🔔 Notifications intelligentes
  • 🎨 Interface moderne avec thème sombre/clair

Technologies

Backend

  • FastAPI - Framework web moderne et rapide
  • PostgreSQL - Base de données relationnelle
  • WebSocket - Communication en temps réel
  • SQLAlchemy - ORM pour Python
  • OpenRouter - API d'intelligence artificielle

Frontend

  • React - Bibliothèque JavaScript pour l'interface
  • TypeScript - Typage statique pour JavaScript
  • Tailwind CSS - Framework CSS utility-first
  • Radix UI - Composants d'interface utilisateur

Infrastructure

  • Docker - Conteneurisation
  • Redis - Cache et files d'attente
  • WebRTC - Communication temps réel

Installation

Prérequis

  • Python 3.8+
  • PostgreSQL
  • Node.js 16+
  • Docker (optionnel)

Backend Setup

  1. Cloner le projet
git clone <repository-url>
cd Sociaux
  1. Créer l'environnement virtuel
python -m venv venv
source venv/bin/activate  # Linux/Mac
# ou
venv\Scripts\activate     # Windows
  1. Installer les dépendances
pip install -r requirements.txt
  1. Configurer l'environnement
cp .env.example .env
# Modifier .env avec vos paramètres
  1. Lancer la base de données
# Option 1: Docker
docker-compose up -d postgres

# Option 2: Installation locale PostgreSQL
# Créer la base de données et l'utilisateur
  1. Exécuter les migrations
python main.py

Frontend Setup

  1. Installer les dépendances
cd chatapp-frontend/client
npm install
  1. Configurer l'environnement
cp .env.example .env
# Modifier .env avec vos paramètres
  1. Lancer le serveur de développement
npm run dev

Configuration

Variables d'environnement Backend

# Base de données
DATABASE_URL=postgresql://user:password@localhost:5432/chatapp_db

# API OpenRouter (IA)
OPENROUTER_API_KEY=your_api_key_here
OPENROUTER_MODEL=openai/gpt-4o-mini

# Redis
REDIS_URL=redis://localhost:6379/0

# Sécurité
SECRET_KEY=your_secret_key_here

Variables d'environnement Frontend

VITE_API_URL=http://localhost:8000
VITE_WS_URL=ws://localhost:8000

Architecture

Sociaux/
├── main.py                 # Backend FastAPI
├── schema_complet.sql      # Schéma de base de données
├── chatapp-frontend/       # Frontend React
│   ├── client/            # Application React
│   ├── server/            # Serveur de développement
│   └── shared/            # Code partagé
├── media_files/           # Fichiers médias uploadés
├── logs/                  # Logs de l'application
└── migrations/            # Migrations de base de données

API Endpoints

Authentification

  • POST /api/register/ - S'inscrire
  • POST /api/login/ - Se connecter

Utilisateurs

  • GET /users/me - Obtenir son profil
  • GET /users/search/ - Rechercher des utilisateurs
  • GET /users/active/ - Liste des utilisateurs actifs

Conversations

  • POST /conversations/private/ - Créer une conversation privée
  • POST /conversations/group/ - Créer un groupe
  • GET /users/{id}/conversations/ - Mes conversations
  • GET /conversations/{id}/participants/ - Participants

Messages

  • GET /conversations/{id}/messages/ - Historique des messages
  • POST /conversations/{id}/messages/ - Envoyer un message
  • POST /conversations/{id}/upload/ - Envoyer un fichier

Intelligence Artificielle

  • POST /ai/suggestions/ - Suggestions de réponses
  • POST /ai/chat/ - Discussion avec l'IA
  • POST /ai/summarize/ - Résumer une conversation
  • POST /ai/translate/ - Traduire un message

WebSocket

  • ws://localhost:8000/ws/{conversation_id}/{user_id} - Chat en temps réel
  • ws://localhost:8000/webrtc/{conversation_id}/{user_id} - Appels vidéo

Développement

Lancer le backend

uvicorn main:app --reload --host 0.0.0.0 --port 8000

Lancer le frontend

cd chatapp-frontend/client
npm run dev

Tests

# Backend tests
pytest

# Frontend tests
npm test

Linting

# Backend
flake8
black --check .

# Frontend
npm run lint
npm run format

Déploiement

Docker

docker-compose up -d

Production

# Backend
gunicorn main:app --workers 4 --worker-class uvicorn.workers.UvicornWorker

# Frontend
npm run build
serve -s build

Contribuer

  1. Fork le projet
  2. Crée une branche pour ta feature (git checkout -b feature/nom-de-la-feature)
  3. Commit tes changements (git commit -m 'Ajoute la feature X')
  4. Push vers la branche (git push origin feature/nom-de-la-feature)
  5. Ouvre une Pull Request

License

Ce projet est sous license MIT. Voir le fichier LICENSE pour plus de détails.

Support

Pour toute question ou problème, ouvre une issue ou contacte l'équipe de développement.

Auteurs

  • [Nom de l'auteur] - Développeur principal
  • [Contributors] - Contributeurs

Remerciements

  • FastAPI pour le framework web
  • OpenRouter pour les services d'IA
  • La communauté open-source pour les nombreuses bibliothèques utilisées

About

ChatApp with AI features - FastAPI backend with React frontend

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages