Achraf Ikram Chat App
Application de chat en temps réel avec WebSocket (Node.js, TypeScript, React) Chat App is a secure, real-time messaging platform built with Node.js/Express/TypeScript and React/Vite/Tailwind CSS. It offers JWT authentication, message encryption, email verification, real-time notifications, and an integrated AI assistant for automated responses.
ACHRAF & IKRAM Chat App
🌐 English Version
Overview
ACHRAF & IKRAM Chat App is a real-time messaging application designed for instant, secure, and scalable communication. This project integrates several advanced features, including:
- Secure authentication using JWT and cookies.
- End-to-end encryption for message storage.
- Email verification during registration (temporary collection and confirmation email).
- Real-time communication with Socket.io (private and group chats).
- Live notifications (sound alerts, badges, "Typing..." indicator).
- AI Assistant integration for automatic responses.
- Modern and responsive UI, built with React, Vite, Tailwind CSS, and DaisyUI.
Technologies Used
- Backend: Node.js, Express, TypeScript, MongoDB (Mongoose), Socket.io, bcrypt, JWT, Cloudinary, Nodemailer.
- Frontend: React, Vite, Tailwind CSS, DaisyUI, Zustand.
- Deployment: Railway (for production hosting).
Installation
- Clone the repository:
git clone https://github.com/achraf20252026/achraf-ikram-chat-app.git
cd achraf-ikram-chat-app
- Install dependencies:
npm install
- Set up environment variables:
Create a
.env
file in the root directory and configure:MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
ENCRYPTION_SECRET=your_encryption_secret
CLOUDINARY_API_KEY=your_cloudinary_api_key
EMAIL_SERVICE=your_email_service_configuration
FRONTEND_URL=your_frontend_url
AI_API_KEY=your_ai_api_key
- Run the project:
npm run dev
🇫🇷 Version Française
Aperçu
ACHRAF & IKRAM Chat App est une application de messagerie en temps réel conçue pour offrir une communication instantanée, sécurisée et évolutive. Ce projet intègre plusieurs fonctionnalités avancées, notamment :
- Authentification sécurisée via JWT et cookies.
- Chiffrement des messages avant stockage en base de données.
- Vérification d’email lors de l'inscription (collection temporaire et email de confirmation).
- Communication en temps réel avec Socket.io (chats privés et de groupe).
- Notifications instantanées (alertes sonores, badges, indicateur "Écriture...").
- Assistant IA intégré pour réponses automatiques.
- Interface moderne et responsive, développée avec React, Vite, Tailwind CSS et DaisyUI.
Technologies Utilisées
- Backend : Node.js, Express, TypeScript, MongoDB (Mongoose), Socket.io, bcrypt, JWT, Cloudinary, Nodemailer.
- Frontend : React, Vite, Tailwind CSS, DaisyUI, Zustand.
- Déploiement : Railway (pour l’hébergement en production).
Installation
- Cloner le dépôt :
git clone https://github.com/achraf20252026/achraf-ikram-chat-app.git
cd achraf-ikram-chat-app
- Installer les dépendances :
npm install