A solução foi desenvolvida utilizando Angular6 + SCSS. O código fonte está disponível no repositório git. https://git.eugeniocarvalho.dev/eugeniucarvalho/dito-front
Foi criado um component TimelineComponent que se comunica com um serviço ApiEventsService. O component realiza uma chamada ao serviço que devolve uma estrutura organizada que facilita a renderização por parte do component.
O serviço consome os dados do endpoint https://storage.googleapis.com/dito-questions/events.json.
* Não foi possivel realizar a chamada ajax para o endpoint devido a uma restrição de cross-origin não especificada no arquivo armazenado no storage do google. O serviço possui o código que representa a requisição ajax. Para demonstrar o funcionamento do component o conteudo do arquivo foi inserido manualmente como entrada da chamada. Detalhes sobre o cors no google cloud storage podem ser obtidos aqui.
O conteudo da entrada passa por um processamento onde os dados são selecionados e reorganizados. O serviço gera uma lista de transações. Cada transação possui uma lista de itens e um header. Uma representação da classe encontra-se abaixo.