Danilo S. Carvalho, Ph.D. Research Associate - Artificial Intelligence / NLP

Projeto final da disciplina - Computação II (DCC - UFRJ) - PLE

Atenção: Escrever Javadoc para todos os programas.

Regras do projeto final:

  • O trabalho deve ser feito em grupos de até 5 alunos.
  • A composição dos grupos deve ser enviada para o professor até uma semana antes da data de entrega.
  • O questionário final será uma entrevista individual (~10 min.) a ser marcada após a data de entrega do trabalho, onde serão feitas questões a respeito da solução desenvolvida e da participação do aluno no trabalho.

Utilizando a API pública do serviço Web “COVID19 API”, implemente um sistema em Java que ofereça as seguintes funcionalidades:

  • Ranking internacional de número de (casos/recuperados/mortos), por período selecionado.
  • Ranking internacional de crescimento de casos/recuperados/mortos, por período selecionado.
  • Ranking internacional de mortalidade, por período selecionado.
  • Locais mais próximos do local com maior crescimento de casos confirmados em um período de tempo, até um raio r (km). Nota: vocês podem “planificar” a Terra para esse cálculo.
  • Opção para guardar consultas feitas.
  • Opção de exportar rankings para arquivos CSV/TSV.

O sistema deve possuir uma GUI (Swing ou Web) para interação com o usuário e os rankings devem poder ser visualizados por essa interface.

Desenvolva o sistema a partir do diagrama UML de classes para o modelo de dados abaixo:

Diagrama de classes

Outros requisitos:

  • O código deve aplicar o padrão de projeto MVC e pelo menos mais um de livre escolha.
  • A classe abstrata Estatistica deve ser concretizada no Controller para o cálculo das estatísticas baseado nas observações coletadas (ex: TotalRecuperados extends Estatistica).

Dicas:

  • Utilize a classe HttpClient para fazer requisições e a biblioteca externa JSON.simple para interpretar as respostas.

Procure utilizar o máximo de conceitos vistos na disciplina até a última aula.

Parte da nota do trabalho será julgada conforme o número e corretude dos conceitos aplicados.