SlideShare uma empresa Scribd logo
1 de 2
Baixar para ler offline
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
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

Mais conteúdo relacionado

Semelhante a Desafio técnico-2.pdf

Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Renato Groff
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122Bruno Souza
 
plano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhoplano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhouserrx
 
Zend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteZend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteMichael Cardoso
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Daniel Makiyama
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de CakephpCauan Cabral
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceGlobalcode
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançadoTargettrust
 
BDD (Behavior-Driven Development)
BDD (Behavior-Driven Development)BDD (Behavior-Driven Development)
BDD (Behavior-Driven Development)Renato Groff
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifaguestea329c
 
Projeto Indiana
Projeto IndianaProjeto Indiana
Projeto Indianahellequin
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020Renato Groff
 

Semelhante a Desafio técnico-2.pdf (20)

Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Mini curso JBC
Mini curso JBCMini curso JBC
Mini curso JBC
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
 
plano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhoplano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunho
 
Zend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteZend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil Competente
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de Cakephp
 
Palestra ASP.NET MVC
Palestra ASP.NET MVCPalestra ASP.NET MVC
Palestra ASP.NET MVC
 
React Native na globo.com
React Native na globo.comReact Native na globo.com
React Native na globo.com
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open Source
 
Apresentação RUP
Apresentação RUPApresentação RUP
Apresentação RUP
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançado
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
BDD (Behavior-Driven Development)
BDD (Behavior-Driven Development)BDD (Behavior-Driven Development)
BDD (Behavior-Driven Development)
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Projeto Indiana
Projeto IndianaProjeto Indiana
Projeto Indiana
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
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