Skip to content

Projeto desenvolvido durante Hackathon da Tech4Humans

Notifications You must be signed in to change notification settings

big-ricardo/Chat-Tech4Hack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Chat Tech4HACKATON


Descrição do Projeto

HACKATON Tech4Humans

O que foi feito como aplicação? Nós utilizamos o SignalR da Azure para a criação de uma aplicação com Login, Register e ChatRoom de broadcast e ao clicar em um Username você consegue mandar uma mensagem privada. Utilizamos em conjunto a API da GoTiT.

Objetivo de uso da API do GOTIT. Utilizamos a API para retornar as emoções e sentimentos em cada mensagem enviada dentro da ChatRoom.

Como instalar a aplicação com suas devidas configurações? Como instalar o banco de dados? Como executar? Foi descrito no (#Rodando).

Como utilizar? É necessário rodar a aplicação nos terminais, abrindo assim a URL localhost com a aplicação, onde você entra e clica em "Sign up for free" se não tiver conta, realizando o cadastro, logo depois você será redirecionado a uma rota de login, nela faça login entrando com suas credenciais e clicando em "Sign in". Ao realizar esses passos ira abrir uma tela com as rooms disponíveis ai só acessar uma para ir para o Chat.



Conteúdo

Tecnologias

Status

  • Finalizado.

Rodando

Começando:

É necessário que já esteja instalado em sua máquina:

Primero passo:

Crie uma pasta e execute o comando git clone nela:

# No terminal digite:
git clone https://github.com/Luiss1569/Chat-Tech4Hack.git

Segundo passo:

Baixe as depêndencias: O diretório Chat-Tech4Hack foi criado em sua máquina, entre no diretorio.

FrontEnd

No terminal rode:
# Vá até a pasta:
cd Chat-Tech4Hack/frontend
# Instale as depêndencias:
npm install

BackEnd

# Volte uma pasta com: cd ..
# Vá até a pasta:
cd Chat-Tech4Hack/backend
# Instale as depêndencias:
npm install

Terceiro passo:

Entre no site o pgAdmin e baixe para uma melhor facilidade na visualização da DataBase https://www.pgadmin.org/download/. Ou ultilize o terminal com os comandos de visualização da DataBase. De qualquer maneira você já deve ter conta no PostgreSQL para ter um username e password. É possível criar uma conta depois da instalação do pgAdmin ou diretamente no terminal.
Entre no site da GoTiT https://www.gotit.ai/ e crie uma conta, pegando seu username, password e chave API.

Entre no editor de código e entre no backend e crie uma pasta chamada .env: Adicionte o seguinte conteúdo trocando para seus dados do Banco de Dados:

TOKEN_SECRET=CHAVESECRETA

DATABASE_USERNAME=seu username aqui (by default é postgres)
DATABASE_PASSWORD=sua senha do banco aqui
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_DATABASE=nome da sua data base aqui

GOTIT_USERNAME=seu username da GoTiT aqui
GOTIT_PASSWORD=seu password da GoTiT aqui
GOTIT_URI=https://api.gotit.ai/NLU/v1.5

No Backend crie um file chamada local.settings.json e nele coloque o seguinte código

{
  "IsEncrypted": false,
  "Values": {
    "AzureSignalRConnectionString": passe o endpoint da azure aqui,
    "FUNCTIONS_WORKER_RUNTIME": "node"
  },
  "Host": {
    "LocalHttpPort": 7071,
    "CORS": "http://localhost:8080,https://azure-samples.github.io,passe a url do front end aqui",
    "CORSCredentials": true
  }
}

Entre no editor de código e entre no frontend e crie uma pasta chamada .env: Adicionte o seguinte conteúdo trocando para seus dados do Banco de Dados:

REACT_APP_MYAPI_URI=http://localhost:7071

Quarto passo:

Crie o Banco e a Table com o migration do Sequelize: Após alterar o .env, entre no terminal:

# Vá até a pasta:
cd Chat-Tech4Hack/backend
# Criando a DataBase:
npm sequelize db:create
# Criando a Table:
npm sequelize-cli db:migrate

Quinto passo:

Rode a aplicação: Abra dois terminais diferntes:

FronEnd

# Vá até a pasta:
cd Chat-Tech4Hack/frontend
# Rode a aplicação:
npm start

BackEnd

# Vá até a pasta:
cd Chat-Tech4Hack/backend
# Rode a aplicação:
func start

Se você seguiu os passos corretamente irá abrir uma aba no seu navegador principal, onde estará rodando a aplicação.

Criar uma Room

Infelizmente não foi possível adicionar uma página para criar uma nova room, sendo assim você deve criar uma conta e fazer login pelo site, com isso você será direcionado para a rota "/rooms". Não tendo nada pois não possui nenhuma room cadastrada em seu nome, para criar você deve acessar o seu Chrome DevTools ir "Application" depois em "Local Storage" terá um campo chamado token, você deve copia-lo.

Agora você deve acessar um simulador de chamadas API, ex: Postman, Insomina... Com ele aberto, você ira adicionar a rota onde o backend está rodando, comumente "http://localhost:7071" e adicionar "/api/room" ficando então "http://localhost:7071/api/room". Colocar o método da chamada para "post", no corpo da requisição você irá adicionar um objeto json contendo o nome da room que você deseja criar:

{
  "name": "nome da room"
}

Agora adicionar no cabeçalho da requisição um campo token onde você irá adicionar o token que foi copiado.

Com isso só enviar a requisição e atualizar a página do react, onde a room já ira aparecer para você, com isso só clicar nela que você será redirecionado para a tela de chat.

Testar.

Agora é só entrar na room, abra uma nova guia na tela incial do projeto sem fechar a anterior, crie e faça login com uma nova conta, agora entre na room ja criada e faça o teste do chat, não esqueça de manter a primeira tela aberta, senão você entrará em duas telas com o mesmo login!!!

Autores

Diovana Tavares dos Reis 🐣
Feito com ❤️ por Diovana Tavares 🤝 Entre em contato!

  
  

Luis Ricardo Santos 👾
Feito com ❤️ por Luis Ricardo 🤝 Entre em contato!

  
  

--- Copyright (c) 2021 Código e documentação: Diovana Tavares dos Reis & Luis Ricardo Santos ---

About

Projeto desenvolvido durante Hackathon da Tech4Humans

Topics

Resources

Stars

Watchers

Forks