Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Widget web de interação da Aura #21

Closed
Dovyski opened this issue Dec 8, 2021 · 3 comments · Fixed by #24
Closed

Widget web de interação da Aura #21

Dovyski opened this issue Dec 8, 2021 · 3 comments · Fixed by #24
Assignees

Comments

@Dovyski
Copy link
Contributor

Dovyski commented Dec 8, 2021

O objetivo dessa issue é replicar o chat de interação da Aura existente no app-practice em uma outra página web (servida junto com a api). A url/rota da api que servirá essa página será GET /v0/widgets/aura.

Existem dois caminhos possíveis para se seguir (faz parte dessa tarefa analisar eles e fazer a decisão)

  • Tentar utilizar ao máximo o código/estilo/estrutura do app-practice (e por tabela o framework7). Nesse caso, teríamos que remover tudo que é relacionado com o app e deixar só a tela da aura (remover header, storage, etc). A vantagem é que implementações futuras da Aura no app podem ser "facilmente" adaptadas para o widget, mantendo os depois com paridade de funcionalidades. A desvantagem maior é que contorcer o framework7 para isso talvez seja muito mais complicado do que implementar somente a tela do chat da Aura do zero utilizando html/css/js puro.

  • Implementar essa página do zero, utilizando html/css/js. A vantagem é que temos controle total do que será feito, inclusive replicar o layout do chat (que não é difícil de ser feito). A desvantagem é que, se implementarmos algo novo no app practice da Aura, teremos que portar isso para o widget.

Faz parte dessa tarefa também fazer o JS responsável por enviar as perguntas do chat para a API da Aura receber como parâmetro GET da URL da página o token do usuário. Por exemplo, imaginando que a página do widget é https://practice.uffs.edu.br/api/v0/widgets/aura e que ele seja colocado em um iframe em alguma página qualquer (do mural), ela seria colocada assim:

<iframe src="https://practice.uffs.edu.br/api/v0/widgets/aura?token=TOKEN_DO_USUARIO_AQUI"></iframe>

A página servida de https://practice.uffs.edu.br/api/v0/widgets/aura carregará o chat e o seu JS normalmente. O JS deverá buscar a query parameter token da URL da página para saber qual token utilizar nas requisições da API (no Authentication: Beaer XXXX).

Abaixo está uma função pronta para isso (utilizada no maker):

function getURLParam(name, defaultValue) {
    var urlParams = new URLSearchParams(window.location.search);
    var value = urlParams.get(name) || defaultValue;
    return value;
};
@GuilhermeGraeff
Copy link

Eu peguei essa issue pois acho que ela vai ser desafiadora e por isso acho que vou aprender bastante realizando ela :)

@GuilhermeGraeff
Copy link

GuilhermeGraeff commented Dec 21, 2021

Primeiramente eu imaginei que consiguiria realizar esta tarefa, porém não tive como dar muita atenção para ela, por conta das tarefas relacionadas ao treinamento da aura. Então, infelizmente, não consegui finalizar.

Após tentar fazer a integração do chat do framework7 diretamente para o Laraval, decidi que desenvolveria a tela do zero, utilizando o Livewire (que deu certo a parte do layout e tudo, só tem que ver se tá bonito msm), as requisições para conseguir as respostas da aura pela api por conta de eu ter conseguido instalar os ambientes funcionam de boa (testadas pelo POSTMAN), porém estou com problemas em realizar as requisições do próprio laravel para a api :(


Assim ficou o chat ( pra dar uma ideia de como está ficando :) ):

image

@GuilhermeGraeff
Copy link

GuilhermeGraeff commented Jan 19, 2022

Por enquanto ela ainda não está respondendo como deve, mas tá respondendo :)
Desenvolvi, utilizando o livewire, o chat sem autenticação para colocar nos serviços do PRACTICE.
Eu enxertei um iframe no site do mural para testar, futuramente pode ser feito um botão e tudo...

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🟣 Pronto
Development

Successfully merging a pull request may close this issue.

3 participants