Skip to content

Latest commit

 

History

History
81 lines (56 loc) · 3.81 KB

File metadata and controls

81 lines (56 loc) · 3.81 KB

Desafio SRE

Obrigado pelo interesse em fazer parte do nosso time! Preparamos este desafio com carinho para ajudar a entender um pouco mais dos seus conhecimentos na área de DevOps/SRE

Se não entender algum conceito ou parte do problema, não é motivo para se preocupar! Queremos que faça o desafio até onde souber.

No mais, divirta-se :D

Avisos antes de começar

  • Leia com atenção este documento todo e tente seguir ao máximo as instruções;
  • Crie um repositório no seu GitHub sem citar nada relacionado ao PicPay;
  • Faça seus commits no seu repositório;
  • Envie o link do seu repositório para o email do recrutador responsável;
  • Dê uma olhada nos Links Úteis;
  • Dê uma olhada em como será a entrevista;
  • Fique à vontade para perguntar qualquer dúvida aos recrutadores;

Conteúdo do repositório

Este projeto é um exemplo bem simples de aplicação web full-stack, utilizando uma arquitetura de microsserviços com um BFF em Go para otimizar a comunicação entre o frontend e o backend. O backend em Java interage com um banco de dados MySQL para armazenar e recuperar os dados, enquanto o frontend em React é responsável pela interface do usuário.

Você pode subir o banco de dados MySQL utilizando o arquivo ./docker-compose.yaml e pode ser inicializado utilizando o ./init.sql

Alguns exemplos de requisição estão no arquivo ./requests.http

Váriaveis de Ambiente

Aplicação Key Default Description Exemplo
backend DB_URL n/a Define a URL de conexão com o banco de dados. mysql://user:password@host:port/database
backend DB_USERNAME n/a Especifica o nome de usuário utilizado para autenticar a conexão com o banco de dados. myuser
backend DB_PASSWORD n/a Contém a senha associada ao nome de usuário para a conexão com o banco de dados. mypassword123
backend JWT_SECRET_KEY n/a É uma chave secreta utilizada para gerar e verificar tokens JWT (JSON Web Tokens). averylongandsecuresecretkey
bff PORT 8085 Porta de exposição do BFF. n/a
bff API_URL http://localhost:8080 URL de exposição do backend. n/a
bff CLIENT_ID n/a Identifica um cliente em um sistema de autenticação OAuth. bff
bff CLIENT_SECRET n/a É uma chave secreta associada ao Client ID, utilizada para verificar a identidade do cliente durante o processo de autenticação OAuth. averylongandsecureclientsecret

Avaliação

O que deve ser feito?

  • Ajustes que fazem todas as aplicações subirem e se comunicarem;
  • Colete as métricas expostas pela aplicação backend, seria legal também exibilas em algum dashboard;
  • Colete e armazene os logs das aplicações;
  • Um README contendo os seus pensamentos ao longo do projeto;
  • Um desenho contendo os serviços que explique o funcionamento;

Faça commits ao longo do processo, queremos entender o seu modo de pensar! :)

Para a entrevista, separe também anotações contendo melhorias que faria em cada aplicação ou na arquitetura em geral. Não envie estas anotações na pull request.

O que será avaliado ?

  • Compreensão de arquitetura;
  • Monitoramento;
  • Documentação;
  • Conteinerização;
  • Habilidade de resolução de problemas.

O que será um Diferencial

  • Automatização
  • Utilização de Helm/Kubernetes
  • Alertas
  • Melhorias na arquitetura.

Links Úteis