O desafio é criar uma API REST que busca usuarios pelo nome e username a partir de uma palavra chave. Faça o download do arquivo users.csv.gz que contém o banco de dados que deve ser usado na busca. Ele contém os IDs, nomes e usernames dos usuários.
ID | Nome | Username |
---|---|---|
065d8403-8a8f-484d-b602-9138ff7dedcf | Wadson marcia | wadson.marcia |
5761be9e-3e27-4be8-87bc-5455db08408 | Kylton Saura | kylton.saura |
ef735189-105d-4784-8e2d-c8abb07e72d3 | Edmundo Cassemiro | edmundo.cassemiro |
aaa40f4e-da26-42ee-b707-cb81e00610d5 | Raimundira M | raimundiram |
51ba0961-8d5b-47be-bcb4-54633a567a99 | Pricila Kilder | pricilakilderitaliani |
Também são fornecidas duas listas de usuários que devem ser utilizadas para priorizar os resultados da busca. A lista 1 tem mais prioridade que a lista 2. Ou seja, se dois usuarios casam com os criterios de busca, aquele que está na lista 1 deverá ser exibido primeiro em relação àquele que está na lista 2. Os que não estão em nenhuma das listas são exibidos em seguida.
As listas podem ser encontradas na raiz deste repositório (lista_relevancia_1.txt e lista_relevancia_2.txt). Os resultados devem ser retornados paginados de 15 em 15 registros.
Escolha as tecnologias que você vai usar e tente montar uma solução completa para rodar a aplicação.
Faça um Fork deste repositório e abra um Pull Request, com seu nome na descrição, para participar.
- Criar um frontend para realizar a busca com uma UX elaborada
- Criar uma solução de autenticação entre o frontend e o backend
- Ter um desempenho elevado num conjunto de dados muito grande
- Utilizar o Docker
Ao rodar o projeto pela primeira vez, serão baixados automaticamente os arquivos para popular o banco. Inicialmente, o webapp e a api já estarão rodando enquanto o banco é populado e indexado.
Quando o banco estiver totalmente populado, o arquivo /trabalhe-conosco-backend-dev/db_seed/.seed-lock será criado. Este arquivo impede que o banco seja populado cada vez que os contêineres sejam levantados.
Caso ocorra algum erro durante o processo de popular o banco, remova o arquivo /trabalhe-conosco-backend-dev/db_seed/.seed-lock e levante os contêineres novamente com o comando.
Espere o banco estar totalmente populado para tentar listar os usuários.
- Ter o Docker instalado na máquina
docker-compose up
- Acesse a área de cadastro e cadastre-se usando um e-mail e uma senha.
Obs: O webapp estará rodando em http://localhost:8080 e a api em http://localhost:8000.