Giter VIP home page Giter VIP logo

ramon-cardoso's Introduction

Drumoo - Full Stack Developer Challenge

Desafio para você que quer trabalhar conosco!

- Para responder o desafio:

Fork este repositório e faça o desafio em um branch com o seu nome (exemplo: nome-sobrenome).

O seu objetivo principal é transformar o desafio em um protótipo funcional.

No seu projeto, crie um diretório chamado src. Todos os arquivos que você criar devem estar dentro desta pasta.

Assim que concluir o seu desafio, abra um pull request com suas alterações.

- O que vou fazer?

O teste é simples, você deverá criar uma ferramenta de busca chamada MultiSearch. O usuário deverá digitar um texto e, como resultado, serão listados todos os objetos do nosso sistema que corresponderem a essa busca.

Vamos partir do princípio que temos um sistema ERP que armazena diferentes informações da empresa, como: Pedidos de Venda, Pedidos de Compra, Dados de Produtos, Dados de Equipamentos e Dados de Mão de Obra.

O MultiSearch vai pesquisar nessas diferentes tabelas e mostrar os dados agrupados.

Para mostrar o seu desempenho como Full Stack, separamos o teste em duas partes:

1) Frontend

No lado do Frontend, o desafio será criar uma tela que simule o resultado da nossa busca. Para isso:

  • HTML5/CSS3/JS e noções básicas de design
  • Utilizar AngularJS (ou React, Angular2+, Vue.js)
  • A pasta "layout" possui uma imagem de referência para o resultado e a logomarca já exportada para caso precise
  • Inicialmente, criar um arquivo JSON chamado "data.json" com os dados de exemplo que serão utilizados para renderizar sua aplicação
  • Sua aplicação deverá consultar seu arquivo JSON e responder com os objetos encontrados, simulando a consulta a uma API
  • Faça bom uso das tags HTML5 e CSS3
  • Sinta-se a vontade para tornar seu projeto responsivo
  • Usar Bootstrap pode ser uma boa ideia para acelerar o processo de design

2) Backend

No lado do Backend, o desafio será criar uma API REST para o nosso buscador. Para isso:

  • Crie um projeto de API REST preferencialmente com ASP.NET (ou Node.js)
  • Para representar o banco de dados, disponibilizamos na pasta "data" um arquivo JSON para cada tabela do sistema. A sua aplicação deverá ler cada um desses arquivos quando estiver fazendo a busca
  • Exponha um serviço de consulta que receba uma string com o texto buscado e retorne com os objetos encontrados em todas as tabelas do sistema
  • Normalize os dados antes de enviar para o cliente

3) Juntando tudo \o/

Sabe o arquivo JSON que você criou no Frontend para simular os dados? Você não vai mais precisar fazer a leitura desse arquivo, pois agora o backend já está retornando os dados que vc precisa. Então você pode substituir a função de ler esse arquivo pela função de enviar a requisição para o backend.

Assim:

  • o usuário vai digitar um texto na tela
  • o texto será enviado para o backend
  • o backend vai ler os arquivos de dados e buscar quais objetos têm match com o texto buscado
  • o backend vai devolver uma lista dos resultados encontrados
  • o frontend vai exibir os resultados agrupados por tipo de objeto

- Dicas?

Keep it Simple! :)

Em caso de dúvidas, abra uma issue. ;)

Até logo e bom trabalho!

drumoo team

ramon-cardoso's People

Contributors

ramon-victor avatar ricfwolff avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.