SlideShare uma empresa Scribd logo
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
 
Mini curso JBC
Mini curso JBCMini curso JBC
Mini curso JBC
Rodrigo Marconato
 
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
Giovanni 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-122
Bruno Souza
 
plano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhoplano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunho
userrx
 
Zend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteZend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil Competente
Michael 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 Cakephp
Cauan Cabral
 
Palestra ASP.NET MVC
Palestra ASP.NET MVCPalestra ASP.NET MVC
Palestra ASP.NET MVC
Moacir Casemiro Gomes Filho
 
React Native na globo.com
React Native na globo.comReact Native na globo.com
React Native na globo.com
Guilherme Heynemann Bruzzi
 
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
Globalcode
 
Apresentação RUP
Apresentação RUPApresentação RUP
Apresentação RUP
Fernando Nogueira
 
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
Targettrust
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
Carlos Wagner Costa
 
BDD (Behavior-Driven Development)
BDD (Behavior-Driven Development)BDD (Behavior-Driven Development)
BDD (Behavior-Driven Development)
Renato Groff
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
Alexandre Tarifa
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
guestea329c
 
Projeto Indiana
Projeto IndianaProjeto Indiana
Projeto Indiana
hellequin
 
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
Renato 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
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
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
 

Último

TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 

Último (8)

TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 

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