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:
O arquivo historico.pdf tem o formato como no exemplo abaixo:
As tratativas demonstradas abaixo são respectivamente:
- Mensagens inválidas para realizar operações: as mensagens aceitas são somente Media, Moda ou Mediana;
- Mensagens inválidas em operações: mensagens aceitas são apenas números separados entre ponto e vírgula (exemplo 1;2;3;4);
- 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);
- Mensagens inválidas em operações (item 2).
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
- Arquivo de propriedades do Telegram
- 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.
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.