LarissaAbreu/contrata-se-dev

Roadmap

Opened this issue · 2 comments

Input-search (IDEIA EM PAUSA POR ENQUANTO)

Campo de busca por palavra-chave

  • Ter uma opção de limpar o que está escrito (geralmente um "x" no canto esquerdo)
  • Realizar a busca na API inteira independente da paginação

Filtragem

Campo de filtro das labels

  • Um campo onde o usuário consegue escolher uma ou mais labels para fazer seu filtro
  • A filtragem também tem que ser realizada na API inteira (não somente nas vagas que estão aparecendo na tela)

Consumir vagas de outros repositórios

  • Adaptar o código para poder consumir vagas postadas em outros repositórios (como por exemplo as vagas do back-end e etc)
  • Deverá ter uma label para definir se a vaga em questão é relacionada a back-end ou front-end
  • Todas as vagas (de todos os repositórios) devem estar organizadas por ordem decrescente de acordo com a data postada

Observações

  • Todos os campos devem ser acessíveis
  • Tanto a busca quanto o filtro deve retornar os 30 primeiros resultados e, caso haja mais algo a ser exibido, deve-se exibir mais 30 quando o usuário clicar em "mostrar mais" e assim por diante (sempre ordenado pela vaga postada com data mais recente)

Muito boa a iniciativa Larissa, vou procurar ajudar !

Olá, Larissa, tudo bem? Aqui é o Felipe Andrade, do evento do Hacktoberfest.

Eu dei início ao desenvolvimento da API para o front que havíamos conversado no dia do evento. Consegui endereçar alguns dos objetivos acima, como pegar as issues de outros repositórios (é possível pegar de qualquer repositório do GitHub) e também buscar por todas as issues de um repositório, independente da paginação.

Tentei ser o mais genérico e escalável possível, acredito que a API já esteja estável, mas antes de dizer que está pronta para uso, gostaria de receber alguns inputs seus.

Esse é o link para o repositório. Eu procurei deixar o mais claro possível a utilização da mesma no README, mas caso tenha alguma dúvida, por favor me avise.

Na aplicação atual do front, sem alterar seu comportamento, a única modificação necessária seria a troca das URLs nos fetchs:

// App.js
fetch('http://localhost:4000/api/v1/github/frontendbr/vagas/1') // linha 16
// ...
fetch(`http://localhost:4000/api/v1/github/frontendbr/vagas/${this.state.pages + 1}`) // linha 29

Como descrito no README do projeto, eu retorno apenas os valores de alguns campos da resposta que vem da API do GitHub. Esses campos são justamente os que você usa atualmente. Eu tenho algumas ideias de como fazer para generalizar isso (talvez passar como parte da query na URL), mas podemos discutir melhor depois.

Também pensei em utilizar o Redis pra fazer caching e melhorar o tempo de resposta da API, mas achei melhor não colocar mais essa camada. Acredito que acabaria complicando muito prematuramente. Além do que, teria que ver onde hospedaria a API antes, pra ver a questão do suporte.

Enfim, antes de dar continuidade a essas questões paralelas, me diz aí o que tu acha do que temos até então. 😄