/ninjas

Primary LanguageRuby

Desafio

Criar um sistema de controle de contratos onde ninjas possam oferecer serviços de espionagem, assassinato e sabotagem.

O sistema deverá permitir que pessoas postem (anonimamente) contratos e que um ninja aceite e execute o contrato.

Prazo

7 dias corridos

Requisitos

  • Ninja deve conseguir se cadastrar, para então conseguir contratos.
  • Qualquer pessoa poderá se cadastrar, acessar o sistema e cadastrar um novo contrato
  • Cada ninja só poderá aceitar um contrato por vez
  • Quando uma pessoa cadastrar um novo contrato, todos os ninjas que estiverem sem nenhum contrato ativo deverão ser notificados por e-mail
  • Quando um ninja aceitar ou concluir um contrato a pessoa que criou deverá ser notificada por e-mail
  • Após a conclusão do contrato a pessoa poderá avaliar o ninja
  • Deverá existir um rank de ninjas dentro do sistema, com a quantidade de contratos finalizados e seu perfil poderá ser visualizado.

Implementação

  • Utilize apenas esse repositório para todo o desenvolvimento e entrega do projeto.
  • O backend deverá ser feito em Ruby on Rails, o frontend será de sua escolha.
  • Interface deverá ser responsiva e com uma boa UX.

O que será avaliado?

  • Simplicidade e clareza de código
  • Arquitetura e organização do código
  • Qualidade dos testes unitários e de integração.
  • Usaremos Rubycritic, Rubocop e Simplecov para ajudar a analisar seu código.
  • UI/UX

Em caso de dúvidas

  • Pergunte criando uma issue neste repositório. Responderemos ASAP, mas o tempo que demorarmos para responder será creditado no seu prazo.

Entrega do projeto

Gostaríamos de testar o projeto executando o mesmo, portanto organize o projeto para rodar em uma de nossas máquinas (OSX ou Linux) ou então fazer o deploy para o Heroku.

Lembre-se de incluir tudo o que for necessário para utilizar o sistema (seed, scripts, etc) e também as instruções para execução.