Vamos dar uma olhadinha aqui no computador do professor. Bem, a nossa avaliação. Primeiro, qual o contexto da ficha que a gente vai criar?
Ah, imagina que a gente tá em uma reunião no Google Meet mesmo, a gente tá a nossa aula, a gente tem um encontro mais formal, seja com alunos ou outras ã organizações. E ao final dessa reunião do Google Meet, 10 a 20 minutos depois que a gente encerra essa gravação, o Google envia um e-mail pra gente disponibilizando algumas informações daquele nosso encontro. Os e-mails t essa carinha aqui.
Ah, tem lá o registro da reunião, o dia que ocorreu, a hora que ocorreu e alguns arquivos aqui de recursos disponibilizados pelo Google. a gravação daquele encontro, ã, uma transcrição de tudo que foi dito no chat e aqui a participação das pessoas que estavam naquela reunião. Aqui nesse relatório de participação, a gente tem o nome da pessoa, sobrenome dos e-mails e quanto tempo aquela pessoa passou na reunião.
Legal. H, esse funcionalidade aqui de participação da reunião, ela é um recurso recente do Google. Até alguns semestres anteriores, eu acho que no final do ano passado, a gente não tinha esse recurso ainda.
O que era ofertado pelo Google era apenas transcrição e a gravação. A gente ainda não tinha esse recurso de participação da reunião. Ah, a nossa equipe, né, os nossos clientes, eles têm uma série de outras gravações com transcrições de gravações de momentos anteriores que não vieram com essa lista de participação.
Ã, então a gente tá interessado em OK. Ah, o que que a gente pode fazer para pintar a partir de apenas dos outros dois arquivos, olhando ali na nosso contexto histórico, tentar extrair uma lista de participação. A gente poderia tentar olhar em gravações e identificar o momento que a pessoa fala, mas isso é computacionalmente bem complexo, é muito mais fácil a gente olhar se aquela pessoa falou ou não no decorrer da reunião, se ela falou no decorrer daquela reunião que a gente consegue estimar que ela estava presente aí na reunião.
é uma forma, né, aproximada de tentar obter essa lista de frequência, professor, mas é uma funcionalidade que já existe, eu sei, mas tem um conjunto de dados anteriores, gravações e transcrições que não tinham a lista de participação, porque a Google ainda não disponibilizava essa funcionalidade e a gente tá interessado em resgatar a lista de alunos presentes. E se não é, né, não é motivação suficiente para você, é no mínimo um bom exercício. O que que a gente vai fazer a partir dessas transcrições, a gente vai criar uma funcionalidade que vai pegar o nome de todas as pessoas que comentaram no chat.
Então, por exemplo, a Valdenusa comentou aqui nesse momento no chat, então ela deve estar presente na lista de frequentes. Ã, Elisâel falou aqui, então também deve estar presente. Então, basicamente a gente vai olhar quem falou no decorrer do chat e dizer que aquela pessoa estava presente gerando uma lista onde ela estaria incluída.
Beleza? Então, seria mais ou menos assim a gente pudesse trabalhar esses arquivos. a gente teria uma transcrição, esse aqui seria o nosso arquivo de entrada, a transcrição da conversa, que nada mais era do que um arquivo de texto puro, né?
O Google aqui dá uma extensão ponv, mas é bobagem, é um arquivo de texto puro. E a partir deste arquivo, a gente quer extrair algo assim, ó. Então, a partir do que é fornecido à esquerda, a gente quer criar uma funcionalidade que gera uma listinha assim à direita.
o nome de todo mundo, meta maiúscula, ã, ordenado em ordem alfabética. Beleza? Essa é o nosso objetivo de feature.
OK? Uma vez que a gente viu esse contexto, a gente consegue já falar sobre a nossa avaliação. Que que eu quero?
Eu quero que você crie uma feature, ou seja, essa funcionalidade que a gente acabou de falar de extração de uma lista de presentes a partir de transcrição, desculpa, não é transição, é transcrição da reunião do Google. Beleza? Então você vai criar ali uma função, uma classe ou que você achar que seja ã necessário para me fornecer essa funcionalidade.
Vai ter uma função, um objeto que vai ler um arquivo, vai extrair lá a lista dos presentes, colocar em letra maiúscula, ordenar em ordem alfabética e cuspíso pra gente um determinado arquivo de saída. Essa sua funcionalidade, ele é um conjunto de código, seja na linguagem que você tiver vindo. E eu quero que você me forneça ela como uma ferramenta de linha de comando.
Como assim? Eu quero que você me forneça alguma ferramenta que por linha de comando eu possa chamar essa ferramenta, dizer qual é o arquivo da transcrição, dizer onde esse arquivo está e dizer qual é o arquivo que eu quero que ele gere. Ou seja, o arquivo que eu quero que ele escreva o nome dos presentes.
A tecnologia que você vai utilizar para isso não é tão importante. Você pode usar um node com JavaScript, você usa Python, Rub, JavaScript, não importa. Eu quero a funcionalidade e que você me forneça ela como interface de linha de comando.
Aqui a gente tá treinando, né, o que a gente abordou na primeira etapa da disciplina que é programação para back ende. E para não te amarrar no node, você pode usar outras linguagens de programação. Se você me entregar essa funcionalidade, essa ferramentazinha de linha de comando, eu consigo executar, ela gere isso tudo direitinho, eu vou tirar sete pontos.
Tá? E quais são os outros três pontos, professor? É porque essa é a parte um, a parte principal da nossa avaliação, OK?
Você conseguiu fornecer aquela funcionalidade que você escreve, sei lá, em JavaScript via uma ferramenta de linha de comando. OK, agora eu quero que você me forneça ela também como um API na web. Eu quero que ã você cria ali um servidorzinho web.
Se você tiver usando Node, você pode usar o Express para isso. Se você está usando Python, você pode usar FPI ou Flask, Jungle. Se você tá usando rub, você pode usar Ray.
Enfim, eu quero que você me ofereça um API web, onde eu possa fazer um post, né, naquela rota mandando um arquivo. Você vai ler esse arquivo lá no seu servidor e você vai utilizar a funcionalidade, a feature que você já tem e vai retornar para mim um objeto Johnson, né, dizendo ali, ó, eh, um objeto Johnson, onde eu vou ter um campo presente e a lista de pessoas presentes naquela reunião. Então, observa como você tem lá a funcionalidade lá, que podia ser, por exemplo, uma função.
Vamos pegar aqui um exemplo, uma função bit que você criou, ela lê um arquivo e escreve um arquivo. Aí você tem uma pincelada, adicionou algum código para oferecer ela como linha de comando. Legal.
Você simplesmente vai tirar a capinha que oferece aquela funcionalidade como linha de comando. E agora você bota outra capa para ser um API web. Quando eu falo capa, é criar o seu projetinho web lá com o Apress, o Alexpress, por exemplo, e quando pesquisar aquela rota a Pon de frequência, você chama a sua função, retorna o que você deseja e manda isso pro cliente.
E como último ponto, né, ali, ó, ofereci dois pontos até o servidor web. O último ponto para você fechar o 10 que você quiser é você criar para mim a interface ali do cliente, né, um cliente web, um formulariozinho onde eu possa lá eh clicar no botão, dizer qual é o arquivo que eu quero, apertar analisar. O meu navegador, meu cliente vai enviar isso pro teu servidor.
Você vai executar a tua feitora lá extraindo a lista de presentes. Vai retornar para mim, para esse cliente aqui, eh essa lista de presente como Jason e vai povoar aqui um campo de texto, colocando aqui as pessoas que estavam presentes. Então, como é que seria novamente aqui a o fluxo?
Eu clicaria aqui no botão, procuraria o meu sistema de arquivo, o arquivo da transcrição. Depois de achar esse arquivo, o nome do arquivo aparece aqui. Clico em analisar, ele envia isso pro teu cliente ou teu servidor.
o teu servidor tá lá com a tecnologia que você tiver utilizando, ele vai usar a funcionalidade que tu criou, aquela função, aquelas classes, vai extrair daquele arquivo a lista de presentes e vai retornar para esse navegador, para esse cliente via Johnson essa lista de presentes. O navegador vai receber e vai preencher aqui, ó, pa pa, esse campo de texto, essa caixa de texto. Legal, né?
Então você cria uma funcionalidade em alguma tecnologia, depois vai oferecer ela como linha de comando, como API Rest. E depois você pode me ofertar isso, né, essa API RES ali me mostrando, funcionando na prática, desenvolvendo também o cliente. Então essa é a nossa avaliação.