O VamoAI é um projeto de formação de analista de dados, através de uma parceria do Ifood com a instituição de ensino Resilia.
Ao final de cada módulo desenvolvemos um projeto. E para o fechamento do segundo módulo nós tivemos que desenvolver um software de requisição de API's, estruturado com o padrão MVC (Model-View-Controller). Em nosso algoritmo utilizamos o paradigma orientado a objetos e boas práticas de desenvolvimento de código, para a construção de um código limpo.
O software recebe duas flags e retorna os dados em dois formatos diferentes: JSON e CSV.
A API que escolhemos para trabalhar foi a disponibilizada pela Marvel. Nela é possível obter dados sobre os heróis, as revistas em quadrinhos, os filmes, e muito mais sobre o universo fantástico da Marvel.
| Felipe Batista | Jênnifer Stéfani
| Michelle Lira
|
| Natalia Gomes
| Thiago Silva
|
Para obter os dados da API Marvel o usuário entrará em contato com a View do nosso software. A View exibirá na tela duas perguntas:
"Digite a palavra referente ao formato escolhido: "
"Informe a quantidade de herois desejada: "
A partir das escolhas do usuário a View chamará funções do Controller que, por sua vez, fará a ponte com o Model.
É no Model onde são feitas as requisições para a API da Marvel. É nela que a chave de acesso é construída através de bibliotecas e funções, para que consigamos puxar os dados em formato JSON ou CSV.
Para acessar a API Marvel é preciso uma chave de acesso. A chave é composta pela timestamp, pelas chaves pública e privada, e pela hash. As chaves, pública e privada, são únicas e fornecidas ao usuário quando cadastrado um login e senha no site da API da Marvel. Por questões de segurança nossas chaves não estão dentro do repositório. Para que o usuário rode o programa é preciso criar o arquivo apy_keys.py. O arquivo Python deve ter apenas duas variáveis: a public_key e a private_key. O arquivo será importado para o software.
Após a autentificação e requisição o Controller pega o arquivo feito pela Model, com as informações que o usuário deseja (quantidade e formato), e manda novamente para a View. Ela, a View, por sua vez formata o arquivo em uma lista e mostra para o usuário na tela o nome do herói, a descrição dele e quais as revistas em quadrinhos e séries ele aparece.
Segue abaixo um modelo visual de como funciona nosso software.

