brasil.io icon indicating copy to clipboard operation
brasil.io copied to clipboard

Adiciona página com documentação da API

Open berinhard opened this issue 4 years ago • 3 comments

Fixes #204

Finalmente parei para implementar a documentação dinâmica da API do Brasil.io. Seguem uns prints de como está a carinha dela agora:

Screenshot from 2020-11-11 16-36-25

Screenshot from 2020-11-11 16-36-36

berinhard avatar Nov 11 '20 19:11 berinhard

Ainda não revisei tudo, mas gostaria de ter as legendas aprimoradas com relação à documentação em markdown que fiz para o dataset covid19 (o ícone de "busca" funcionou bem no markdown e acho que podemos expandir aqui para ter um resultado mais fácil de entender e bonito). Acho melhor deixar apenas as características "positivas" que o Field tem expressas em ícones e ocultar as que ele não tem, exemplo: se é filtrável, aparece ícone de filtro, mas se não é, não aparece. Além disso, acho importante termos uma tooltip em cada ícone, explicando o que ele quer dizer (assim não precisamos de uma legenda explícita ocupando espaço na página).

Abaixo listo as características de cada Field e os ícones (usando font-awesome) que cada uma deve ter:

Visibilidade

  • if field.show and field.show_on_frontend: eye solid, legenda: "Esse campo é visível na interface Web, na API e no download completo"
  • if field.show and not field.show_on_frontend: low vision solid, legenda: "Esse campo não é visível na interface Web, apenas na API e no download completo"
  • if not field.show and not field.show_on_frontend: eye-slash solid, legenda: "Esse campo é usado internamente e fica visível apenas no download completo"

Filtragem

  • if field.frontend_filter: filter solid, legenda: "Você pode fazer filtros por esse campo na interface Web e na API"
  • if not field.frontend_filter: sem ícone (não encontrei um "filter-slash" e é melhor economizar, nesse caso)

Buscabilidade

  • if field.searchable: search solid, legenda: "Você pode utilizar a busca de texto completo nesse campo"

Múltipla escolha

  • if field.has_choices: list-ul solid, legenda: "Esse campo possui valores categóricos"

No caso desses campos, acho que devemos também listar quais opções são possíveis para o filtro (talvez possa ficar escondido e aparecer quando a pessoa clicar).

turicas avatar Nov 13 '20 01:11 turicas

@turicas meus comentários sobre 2 pontos:

Listar field.options quando field.has_choices is True

Não acho que isso precise estar na documentação da API porque tem campos que tem muitas opções para listar. A informação de que ele é um campo com opções me parece já bastar. Isso, principalmente depois de termos a parte dos metadados na API. Lá sim, na descrição de metadados da tabela, teríamos o campo e todas as opções válidas.

Melhorar página de metadados (descrito abaixo)

Juntei essas duas questẽos na issue #508 acho porque são tarefas que fogem ao escopo da documentação dinâmica da API (que esse PR cobre)

berinhard avatar Nov 27 '20 19:11 berinhard

@turicas agora a cara da listagem dos campos ficou assim:

Screenshot from 2020-11-27 16-55-10

Como dá pra ver no código, todos os ícones estão com o title correto

berinhard avatar Nov 27 '20 19:11 berinhard