Skip to content

nathaliaop/real-time-chat-back

Repository files navigation

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Coverage Discord Backers on Open Collective Sponsors on Open Collective Support us

Descrição

Nest framework TypeScript repositório inicial.

Deploy

Deploy do back

Instalação

$ yarn install

Docker

$ docker compose up

Prisma

$ npx prisma migrate dev

Iniciando o servidor (acesso na porta 5050)

# watch mode
$ yarn start:dev

Testes

$ yarn test:e2e

Eventos Pub/Sub

Documentação dos eventos entre cliente e servidor

Types

type User = {
  id: number;
  username: string;
}

type Message = {
  id: number;
  createdAt: Date;
  text: string;
  user: {
      username: string;
  }
}

type DeleteMessage = {
  messageId: number;
}

type EditMessage = {
  messageId: number;
  text: string;
}

Eventos emitidos do servidor e acessados pelo cliente

// recebe um usuário quando ele se conecta ao chat
socket.on('connectUser', User);

// recebe um usuário quando ele se desconecta do chat
socket.on('disconnectUser', User);

// recebe uma mensagem recebida no chat
socket.on('receivedMessage', Message);

// recebe o id da mensagem deletada do chat
socket.on('messageDeleted', DeleteMessage)

// recebe o id e o conteúdo de uma mensagem editada no chat
socket.on('messageDeleted', EditMessage)

Eventos emitidos do cliente para o servidor

// envia uma lista de todos os usuários online quando um usuário se conecta pela primeira vez ao chat
socket.emit('firstConnection', User[])

// envia uma mensagem submetida no chat
socket.emit('sentMessage', Message)

// envia o id de uma mensagem deletada do chat
socket.emit('messageDelete', DeleteMessage)
  
// envia o id e o conteúdo de uma mensagem editada no chat
socket.emit('messageEdit', EditMessage)

Documentação

Nest Documentation.

Stay in touch

License

Nest is MIT licensed.

About

Real time chat implemented with nestJS and socket.io

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published