A ideia deste desafio é nos permitir avaliar melhor as habilidades de candidatos à vagas de programador front-end, de vários níveis. Este desafio deve ser feito por você em sua casa. Gaste o tempo que você quiser, porém normalmente você não deve precisar de mais do que algumas horas.
Este é um desafio com vaga em aberto qualquer um pode participar.
- Primeiro, faça um fork deste projeto para sua conta no GitHub (crie uma se você não possuir).
- Em seguida, implemente o projeto tal qual descrito abaixo, em seu próprio fork.
- Crie as instruções de instalação e execução do aplicativo em seu
readme.md. - Por fim, envie o link do seu repositório público para avaliarmos seu código para o e-mail marco.faustino@viajarbarato.com.br
Crie um arquivo dissertacao.txt na raiz do seu repositório, dentro deste arquivo você deve dissertar sobre o seguinte tema:
A Viajar Barato irá criar seu novo site, um dos problemas que temos que resolver é quanto ao page speed, se você fosse construir um novo site do Viajar Barato, qual tecnologia e arquitetura você usaria para o frontend? Explique o motivo da sua escolha e aponte como usar cada uma delas.
-
Uma página SPA em Angular@5+ que lista os personagens da série de filmes "Star Wars" filtrando por sua espécie.
-
Sua aplicação irá consumir os métodos de https://swapi.co/, você deve decidir com base nas necessidades do software e documentação do https://swapi.co/ quais métodos serão necessários.
-
Você deve criar uma Página utilizando Angular@5+, que será responsável por efetuar a busca de personagens e listar os nomes dos personagens de uma determinada espécie.
-
O Filtro de busca da página será composto por um campo onde o usuário irá digitar a espécie, esse campo deve ser do tipo typeahead search com uma pesquisa da esquerda para direita, onde conforme a digitação do usuário os termos compatíveis são exibidos em um Dropbox, os termos gerados no typeahead. Além de exibir do nome da espécie compatível com o termo o nome do planeta natal "homeworld.name" deve ser apresentado. Exemplo: Usuário digita:
Hum> Aplicação Apresenta: [Human (Coruscant)] -
A Tabela de Resultado da busca "personagens", deve ser composto pelo nome do personagem e o nome do planeta natal "homeworld.name". Abaixo uma tabela com exemplo do retorno.
Personagem Planeta Natal Luke Skywalker Tatooine Darth Vader Tatooine Leia Organa Alderaan Owen Lars Tatooine
Os serviços de consulta de personagens, planetas e espécies e fornecido pelo The Star Wars API, a documentação pode ser acessada nesse link https://swapi.co/documentation.
Abaixo um exemplo de como sua aplicação deve se parecer. challenge-mock-wireframe.jpg
- No filtro de espécies utilizar um componente de Typeahead;
- Utilizar Angular@5+;
- Pode utilizar @ng-bootstrap/ng-bootstrap ou Angular Material;
- Acessar a swapi.co diretamente via interface client.
- Importar pacotes de auxílio do swapi.co.
- Faça uso correto da programação paralela;
- Siga os conceitos de OOP e SOLID;
- Utilize ao menos duas das design patterns da OOP;
- Efetue commits atômicos;
- Inclua documentação por comentários;
- Utilize dutos assíncronos;
- Implemente o conceito de dutos em suas subscrições;
- Utilize quando necessário a composição de mapaeamento ou troca de mapeamento;
- Desenvolvimento orientado a objeto
- Javascript
- Angular 5+
- Typescript 3+
- Integrações RESTFull
- HTML Semântico
- CSS
- Pré-processadores de Estilo
- Habilidade com Layout Responsivo
- Git Source Control
- Desenvolvimento orientado a testes (TDD)
- Acessibilidade
- Docker
- Programação Reativa
- Linux
- Mobile First
- Jamstack
- Ghost CMS
- BEM Pattern
Seu projeto será avaliado de acordo com os seguintes critérios.
- Sua aplicação atende funcionalmente o que foi pedido;
- Você foi conciso em sua dissertação apontando pontos interessantes e com uma visão disruptiva.
- Você documentou a maneira de configurar o ambiente e rodar sua aplicação na máquina do avaliador utilizando o README.md;
- Você seguiu as instruções enviadas;
- Você segue as boas práticas de programação e entrega para o Cliente;
- O código escrito é fácil de entender e manter;
- Você se preocupa com o uso do aplicativo pelo Usuário;
- Você executou o teste em um prazo máximo de 9 dias a contar da data do fork.
Tentaremos verificar a sua familiarização com as bibliotecas padrões (standard libs), bem como sua experiência com programação orientada a objetos a partir da estrutura de seu projeto, preocupação com o objetivo da aplicação e do seu uso pelo usuário, suporte e manutenção do código por outros desenvolvedores.
Após a entrega do link do códido fonte do projeto no GitHub, efetuaremos a análise da entrega, normalmente em até 36 horas úteis teremos o resultado da análise.
Em caso positivo será iniciada a segunda faze de avaliação onde acontecerá uma entrevista com a equipe, onde o candidato irá apresentar o projeto que construiu e detalhar quais técnicas ele utilizou e porque.
Caso haja necessidade agendaremos uma entrevista presencial.
Somos uma empresa de turismo com mais de 7 anos de atuação.
Estamos em processo de modernização de nossa Stack de desenvolvimento, implementando arquiteturas escaláveis utilizando containers e micro-serviços.
Fazem parte de nossa Stack: .NET Core 2+, .NET Framework 4+, Angular@5+, RabbitMQ, Docker, Kubernetes, Linux, MongoDB, MSSql Server, Typescript.
Apoiamos e respeitamos a diversidade independente de raça, etnia, orientação sexual, gênero, idade, nacionalidade, crença ou deficiência.
Estamos localizados no centro de São Paulo, proximo a nós temos:
- 🚉 Metrô Sé, Anhangabaú e São Bento.
- 💻 Rua Santa Ifigênia
- 🤘 Galeria do Rock
- 🍔 Shopping Light
Venha! Junte-se a nós!

