Nós da Olivas Digital buscamos um(a) desenvolvedor(a) para transformar ideias em códigos que estará envolvido em vários aspectos, desde o conceito até o produto final, incluindo UX, criação e codificação utilizando PHP.
- Desenvolvimento de plataformas, sites, e-commerce e aplicativos
- Manutenção e evolução de sistemas legados
- Apoio aos desenvolvedores Junior
- Identificar problemas e propor melhorias
- Ao menos 3 anos de experiência como desenvolvedor
- Experiência com PHP utilizando ao menos um dos frameworks Laravel, Magento ou Zend
- Conhecimento sobre APIs
- Noções de HTML/CSS utilizando (Webpack, Grunt ou Gulp)
- Boa comunicação e saber trabalhar em equipe
- Compreensão de necessidades para propor soluções frente aos problemas
- Bom entendimento de Design de Interface (UI) e Experiência do Usuário (UX)
- Curso técnico ou tecnólogo em Ciências da Computação, Análise e Desenvolvimento de Sistemas, Engenharia da Computação, Sistemas de Informação, Programação ou matérias correlatas e Curso Superior em andamento (mínimo 3°ano) nas áreas de Tecnologia da Informação ou Gestão da Tecnologia da Informação
- Conhecimento em IONIC, React ou Angular
- Experiência com métodos ágeis/scrum
- Inglês intermediário e avançado
- Experiência com Node
- Contrato PJ com 30 dias de férias ao ano
- Vale-Refeição
- Bônus trimestral
- Participação nos Lucros (PLR)
- 100% remoto ou presencialmente em Barueri-SP
- Forkar esse desafio e criar o seu projeto (ou workspace) usando a sua versão desse repositório, após terminar o desafio, submeta um pull request.
- Caso você tenha algum motivo para não submeter um pull request, crie um repositório privado no Github, faça todo desafio na branch master. Assim que terminar seu desenvolvimento, adicione como colaborador o usuário sistema@olivasdigital.com.br no seu repositório e o deixe disponível por pelo menos 30 dias.
- Criar um CRUD (frontend) de Vendedor com os campos
- Nome*
- Email*
Após a criação do CRUD de Clientes, um vendedor pode possuir 0 ou vários clientes.
-
Criar um CRUD (frontend) de Clientes com os campos
- Nome*
- Email*
- Imagem*
- Telefones (Relacionamento 1 pra N, com obrigatoriedade de ao menos 1 telefone)
- Tipo de cliente* (Relacionamento 1 pra 1). Sendo que os tipos podem ser “Pessoa Física” e “Pessoa Jurídica”
- Vendedores (Relacionamento N pra N). Pode estar vinculado a um ou vários vendedores.
*Campos obrigatórios
-
Disparar um e-mail de “Boas vindas” para o cliente
-
Utilizar migrations para a criação das tabelas
-
Utilizar o Eloquent para os relacionamentos
-
Disponilizar os dados de clientes via API com autenticação JWT permitindo busca por nome
- Organização do código: Separação de módulos, view, model e controller
- Clareza: O README explica de forma resumida como rodar a aplicação?
- Segurança: Existe alguma vulnerabilidade clara?
- Histórico de commits (estrutura e qualidade)
- UX: A interface é de fácil uso e auto-explicativa? A API é intuitiva?
- API: Códigos de Resposta/Verbos HTTP corretos
- Testes automatizados
- Utilização de Cache
- Uso de Logs
- Documentação da API
- LaravelMix
- Eloquent API Resources
- Disparo de e-mail utilizando filas (Queues)