API pour l'application de chat pour le cours DogeCodes React.
Il s'agit d'un simple serveur API qui implémente une logique nécessaire au bon fonctionnement de l'application DogeCodes React Chat.
Pour exécuter ce serveur localement, vous devez disposer de ces conditions :
Utilisez les commandes suivantes pour exécuter ce serveur API localement :
git clone https://github.com/dogecodes/react-chat-api.git
cd react-chat-api
npm install
npm run start:dev # or `npm start` for production
Remarque : N'oubliez pas de démarrer mongod
pour la connexion à la base de données.
La version actuelle de l'API est v1
, vous devez donc spécifier la version de l'API avant chaque itinéraire. Par exemple:
http://localhost:8000/v1/users/me
http://localhost:8000/v1/chats
Voici la carte des routes HTTP de l'API :
/
— routes liées à l'authentification./signup
POST — crée un nouvel utilisateur avec username
et password
./login
POST — connecte l'utilisateur avec username
et password
./logout
GET — déconnecte l'utilisateur actif./users
— itinéraires liés aux utilisateurs./users
GET — récupère les données sur tous les utilisateurs./users/me
GET — récupère les données de mon utilisateur./users/me
POST — met à jour les informations de mon utilisateur ( username
, firstName
, lastName
et city
)./users/:id
GET — récupère des informations sur l'utilisateur avec un :id
spécifique./chats
— itinéraires liés aux chats./chats
GET — récupère des informations sur toutes les discussions./chats
POST — crée une nouvelle discussion avec title
spécifié./chats/my
GET — obtient la liste de tous les chats de l'utilisateur./chats/:id
GET — obtient les informations du chat avec les messages par :id
du chat spécifique./chats/:id
POST — envoie un nouveau message pour discuter avec un :id
spécifique./chast/:id
DELETE — supprime le chat avec un :id
spécifique. Seul le créateur du chat peut le supprimer./chats/:id/join
GET — rejoignez le chat avec un :id
spécifique./chats/:id/leave
GET — quittez le chat avec un :id
spécifique.Si vous utilisez Insomnia pour déboguer les API, vous pouvez télécharger une sauvegarde de l'espace de travail :
Télécharger .zip
Cette API émet et écoute également certains événements socket.io.
La connexion Sockets nécessite une authentification avec un jeton d’accès. Voici un exemple d'établissement d'une connexion sockets :
import SocketIOClient from 'socket.io-client' ;
socket = SocketIOClient ( 'path/to/api' , {
query : {
token : '...your access-token here...' ,
} ,
} ) ;
Voici la liste des événements :
new-message
- émis lorsque quelqu'un envoie un nouveau message à un chat spécifique.new-chat
— émis lorsque quelqu'un crée une nouvelle discussion.deleted-chat
- émis lorsque quelqu'un supprime un chat. connection
— connexion du client socket.io.mount-chat
— monte un client pour écouter les messages dans le chat avec un :chatId
spécifique.unmount-chat
— empêche un client d'écouter les messages dans le chat avec un :chatId
spécifique.send-message
— envoyer un message avec content
pour discuter avec MIT © Denys Dovhan