Introdução
Os arquivos estão organizados em pacotes Go, sendo esses os quatro principais:
download/responsável pelo download dos dados (basicamente uma automação utiliZando ochunk)transform/é um ETL que lê os arquivos baixados pelo pacote acima, processa cada um deles e salva os dados no banco de dados — entenda melhor sobre essa etapa lendo sobre os detalhes do ETLdb/implementação dos backends de banco de dados, ou seja, implementa as interfaces necessárias pelo ETL e pela API em diferentes bancos de dados (PostgreSQL é utilizado em produção)api/a API web que serve os dados do projeto para o público
Escreva testes e rode os testes, use autoformatação e linter:
$ gofmt ./
$ golanglint-ci run ./...
$ go test --race ./...
Os testes requerem uma instância de cada banco de dados implementado. Atualmente eles precisam ser configurados em TEST_POSTGRES_URL e TEST_MONGODB_URL, como no exemplo em .env, e podem ser facilmente criados com o Docker Compose.