Skip to content

Latest commit

 

History

History
102 lines (79 loc) · 4.87 KB

desafio.md

File metadata and controls

102 lines (79 loc) · 4.87 KB

Desafio FullStack 🌎 💻 📱

Seja bem-vindo ao nosso desafio de desenvolvimento! 🙌

Tenha certeza de ter lido todo o documento atentamente até o final e esclarecido as dúvidas com nosso time caso surja alguma.

Esta é a proposta de um desafio que FullStack sinta-se a vontade para tentá-lo por completo, caso seu objetivo esteja focado em uma das duas funções Backend, Frontend ou Mobile fique a vontade para deixar o outros desafios de lado.

🚀 Tudo certo!? Então vamos lá!

Contexto 🎲

Em todo aplicativo comercial temos um controle dos profissinais envolvidos no processo sejam usuários, responsáveis, gerentes, administradores, operadores, etc. Por isso um ponto importante de qualquer aplicação é permitir designarmos estas funções ou seja categorizar em tipos estes profissionais. Ex.: ProfissionalAna = Médica, José = Professor...

Vamos criar então uma aplicação que nos permita consultar, criar e editar essas informações e manter essa relação entre o profissional e seu tipo.

Modelo de dados 📝

Tipo de profissional

{
  "id": xxx,                  // ID 
  "descricao": "test",        // descricao do tipo *Obrigatório
  "situacao": true,           // situacao do cadastro *Obrigatório
  "updatedAt": "",            // data e hora ultima atualizacao *Obrigatório
  "createdAt": ""             // data e hora de cadastro *Obrigatório
}

Profissional

{
    "id": xxx,                   // ID
    "nome": "teste",             // Nome do profisisonal *Obrigatório
    "telefone": "(xx) xxxx",     // Telefone
    "email": "[email protected]",          // Endereço de e-mail do profissional
    "tipoDeProfissional": xxx,   // Vinculo com o tipo de profissional *Obrigatório
    "situacao": true,            // Situação do cadastro *Obrigatório
    "updatedAt": "",             // Data e hora da última atualização *Obrigatório
    "createdAt": ""              // Data e hora da de cadastro *Obrigatório
}

Requisitos funcionais ✅

Backend 🌎

  • A API deve seguir as boas práticas e padrões de implementação REST
  • Os dados deve ser salvos em um banco de dados
  • Escrever os testes para o código e as APIs geradas
  • Prover documentação para API. (Sugestão OpenAPI/Swagger)
  • Use Node.js e qualquer outro framework
  • Use TypeScript
  • Use qualquer DB. PostgreSQL DB é a sugestão, sinta-se livre para usar qualquer outro.

Frontend 💻

  • Criar uma tela home com menu de acesso as funcionalidades
  • Uma tela de listagem para cada uma das entidades
  • Uma tela de cadastro para cada uma das entidades
  • Implementar solução usando ReactJS ultima versão disponível
  • Fique a vontade para utilizar bibliotecas de componentes de mercado ou criar os seus
  • Utilize TypeScript

Diferencial ⚔️

  • Documentação clara do código. Código comentado sempre é bom!
  • Utilização do framework Nest.js.
  • Boas mensagens de commit ajudam!

Requisitos não funcionais 🆒

  • Um arquivo README.md com o resumo de escolhas por frameworks, bibliotecas, banco de dados e como executar seu projeto.

Com o que nos preocupamos 🎯

  • Com certeza muito mais do que o desafio completo é avaliarmos suas competências e habilidades até o ponto em que chegou.
  • Sabemos que nem todos temos o mesmo tempo disponível, então como dissemos fique a vontade para ir até onde conseguir ou solicitar mais tempo para o processo, transparência total.
  • Sinta-se livre pra usar bibliotecas de código aberto se fizerem sentido, e lembre que avaliaremos sua capacidade de resolver problemas reais.
  • Procuramos por código funcional e limpo
  • Exemplos práticos de conhecimento em NodeJS e TypeScript e suas APIs padrões
  • Orientação a testes

FAQ ❓

Como devo fazer a entrega do desafio?

  • Envie o link do seu repositório de código particular para quem te fez a solicitação de execução desse desafio.

Voltar ao topo