API para aplicación de chat para el curso DogeCodes React.
Este es un servidor API simple que implementa una lógica necesaria para corregir el trabajo de la aplicación DogeCodes React Chat.
Para ejecutar este servidor localmente necesita tener estos requisitos:
Utilice los siguientes comandos para ejecutar 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: No olvide iniciar mongod
para conectarse a la base de datos.
La versión actual de la API es v1
, por lo que debe especificar la versión de la API antes de cada ruta. Por ejemplo:
http://localhost:8000/v1/users/me
http://localhost:8000/v1/chats
Aquí está el mapa de las rutas HTTP de la API:
/
— rutas relacionadas con la autenticación./signup
POST : crea un nuevo usuario con username
y password
./login
POST : inicia sesión con username
y password
./logout
GET : cierra la sesión del usuario activo./users
: rutas relacionadas con los usuarios./users
GET : recupera datos sobre todos los usuarios./users/me
GET : recupera los datos de mi usuario./users/me
POST : actualiza la información de mi usuario ( username
, firstName
, lastName
y city
)./users/:id
GET : recupera información sobre el usuario con :id
específico./chats
: rutas relacionadas con los chats./chats
GET : recupera información sobre todos los chats./chats
POST : crea un nuevo chat con title
especificado./chats/my
GET : obtiene una lista de todos los chats de los usuarios./chats/:id
GET : obtiene información del chat con mensajes según :id
del chat específico./chats/:id
POST : envía un nuevo mensaje para chatear con un :id
específico./chast/:id
DELETE : elimina el chat con un :id
específico. Sólo el creador del chat puede eliminarlo./chats/:id/join
GET : únete al chat con un :id
específico./chats/:id/leave
GET : abandona el chat con un :id
específico.Si está utilizando Insomnia para depurar API, puede descargar una copia de seguridad del espacio de trabajo:
Descargar .zip
Esta API también emite y escucha algunos eventos de socket.io.
La conexión de sockets requiere autenticación con token de acceso. A continuación se muestra un ejemplo de cómo establecer una conexión de sockets:
import SocketIOClient from 'socket.io-client' ;
socket = SocketIOClient ( 'path/to/api' , {
query : {
token : '...your access-token here...' ,
} ,
} ) ;
Aquí está la lista de eventos:
new-message
: se emite cuando alguien envía un mensaje nuevo a un chat específico.new-chat
: se emite cuando alguien crea un nuevo chat.deleted-chat
: se emite cuando alguien elimina un chat. connection
: conexión del cliente socket.io.mount-chat
: monta un cliente para escuchar mensajes en el chat con un :chatId
específico.unmount-chat
: desactiva a un cliente para que no escuche mensajes en el chat con un :chatId
específico.send-message
: envía un mensaje con content
para chatear MIT © Denys Dovhan