Uma plataforma para conhecer pessoas e fazer novos amigos através de chats aleatórios em vídeo. Possui uma proposta direta e simplificada. Clique aqui para conhecer.
Sobre o desenvolvimento
Uma pequena introdução sobre o desenvolvimento e tecnologias envolvidas. Para servir a aplicação é utilizado o NodeJS em conjunto com Express, uma framework HTTP estável e bem reconhecida. A necessidade de comunicação bidirecional em tempo real entre servidor e aplicação foi suprida através do Socket.io.
Como escalabilidade é um ponto importante, uma preocupação era em como possibilitar múltiplas instâncias da aplicação que rodam independentemente compartilharem os sockets, ou seja, o usuário iniciado numa instância enxergar o usuário iniciado em outra. Para isso foi utilizado o Redis para armazenamento centralizado e tratamento.
Agora, para controle dos usuários logados, combinação entre eles, criação de salas e controle de navegação para próximos usuários através de histórico. Foi utilizado o MongoDB, banco de dados NoSQL, na implementação.
A chamada em vídeo entre os usuários se dá por intermédio do WebRTC para comunicação ponto a ponto. Por se tratar de
uma tecnologia "nova" e em alguns lugares referenciarem como ainda em desenvolvimento e em estado experimental
(apesar de estar sendo amplamente utilizada), ainda existem algumas incompatibilidades entre sistemas operacionais e
browsers, foram necessárias algumas adaptações no decorrer do desenvolvimento, provavelmente será criado um artigo
futuramente sobre os pontos identificados.
Em conclusão, vale a pena a utilização. Implementação relativamente simples e outros ganhos, como descentralização e
alivio de processamento e banda por parte do servidor.
Sobre o front-end, HTML5 e CSS3, e pela proposta de simplicidade, sem utilização de frameworks CSS, ocasionando ganhos também de performance no carregamento. Sobre responsividade e estruturação, vale ressaltar os bons atributos do Flex do CSS. E a respeito das interações comportamentais, VueJS. Para desenvolvimento mobile foi utilizado o React Native
Stack das tecnologias utilizadas:
Back-end- NodeJS / JavaScript
- WebSocket / Socket.io
- Redis
- MongoDB
- WebRTC
- HTML5
- CSS3
- VueJS / JavaScript
- React Native
O projeto inicialmente tem uma proposta simples, mas com o decorrer do tempo, melhorias e novas features vão sendo implementadas.
Caso queira tirar alguma dúvida a respeito das tecnologias utilizadas, implementações ou contratempos que estejam tendo em implementações próprias. Pode entrar em contato clicando aqui.
Jhonatan S. Gonçalves