Este teste é para avaliarmos seu conhecimento em Node e ReactJS, por isto siga a risca o enunciado a baixo
“A sinceridade é super importante, esperamos que você realize o teste sozinho!”!
Sobre o teste | Layout | Entrega |
Neste teste você precisa criar uma ferramenta de upload de arquivos, utilizando React no Frontend e Node no Backend.
Backend:
-
Crie uma rota de upload de arquivo utilizando multer, com tamanho máximo de 5mb;
-
Utilize o MongoDB Atlas para seu banco não relacional, armazene o arquivo com duração de 1 semana contanto com a data de Upload no sistema, após, ele precisa ser excluido do servidor;
-
Armazene o arquivo dentro de uma pasta chamada (
uploads
), renomeando ele, porém salve o nome do arquivo original no Banco. -
Crie uma rota para listagem de todos os arquivos disponíveis de naquela semana, ou seja, os uploads que foram feitos de segunda a sexta. É importante não listar os arquivos que não existem dentro da pasta
uploads
. -
Crie uma rota para que seja feito o download de um terminado arquivo passando o ID por
QueryParams
.
Frontend:
-
A Home precisa conter um input DnD para upload de um arquivo.
-
Crie uma rota de listagem de todos os arquivos presentes no backend naquela respectiva semana.
-
Ao clicar em um arquivo dentro da listagem, o mesmo deverá ser baixado.
-
Crie uma URL compartilhavel, ou seja, ao subir um arquivo
XY
, uma rota dentro do frontend precisará buscar no Backend o arquivoXY
, caso o mesmo não esteja mais disponível exibir um alerta para o usuário;
-
Utilize Redux para fazer a comunicação entre Frontend e Backend.
-
Crie uma validação do arquivo inserido, caso o arquivo contenha mais 5mb, exibir alerta para usuário.
O Layout é por sua conta, mas gostariamos que você utiliza-se o Grommet.
Ao finalizar o teste, crie um Pull Request para o repositório em questão e envie um e-mail confirmando a conclusão;