Bienvenue sur freeze Chat, une application de chatbot IA moderne et performante, conçue pour offrir une expérience utilisateur fluide et sécurisée.
Ce projet combine la puissance de l'IA de Mistral AI avec une interface utilisateur premium construite sous React et un backend robuste sous FastAPI.
freeze Chat est une plateforme de messagerie intelligente qui permet aux utilisateurs de :
- Discuter avec "freeze" : Un assistant IA personnalisé (basé sur Mistral AI) expert en code.
- Gérer des conversations : Chaque discussion est sauvegardée et peut être reprise à tout moment.
- Mémoire contextuelle : L'IA se souvient des messages précédents au sein d'une même conversation pour des réponses cohérentes.
- Sécurité : Un système complet d'authentification (Inscription/Connexion) avec protection des données.
- Interface Moderne : Un dashboard inspiré des models actuels, supportant les modes sombre et clair.
- Framework : React 19 + Vite
- Styling : Tailwind CSS
- UI Components : Shadcn/UI (Radix UI)
- Icons : Lucide React
- Routing : React Router 7
- HTTP Client : Axios
- Langage : Python 3.10+
- Framework : FastAPI
- ORM : SQLModel (Pydantic + SQLAlchemy)
- Base de données : PostgreSQL
- Authentification : JWT (JSON Web Tokens) & Passlib (Bcrypt)
- IA : Mistral AI SDK
- Docker & Docker Compose pour une orchestration simplifiée.
- Docker et Docker Compose installés.
- Une clé API Mistral AI (disponible sur console.mistral.ai).
Créez un fichier .env dans le dossier backend :
Cle_mistral_ai=VOTRE_CLE_ICI
DATABASE_URL=postgresql://user:password@db:5432/chatbotLa méthode la plus simple pour tout lancer d'un coup :
docker-compose up --build- Frontend : accessible sur http://localhost:5173
- Backend (API) : accessible sur http://localhost:8000
- Documentation API (Swagger) : http://localhost:8000/docs
https://chat-bot-djfa.vercel.app/
ChatBOT/
├── backend/ # API FastAPI
│ ├── app/
│ │ ├── routes/ # Points d'entrée (Chat, Users, Conv)
│ │ ├── models.py # Schémas de base de données
│ │ ├── auth.py # Logique JWT & Sécurité
│ │ └── services/ # Intégration Mistral AI
│ └── Dockerfile
├── frontend/ # Interface React
│ ├── src/
│ │ ├── Pages/ # Dashboard, Connexion, Inscription
│ │ ├── components/ # Composants UI (Shadcn)
│ │ └── ServicesApi/# Configuration Axios
│ └── Dockerfile.dev
└── docker-compose.yml # Orchestration globale
- Authentification : L'utilisateur s'inscrit ou se connecte. Le backend génère un token JWT qui est stocké côté client pour sécuriser les appels API.
- Conversations : Lorsqu'un utilisateur démarre un chat, une nouvelle entrée est créée dans la table
conversations. - Appel IA : À chaque message, le backend récupère l'historique des messages précédents de la conversation actuelle et l'envoie à Mistral AI pour qu'il garde le contexte.
- Persistance : Tous les messages (utilisateur et IA) sont sauvegardés en base de données.