{"id":36523044,"url":"https://github.com/dadosjusbr/api","last_synced_at":"2026-03-03T08:29:46.878Z","repository":{"id":38192249,"uuid":"146936638","full_name":"dadosjusbr/api","owner":"dadosjusbr","description":"Site que publica as informações libertadas pelo DadosJusBR","archived":false,"fork":false,"pushed_at":"2025-06-26T13:51:56.000Z","size":24660,"stargazers_count":41,"open_issues_count":8,"forks_count":6,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-01-12T05:28:03.695Z","etag":null,"topics":["dados-abertos","dadosabertos","golang","hacktoberfest","open-data","opendata"],"latest_commit_sha":null,"homepage":"https://dadosjusbr.org","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dadosjusbr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-08-31T19:53:03.000Z","updated_at":"2025-11-12T11:36:33.000Z","dependencies_parsed_at":"2024-01-18T04:51:05.571Z","dependency_job_id":"ba70a7cc-8a88-464c-99b1-fc0c0899f711","html_url":"https://github.com/dadosjusbr/api","commit_stats":{"total_commits":965,"total_committers":24,"mean_commits":"40.208333333333336","dds":0.661139896373057,"last_synced_commit":"187b8a27aeed3fa2347b198a4e6b759eaa3cc381"},"previous_names":["dadosjusbr/remuneracao-magistrados"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dadosjusbr/api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadosjusbr%2Fapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadosjusbr%2Fapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadosjusbr%2Fapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadosjusbr%2Fapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dadosjusbr","download_url":"https://codeload.github.com/dadosjusbr/api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadosjusbr%2Fapi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30037274,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T06:58:30.252Z","status":"ssl_error","status_checked_at":"2026-03-03T06:58:15.329Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dados-abertos","dadosabertos","golang","hacktoberfest","open-data","opendata"],"created_at":"2026-01-12T02:52:56.428Z","updated_at":"2026-03-03T08:29:46.873Z","avatar_url":"https://github.com/dadosjusbr.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Api dadosjusbr.org\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/dadosjusbr/remuneracoes)](https://goreportcard.com/report/github.com/dadosjusbr/remuneracoes)\n\n### Link da nossa documentação: https://api.dadosjusbr.org/doc\n\nA Lei de Acesso à Informação [(Lei n. 12.527, de 2011)](http://www.planalto.gov.br/ccivil_03/_ato2011-2014/2011/lei/l12527.htm), regula a obrigatoriedade da disponibilização na internet dos dados de gastos público, porém esses dados não são padronizados e cada órgão tem sua própria formatação, podendo ser encontrado em diversas nomenclaturas e tipos diferentes de arquivos (pdf, html, planilhas eletrônicas, json e etc). Por esse motivo, esses arquivos não possuem um formato amigável para ser usado por ferramentas de análise e processamento de dados.\n\nPensando nisso, o projeto [dadosjusbr](https://github.com/dadosjusbr) tem como principal objetivo prover acesso às informações de remunerações do sistema judiciário de forma consolidada e em formato aberto. Para tal, utilizamos do framework Nextjs para criar as interfaces do usuários e alimentamos essas interfaces com um servidor ambientado em GoLang.\n\nCom essas tecnologias como base, criamos sistemas computacionais que realizam a coleta, conversão, consolidação e validação dos dados de forma contínua. O DadosJusBr é conectado aos repositórios [coletores](https://github.com/orgs/dadosjusbr/repositories?q=coletor), que são responsáveis por adquirir os dados dos órgãos e padronizá-los. Já o repositório de [storage](https://github.com/dadosjusbr/storage), é responsável pelo armazenamento desses dados coletados.\n\nCom o monitoramento contínuo, podemos cobrar a disponiblização ou correção de informações, caso necessário. Por fim, disponibilizamos o [DadosJusBr](https://dadosjusbr.org/), um portal onde os dados são publicados em um formato amplamente compatível com ferramentas de análise e processamento de dados e estão organizados em uma página por mês de referência. Mais informações [aqui.](https://dadosjusbr.org/#/sobre)\n\nEsse projeto foi elaborado com o intuito de praticar a cidadania e tornar os dados mais acessíveis para o cidadão. Você cidadão/empresa pode fazer parte dessa jornada conosco, quer saber como?\n\n- Informe se há alguma inconsistência ou erros na api.\n- Atue como fiscal e cobre dos órgãos sobre a disponibilidade dos dados à população.\n- Sugira novos órgãos para elaboração de robôs, se tiver conhecimento, desenvolva um.\n- Sugerir coisas interessantes que você acha que irão contribuir para o projeto!\n\n## Como rodar a aplicação localmente?\n\n#\n\n### Caso você não tenha [Docker](https://www.docker.com/get-started/) e o [Docker compose](https://docs.docker.com/compose/install/) instalados na sua máquina, é necessário as seguintes dependências:\n\n- [GoLang](https://golang.org/doc/install) Versão 1.18+\n\n- [Postgresql](https://www.postgresql.org/download/) Versão 14.4+\n\n#\n\n### Fazer o download do repositório remuneraçoes:\n\n```console\n$ git clone https://github.com/dadosjusbr/api.git\n```\n\n### Após a instalação, Renomear o arquivo `.env.example` na raiz do projeto para `.env` e configurar suas variáveis de ambiente:\n\n| Variável              | Descrição                                                                                                                    | Exemplo                         |\n| --------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------- |\n| PORT                  | Porta que servirá a API                                                                                                      | 8081                            |\n| DADOSJUSBR_ENV        | O ambiente a ser executado                                                                                                   | 'Development' ou 'Production'   |\n| DADOSJUS_URL          | URI utilizada para mapeamento dos arquivos para download para o site do DadosJusBr                                           | https://dadosjusbr.org/download |\n| PACKAGE_REPO_URL      | URI utilizada para mapeamento dos arquivos para download para o repositório de arquivos AWS S3                               | https://example.amazonaws.com   |\n| SEARCH_LIMIT          | Número limite de dados que a rota de pesquisa irá trazer                                                                     | 100                             |\n| DOWNLOAD_LIMIT        | Número limite de dados que a rota de download irá baixar                                                                     | 10000                           |\n| PG_DATABASE           | Nome do banco de dados postgres                                                                                              | dadosjusbr                      |\n| PG_USER               | Nome do usuário do banco de dados postgres                                                                                   | dadosjusbr                      |\n| PG_PORT               | Porta de conexão com o banco de dados postgres                                                                               | 5432                            |\n| PG_HOST               | Host do banco de dados postgres                                                                                              | localhost                       |\n| PG_PASSWORD           | Senha do banco de dados postgres                                                                                             | dadosjusbr                      |\n| NEWRELIC_APP_NAME     | Nome do app New Relic                                                                                                        |                                 |\n| NEWRELIC_LICENSE      | Licensa New Relic                                                                                                            |                                 |\n| AWS_S3_BUCKET         | Nome do bucket localizado no AWS S3                                                                                          | dadosjusbr                      |\n| AWS_REGION            | Região da AWS onde o bucket do AWS S3 está localizado                                                                        | us-east-1                       |\n| AWS_ACCESS_KEY_ID     | Chave de acesso da aws, essa variável de ambiente é utilizada quando queremos rodar a aplicação utilizando elastic beanstalk |                                 |\n| AWS_SECRET_ACCESS_KEY | Chave secreta da aws, essa variável de ambiente é utilizada quando queremos rodar a aplicação utilizando elastic beanstalk   |\n\n\u003e ## Atenção\n\u003e\n\u003e Caso você utilize o Docker para executar o script, saiba que o host do banco de dados postgres precisa ser o endereço IP da sua máquina, pois o Docker não consegue acessar o banco utilizando \"localhost\" como host local.\n\u003e Para saber o endereço IP da sua máquina, rode o seguinte comando no terminal:\n\n```console\n$ hostname -I | cut -d\" \" -f1\n```\n\nSerá exibido algo parecido com isso:\n\n\u003e 123.456.789.10%\n\nCopie tudo que estiver antes do \"%\" e cole na variável de ambiente PG_HOST\n\n## Rodando o servidor sem Docker\n\nPara rodar o servidor sem utilizar o Docker, execute o seguinte comando no terminal:\n\n```console\n$ go run .\n```\n\n## Rodando o servidor com Docker\n\nPara rodar o servidor utilizando o Docker, execute o seguinte comando no terminal:\n\n```console\n$ docker-compose -f docker-compose-dev.yml up -d\n```\n\nPara exibir os logs do docker e saber se ocorreu tudo bem:\n\n```console\n$ docker-compose logs\n```\n\nPara parar o container\n\n```console\n$ docker-compose -f docker-compose-dev.yml down\n```\n\n## Rodando o servidor utilizando o elastic beanstalk cli\n\nPrimeiramente, é necessário realizar a [instalação do eb cli](https://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/eb-cli3-install.html)\n\nApós ter realizado a instalação, configure o eb cli para que ele utilize as variáveis de ambiente localizadas no .env\n\n```console\neb local setenv `cat .env | sed '/^#/ d' | sed '?^$/ d'`\n```\n\nLembrando que é necessário configurar as variáveis de ambiente AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY no .env\n\nApós estar tudo configurado, basta executar:\n\n```console\neb local run\n```\n\n## Testando servidor\n\nCaso a execução tenha sido realizada com sucesso, você pode utilizar o seu cliente de api REST para acessar o servidor local, que está localizado em http://{HOST}:{PORT}/v1/orgaos\n\n## Documentando as rotas da API utilizando o swagger\n\nO swagger é uma ferramenta que ajuda no processo de documentar rotas de API's. Na API do DadosJusBr, utilizamos a biblioteca [swaggo](https://github.com/swaggo/swag) para criar as documentações. Com essa biblioteca, basta que a gente adicione comentários no nosso código e a documentação será gerada.\n\nPara utilizar o swaggo, é necessário primeiramente ter o binário instalado. Para instala-lo, basta executar o seguinte comando:\n\n```console\n$ go install github.com/swaggo/swag/cmd/swag@latest\n```\n\nCom o binário instalado, podemos iniciar a criação da documentação.\n\nComo exemplo iremos documentar a rota da api `/v1/orgao/:orgao`. Os passos são:\n\n### 1 - Ir até o método chamado pela rota(nesse caso será o `GetAgencyById`)\n\n```\nfunc (h handler) GetAgencyById(c echo.Context) error {\n  ...\n}\n```\n\n### 2 - Adicionar, logo acima da declaração do método, os campos que a documentação da rota terá. O swaggo cria a documentação através dos comentários seguidos de anotações.\n\n```\n//\t@ID\t\t\t\tGetAgencyById\n//\t@Description\tBusca um órgão específico utilizando seu ID.\n//\t@Produce\t\tjson\n//\t@Param\t\t\torgao\t\t\t\tpath\t\tstring\ttrue\t\"ID do órgão. Exemplos: tjal, tjba, mppb.\"\n//\t@Success\t\t200\t\t\t\t\t{object}\tagency\t\"Requisição bem sucedida.\"\n//\t@Failure\t\t404\t\t\t\t\t{string}\tstring\t\"Órgão não encontrado.\"\n//\t@Router\t\t\t/v1/orgao/{orgao} \t[get]\nfunc (h handler) GetAgencyById(c echo.Context) error {\n...\n}\n```\n\nO swaggo possui diversos atributos que podem ser adicionados na documentação, você pode ver quais são esses atributos na [documentação do swaggo](https://github.com/swaggo/swag#readme).\n\n### 3 - Com os atributos adicionados, basta executar os seguintes comandos, para formatar o código e gerar a documentação:\n\n```\n$ swag fmt\n$ swag init\n```\n\nIsso fará com que a pasta `docs` seja modificada. `Não modifique ela manualmente, pois ela é autogenerada pelo swaggo.`\n\n### 4- Com isso, basta rodar a api e acessar a rota /swagger/index.html, lá estará toda a documentação criada.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdadosjusbr%2Fapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdadosjusbr%2Fapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdadosjusbr%2Fapi/lists"}