A prova acontecerá no dia 23/11 e terá o prazo de 2 horas para ser feita.
Segue prova do periodo passado.
Objetivo
O seu objetivo nessa avaliação é criar um sistema distribuído, seguindo o modelo cliente-servidor, para auxiliar a Chinook no cálculo do custo de envio de brindes a seus clientes. O seu sistema deverá ser composto por duas partes (uma para o cliente e outra para o servidor) que devem possuir as características e funcionalidades descritas abaixo.
Cliente
O Cliente deverá, utilizando a api do servidor e da here, exibir o custo de envio de brindes a seus melhores clientes dos países selecionados. O relatório deve informar, para cada país selecionado, o custo do envio para o cliente daquele país que mais gastou na chinook. Os países selecionados para o envio de brindes foram o Brasil, os Estados Unidos, o Canadá e a França.
Para cada um deles, o brinde será enviado do endereço relacionado abaixo:
País Endereço
Brasil Av. José de Souza Campos, 44, Campinas - SP
Estados Unidos 213 Madison St, New York - NY
Canadá 385 Ontario St, St. Catharines, ON
França 282 Avenue Daumesnil, Paris
Sabe-se que o custo de envio dos brindes é de US$0,01 por quilômetro.
Servidor
O servidor deverá responder a chamadas RESTful e retornar dados no formato JSON. O banco de dados a ser utilizado será o banco chinook que já deve estar configurado em uma instância MySQL na AWS, assim como foi utilizado em aula.
Seu servidor deverá implementar APENAS as seguintes rotas:
● lista_clientes: que recebe um parâmetro (nome do país) e retorna os clientes que residem naquele país;
● lista_pedidos: que recebe um parâmetro (id do cliente) e retorna os ids dos pedidos (invoices) que o cliente fez;
● get_valor: que recebe um parâmetro (id do pedido) e retorna o valor total do pedido;
Dicas
●
urllib.parse.quote() recebe uma string e a retorna num formato pronto para ser usado em uma url;
● O método index de uma lista recebe um valor e retorna o seu índice na lista;
● max () recebe uma lista e retorna o maior valor dela;
● O método append acrescenta um elemento numa lista
Também tenho as respostas se precisar.
Prazo de Entrega: Não estabelecido