Tenho um sistema de gerenciamento de contratos com diversas funcionalidades, mas preciso fazer um app para melhorar a experiência de meu usuário. O app, foi pensado em estilo do Messenger e, seguindo a linha do Messenger, fazer a sua criação utilizando React-Native como framework de desenvolvimento, pensando-se na questão da diversa gama de bibliotecas que podem ser utilizadas e também para que o mesmo seja híbrido para iOS e Android que é o nosso principal intuito.
Como UI para o chat, foi pensado em ser utilizado o Gifted Chat (
https://github.com/FaridSafi/react-native-gifted-chat). O chat para ter a experiência desejada também deve ser capaz de mandar documentação anexada utilizando função de scanner (via react-native-document-scanner) ou então somente realizando o “crop” da foto retirada no momento do envio (via react-native-perspective-image-cropper). Para que tudo seja possível também é necessária a construção de uma api rest para fazer a comunicação do app com o banco de dados atualmente utilizado.
Para esta API a solução abordada seria um servidor Nodejs utilizando
Knex.js para comunicação com o banco.
As bibliotecas citadas foram pensadas justamente pela questão de como elas conseguem alcançar o nível, seja estético ou de funcionalidade que desejamos no app, mas fica a critério a mudança.
Seguindo a descrição acima, seria necessário então um aplicativo de chat basicamente com uma tela de autenticação (via username e password), a tela inicial com um header simples de apresentação do usuário. Uma navbar de mensagens e de contatos (semelhante ao do WhatsApp, somente com essas duas opções), onde a aba mensagens constaria todas as pessoas com quem o usuário já iniciou conversas (modelo imaginado: Circle image na esquerda com a foto de perfil do usuário, grid layout contendo na primeira coluna o nome na primeira linha e a empresa a quem a pessoa faz parte no sistema na segunda linha e na segunda coluna, na primeira linha o datetime em que foi enviada a mensagem e na segunda linha um badge com o número de mensagens não lidas), enquanto na aba contatos constaria todas as pessoas com quem o usuário pode se comunicar (mesmo modelo do anterior, porém sem a segunda coluna com informações de mensagens enviadas).
Prazo de Entrega: 26 de Dezembro de 2017