app.component.html 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <h3>Desafio Dito Front-end</h3>
  2. <p>
  3. A solução foi desenvolvida utilizando Angular6 + SCSS. O código fonte está disponível no repositório git.
  4. <a href="https://git.eugeniocarvalho.dev/eugeniucarvalho/dito-front">https://git.eugeniocarvalho.dev/eugeniucarvalho/dito-front</a>
  5. </p>
  6. <h4>Recursos Utilizados</h4>
  7. <ul>
  8. <li>Foi utilizada a fonte <a href="https://fonts.googleapis.com/css?family=Roboto">Roboto</a></li>
  9. <li>Os icones foram convertidos para uma font utilizando o serviço <a href="http://fontastic.me/">fontastic.me</a></li>
  10. <li>As datas foram tratadas com o framework <a href="https://momentjs.com/">moment.js</a></li>
  11. <li>Os valores foram formatados utilizando o pipe de currency do angular.</li>
  12. </ul>
  13. <h4>Caracteristicas da Solução</h4>
  14. <p>
  15. Foi criado um component <b>TimelineComponent</b> que se comunica com um serviço <b>ApiEventsService</b>.
  16. O component realiza uma chamada ao serviço que devolve uma estrutura organizada que facilita a renderização por
  17. parte do component.
  18. </p>
  19. <p>
  20. O serviço consome os dados do endpoint <a href="https://storage.googleapis.com/dito-questions/events.json">https://storage.googleapis.com/dito-questions/events.json</a>.
  21. </p>
  22. <blockquote>
  23. * Não foi possivel realizar a chamada ajax para o endpoint devido a uma restrição de cross-origin não
  24. especificada no arquivo armazenado no storage do google.
  25. O serviço possui o código que representa a requisição ajax. Para demonstrar o funcionamento do component o
  26. conteudo do arquivo foi inserido manualmente como entrada da chamada.
  27. Detalhes sobre o cors no google cloud storage podem ser obtidos <a href="https://cloud.google.com/storage/docs/configuring-cors">aqui</a>.
  28. </blockquote>
  29. <h4>Tratamento da Entrada</h4>
  30. <p>
  31. O conteudo da entrada passa por um processamento onde os dados são selecionados e reorganizados.
  32. O serviço gera uma lista de transações. Cada transação possui uma lista de itens e um header.
  33. Uma representação da classe encontra-se abaixo.
  34. </p>
  35. <pre [innerHTML]=classe></pre>
  36. <h4>Component em execução</h4>
  37. <dito-timeline></dito-timeline>