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