Skip to content

Projeto para o material de estatística aplicado, feito com arquitetura MVC

Notifications You must be signed in to change notification settings

magaum/EstatisticaMVC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EstatisticaMVC

Codacy Badge Build Status Coverage Status

Projeto para a materia de Estatística Aplicada e Engenharia de Software III, criado com o padrão de arquitetura MVC.

Para que o projeto funcione o arquivo example.properties deve ser renomeado para token.properties e o token gerado no botfather deve ser adicionado no arquivo para que a integração com o telegram ocorra.

Links para consulta:

Diagrama de classes

Diagrama de classes

Funcionamento do sistema


Informações sobre o Bot

Informacoes bot


Primeiro comando

Tela inicial


Resposta do Bot

Primeira interacao


Calculando Media

Calculando media


Calculando Moda

calculando moda


Calculando Mediana

Calculando mediana


Recuperando informações salvas

Recuperando informações

O arquivo historico.pdf tem o formato como no exemplo abaixo:

PDF exemplo


Tratativa para comandos inválidos

As tratativas demonstradas abaixo são respectivamente:

  1. Mensagens inválidas para realizar operações: as mensagens aceitas são somente Media, Moda ou Mediana;
  2. Mensagens inválidas em operações: mensagens aceitas são apenas números separados entre ponto e vírgula (exemplo 1;2;3;4);
  3. Consulta de relatório de requisições vazio (o usuário ainda não requisitou nenhuma operação ao bot, portanto não existe histórico salvo no banco de dados);
  4. Mensagens inválidas em operações (item 2).

Tratando erros


Deploy no heroku

Foi gerado o Dockerfile abaixo:

FROM openjdk:8
ADD ./estatistica /home/
WORKDIR /home/
RUN adduser --disabled-password user 
USER user
CMD ["java","-jar","estatisticaMVC.jar"]

O diretório estatistica, localizado no mesmo diretório do arquivo Dockerfile citado acima contém a seguinte estrutura:

  • estatistica/files/imgs/boxPlots/
    • Diretório onde os box plots são gerados
  • estatistica/files/pdf/
    • Diretório onde os PDFs são gerados
  • estatistica/db/bancoProblemas.db4o
    • Arquivo do banco de dados db4o
  • estatistica/src/main/resources/token.properties
  • estatistica/log4j.properties
    • Arquivo de propriedades do Log4j
  • estatistica/estatisticaMVC.jar
    • Arquivo jar executável do projeto.

Para fazer o deploy da aplicação no heroku é necessário executar os comandos:

heroku container:login
heroku container:push [tipo de aplicação] --[nome da aplicação]
heroku container:release [tipo da aplicação] --[nome da aplicação]
  • Tipo de apliação: web ou worker.
  • Nome da aplicação: pode ser visualizado no heroku, ou ao executar o comando heroku create.

Com o log4j, é possível acompanhar as requisições feitas ao bot, clicando em "More > View logs" no site heroku.

Logs do heroku

Dependência quebrada

A dependência db4o está disponível no site MVN Repository, porém está quebrada, por isto foi necessário baixa-la manualmente e adiciona-la ao projeto.