API para aplicação de chat do curso DogeCodes React.
Este é um servidor API simples que implementa uma lógica necessária para corrigir o funcionamento do aplicativo DogeCodes React Chat.
Para executar este servidor localmente, você precisa ter estes requisitos:
Use os seguintes comandos para executar este servidor API localmente:
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
Nota: Não esqueça de iniciar mongod
para conexão ao banco de dados.
A versão atual da API é v1
, então você precisa especificar a versão da API antes de cada rota. Por exemplo:
http://localhost:8000/v1/users/me
http://localhost:8000/v1/chats
Aqui está o mapa das rotas HTTP da API:
/
— rotas relacionadas à autenticação./signup
POST — cria um novo usuário com username
e password
./login
POST — faça login do usuário com username
e password
./logout
GET – desconecta o usuário ativo./users
— rotas relacionadas aos usuários./users
GET — recupera dados sobre todos os usuários./users/me
GET — recupera os dados do meu usuário./users/me
POST — atualiza as informações do meu usuário ( username
, firstName
, lastName
e city
)./users/:id
GET — recupera informações sobre o usuário com :id
específico./chats
— rotas relacionadas a chats./chats
GET — recupera informações sobre todos os chats./chats
POST — cria um novo chat com title
especificado./chats/my
GET — obtém uma lista de todos os chats do usuário./chats/:id
GET — obtém informações do chat com mensagens de chats específicos :id
./chats/:id
POST — envia nova mensagem para conversar com :id
específico./chast/:id
DELETE — exclui bate-papo com :id
específico. Somente o criador do chat pode excluí-lo./chats/:id/join
GET — entre no chat com :id
específico./chats/:id/leave
GET — sai do chat com :id
específico.Se estiver usando o Insomnia para depurar APIs, você pode baixar um backup do espaço de trabalho:
Baixar .zip
Esta API também emite e escuta alguns eventos socket.io.
A conexão de soquetes requer autenticação com token de acesso. Aqui está um exemplo de estabelecimento de conexão de soquetes:
import SocketIOClient from 'socket.io-client' ;
socket = SocketIOClient ( 'path/to/api' , {
query : {
token : '...your access-token here...' ,
} ,
} ) ;
Aqui está a lista de eventos:
new-message
– emitida quando alguém envia uma nova mensagem para um chat específico.new-chat
– emitido quando alguém cria um novo chat.deleted-chat
— emitido quando alguém exclui um bate-papo. connection
— conexão do cliente socket.io.mount-chat
— monta um cliente para ouvir mensagens no chat com :chatId
específico.unmount-chat
— impede que um cliente ouça mensagens no bate-papo com :chatId
específico.send-message
— envia mensagem com content
para conversar MIT © Denys Dovhan