É de suma importancia que você leia até o final antes de começar a fazer o desafio
Aqui seus conhecimentos serão testados! Sua capacidade de lidar com problemas será testada! Sua força Jedi será testada! Então preparece, e se caso não estiver pronto... Bom, volte em outro momento, estaremos aguardando sua chegada. Que a Força esteja com você.
Somos uma equipe de desenvolvedores e lidamos com os mais diversos tipos de desafios todos os dias como este pequeno teste, e precisamos de novos aliados para nos ajudar com a resistencia contra o lado sombrio, caso esteja apto, você terá um grupo de Jedis habilidosos ao seu lado para ajudar em sua jornada, e talvez um dia você olhe para trás e veja o quão tranquilo foi essa batalha.
Não há mais tempo, se você chegou até aqui, precisamos de novos combatentes!
- Padrão da API deve ser Restful (utilizando json);
- Faça a API na sua Stack de preferencia (acordado na entrevista);
- Utilize o MongoDB ou Postgres como banco de dados da aplicação;
- A aplicação deve ser capaz de receber uma key de integração;
- A aplicação deve ser capaz de validar a existência da key internamente;
- A aplicação deve ser capaz de receber requisições apenas de servidores permitidos (host e/ou ip);
- A aplicação deve ser capaz de receber via api um conteúdo HTML que será enviado no email;
- A aplicação deve ser capaz de disparar emails para os destinos informados;
- A aplicação deve ser capaz de receber multiplos destinatários e enviar os emails;
- A aplicação deve retornar um array com os email enviados com sucesso e os com erro;
- Use o Mailgun para disparar os emails;
- Use o banco MongoDB ou Postgres (se julgar necessário);
- A API deve seguir uma estrutura escalável, pensando em uma estrutura de menssageria onde no futuro poderão ser adicionadas outros métodos de envio tais como push notification e sms;
- Utilizar variáveis de ambiente (Environment), sem estar hardcoded (digitado no meio codigo). O ideal é utilizar variáveis de ambiente ou arquivos de configuração;
- Com tudo feito, gere uma documentação com ApiDoc, Swagger, Apiary ou Postman, com todos os endpoints da sua api, com payload e response (Tanto de sucesso quanto de erro).
Os itens extras não são obrigatórios, e não afetam sua avaliação caso não seja feito.
Serão considerados extras:
- Código bem documentado;
- Documentação gerada no codigo da API, por ex com ApiDoc;
- Código com funções e variáveis em ingles (PS: Documentação pode ser em portugues ou ingles);
- Faça um fork deste projeto em sua conta no Github.
- Crie um repositório privado, com a solução do seu desafio.
- Em seguida, desenvolva o projeto.
- Adicione como membros do repositório @danielneris, @bruno, @vcteduardo e @luoldrigues.
- Por fim, envie um email informando que concluiu o desafio p/ vagas@liveonsolutions.com. (coloque no assunto o nome do desafio)
Muito obrigado Padawan por fazer parte da nossa equipe, agredecemos a sua participação, e que a força estejá com você