Skip to content

fanhero/challenge-back-end

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

Fanhero Back-end Code Challenge 💻

  • O desafio consiste no desenvolvimento de uma API GraphQL utilizando as tecnologias listadas abaixo.
  • Caso não termine desenvolver todo o desafio, envia o que conseguir que nós avaliaremos com muito prazer.
  • Crie um repositório público no GitHub e envie o link para o e-mail [email protected] com assunto Fanhero Code Challenge.

Technology 🚀

About the Chanllenge 📌

  • O desafio consiste em desenvolver uma API GraphQL para o sistema de transações do .

  • Basic

    • Requirements
      • O sistema deve ser capaz de estabelecar uma conexão com um banco de dados MongoDB.
      • O sistema deve ser capaz de lidar com requisições com formato de dados do tipo JSON.
      • O sistema deve ser capaz de gerenciar usuários (view the list of users, create, update, delete.
      • O sistema deve ser capaz de persistir essas informações em um banco de dados relacional.
    • Adicionar arquivo de rotas do Insomnia
    • Adicionar migrations
  • Intermediário

    • Requisitos
      • O sistema deve ser capaz de cadastrar chaves PIX para os usuários já cadastrados.
      • Uma chave não poderá ser cadastrada mais de uma vez.
      • Cada usuário poderá ter no máximo 3 chaves.
      • O sistema deve ser capaz de realizar transações PIX utilizando chaves cadastradas de usuários.
      • Cada transação deve ser identificada de forma única por um id.
      • Cada transação deve conter a chave do usuário que envia e do usuário que recebe o PIX, além do valor, claro.
      • O sistema deve listar as transações feitas por um usuário
      • O sistema deve ser capaz de persistir essas informações em um banco de dados relacional.
    • Adicionar testes unitários
  • Avançado

    • Requisitos
      • O sistema deve ser capaz de enviar um email notificando o envio e recebimento de um pix.
      • O email de chegada deve ter o valor recebido, o nome de quem enviou e a data.
      • O email de envio deve ter o valor enviado, o nome de quem recebeu e a data.
    • Adicionar tratamento de erros de maneira global
  • Bonus

    • Adicionar um docker-compose e um Dockerfile.
    • Adicionar o diagrama do banco de dados.

Entidades ✏️

  • Usuários
    • O usuário deve possuir nome (nome do usuário), telefone (telefone do usuário), email e um id.
  • Chaves.
    • A entidade chaves deve possuir um valor (referente a chave a ser salva), id e a relação com o usuário dono da chave.
  • Transações.
    • A transação deve possuir um valor (referente ao valor em R$ da transação), relação com quem envia e quem recebe o PIX (usuário que envia e usuário que recebe o PIX) e um id.

Critérios de avaliação 📝

We'll be looking for simple, well-designed, performant, and tested code in the submission.

  • Architecture
  • Clean code
  • Bugs free

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published