Aplicação Back-end de um chat em tempo real desenvolvida utlizando Node.js, TypeScript, Web Sockets, banco de dados.
Configurações iniciais do projeto. Instalando express, TypeScript
Express: Para criar o servidor e lidar com as requisições.
TypeScript: A linguagem de programação utilizada. É o JavaScript com superpoderes :).
Ts Node Dev: Para fazer a leitura e execução do código TypeScript, já que o Node por padrão não entende algumas funcionalidades presentes na linguagem.
Cod. missaoespacial
EXTRAS: Adicionando o Prettier, Eslint e Editor Config para melhor organização do código.
Instalando, configurando e entendendo as ferramentas para lidar com armazenamento de informações dentro do banco de dados.
Sqlite: O banco de dados utilizado.
TypeORM: Ferramenta para fazer conexão com o banco de dados e lidar com as transações.
Cod. embuscadoproximonivel
Criando funcionalidades para envio de mensagens entre usuários e administradores por meio de requisições http. Foi ensinado mais detalhadamente como funciona criação de de tabelas, colunas e chaves estrangeiras, relacionamentos entre entidades e separação de responsabilidade do código entre serviços e controllers.
Cod. astronauta
Entendo na prática como funciona o web socket.
No protocolo HTTP, o tempo de vida da conexão entre cliente e servidor começa quando o cliente faz uma requisição e o servidor responde, seja com que o cliente estava esperando ou um erro. Com iso vale notar que, o servidor só vai passar informações para o cliente apenas se o cliente requisitar algo.
No protoco WS, web socket, o cliente se conecta com o servidor, é gerado um ID da conexão, e a conexão entre cliente e servidor só morre quando o cliente sair da conexão. Assim, uma vez que o cliente esteja conectado, o servidor estará livre para servir informações para cliente sem que ele tenha requisitado. É este protocolo utilizado em chats, notificações etc.
Socket.io: Biblioteca utilizada para fazer as requisições via Web Socket
Cod. universoinfinito
Finalizando o sistema de chat de suporte, onde um atendente poderá se comunicar em tempo real com o usuário.