A modern, feature-rich chat application built with React, Node.js, and MongoDB.
Frontend:
Backend:
git clone <repository-url>
cd chat-app
npm install
.env
file in the root directory:MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
CLIENT_URL=http://localhost:5173
PORT=3000
npm run dev
npm run server
The application will be available at http://localhost:5173
├── src/
│ ├── components/ # React components
│ ├── context/ # React context providers
│ ├── services/ # API services
│ ├── lib/ # Utility functions
│ └── hooks/ # Custom React hooks
├── server/
│ ├── controllers/ # Route controllers
│ ├── models/ # Mongoose models
│ ├── routes/ # Express routes
│ └── middleware/ # Express middleware
POST /api/auth/register
- Register a new userPOST /api/auth/login
- Login userGET /api/auth/profile
- Get user profilePUT /api/auth/profile
- Update user profilePOST /api/messages
- Send a messageGET /api/messages/:conversationId
- Get conversation messagesPUT /api/messages/:messageId/read
- Mark message as readPUT /api/messages/:messageId/favorite
- Toggle message favoriteGET /api/conversations
- Get user conversationsPOST /api/conversations
- Create new conversationGET /api/conversations/unread
- Get unread message countsPOST /api/calls
- Create a new callPUT /api/calls/:callId
- Update call statusGET /api/calls/history
- Get call historyPOST /api/friends/request
- Send friend requestPUT /api/friends/request/:requestId
- Respond to friend requestGET /api/friends/requests
- Get pending friend requestsUne application de chat moderne et riche en fonctionnalités, construite avec React, Node.js et MongoDB.
Frontend :
Backend :
git clone <url-du-depot>
cd chat-app
npm install
.env
à la racine du projet :MONGODB_URI=votre_chaine_de_connexion_mongodb
JWT_SECRET=votre_secret_jwt
CLIENT_URL=http://localhost:5173
PORT=3000
npm run dev
npm run server
L'application sera disponible à l'adresse http://localhost:5173
├── src/
│ ├── components/ # Composants React
│ ├── context/ # Providers de contexte React
│ ├── services/ # Services API
│ ├── lib/ # Fonctions utilitaires
│ └── hooks/ # Hooks React personnalisés
├── server/
│ ├── controllers/ # Contrôleurs de routes
│ ├── models/ # Modèles Mongoose
│ ├── routes/ # Routes Express
│ └── middleware/ # Middleware Express
POST /api/auth/register
- Inscription d'un nouvel utilisateurPOST /api/auth/login
- Connexion utilisateurGET /api/auth/profile
- Obtenir le profil utilisateurPUT /api/auth/profile
- Mettre à jour le profil utilisateurPOST /api/messages
- Envoyer un messageGET /api/messages/:conversationId
- Obtenir les messages d'une conversationPUT /api/messages/:messageId/read
- Marquer un message comme luPUT /api/messages/:messageId/favorite
- Basculer un message en favoriGET /api/conversations
- Obtenir les conversations de l'utilisateurPOST /api/conversations
- Créer une nouvelle conversationGET /api/conversations/unread
- Obtenir le nombre de messages non lusPOST /api/calls
- Créer un nouvel appelPUT /api/calls/:callId
- Mettre à jour le statut d'un appelGET /api/calls/history
- Obtenir l'historique des appelsPOST /api/friends/request
- Envoyer une demande d'amiPUT /api/friends/request/:requestId
- Répondre à une demande d'amiGET /api/friends/requests
- Obtenir les demandes d'ami en attente