Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Desafio técnico-2.pdf
1. Desafio Técnico
O objetivo deste desafio é o desenvolvimento de uma aplicação utilizando a mesma arquitetura do
projeto principal.
O importante nesta fase é entender os componentes arquiteturais envolvidos na solução. Não existe
um domínio de negócio a ser explorado.
Fluxo a ser implementado:
1. O usuário acessa a página da aplicação e é redirecionado para a página de login do
keycloak;
2. Ao ser informada a senha correta, o mesmo é redirecionado para a página principal da
aplicação;
3. A aplicação apresenta uma tela com um único botão que ao ser pressionado irá executar a
ação de pesquisa;
4. O Frontend deve fazer uma requisição autenticada via keycloak ao Backend, que por sua vez
deverá fazer uma consulta ao banco de dados e devolver o resultado em formato de json
para o Frontend;
5. A definição de tabelas e campos fica a critério da equipe.
6. Frontend deve apresentar apresenta o resultado da consulta;
Figura 1: Arquitetura da solução
2. Requisitos técnicos:
O Frontend desenvolvido em Angular na última versão estável. Não é necessário nessa fase
a utilização de frameworks css;
O banco de dados a ser tulizado é o PostgreSQL;
O BackEnd desenvolvido em Quarkus na última versão estável;
O BackEnd deve fazer uso de uma biblioteca ORM;
O BackEnd deve possuir ao menos um teste unitário;
O FrontEnd deve possui um teste E2E escrito em cypress;
Toda a solução deve ser deployada em containers dockers;
O keyclock deve ser configurado com um realm genérico;
Deve-se criar um docker-compose para a execução da aplicação
O banco de dados deve conter um esquema para a aplicação e outro para o Keycloak;
Orientações
Qualquer dúvida ou dificuldade solicitar apoio imediatamente;
O desafio deve ser executado em equipe de modo que todos tenham o entendimento das
etapas e soluções propostas;
Deve ser criado um repositório GIT para o projeto no GITLAB
https://gitlab.com/e.sales/filetransfer/filetransfer;
Devem ser criados CARDs no JIRA antes da execução de cada atividade relacionada ao
projeto.
Referências
https://quarkus.io/get-started/
https://github.com/jannie-louwrens/quarkus-keycloak-angular
https://github.com/mgamarra/poc-keycloak-angular-springboot/blob/master/smager%20-
%20POC%20STN%20-%20KEYCLOAK%20-%20ANGULAR%20-%20SPRINGBOOT
%20202010061355.pdf
https://github.com/MossabTN/quarkus-microservices-poc
https://docs.docker.com/compose/
Figura 2: Fluxo da requisição