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.