Este teste é voltado para desenvolvedores que têm interesse em trabalhar na AgenciaSys, então... se você está querendo trabalhar em um ambiente descontraído, fazendo o que gosta e compartilhando conhecimento, este desafio é pra você! :)
Desenvolver uma para uma aplicação de Agenda de Compromissos (CRUD) utilizando KnockoutJS como framework frontend e PHP no backend.
- Implementar em HTML/CSS os layouts apresentados em
resources/layouts
.- A fonte utilizada é a ProximaNova e está em
resources/fonts
.
- A fonte utilizada é a ProximaNova e está em
- Gerenciar compromissos.
- Listar (e filtrar)
- Adicionar
- Editar
- Excluir
- Realizar validação do formulário no frontend.
- Caso o servidor retorne erro, apresentá-lo amigavelmente ao usuário.
- Os métodos de conexão com banco e CRUD já estão desenvolvidos, cabe ao candidato apenas utilizá-los nas rotas adequadas.
- Todas as listagens e apresentações de dados deverão ser realizadas por Ajax, nenhum layout deverá ser montado no servidor.
- Faça um fork deste projeto.
- Crie uma branch com o padrão
seunome_yyyy_mm_dd
. - Utilizando o Vagrant e o KnockoutJS implemente o objetivo acima proposto conforme a estrutura solicitada e pré-disponibilizada neste projeto.
- Ao finalizar este desafio, envie-nos um pull request com suas alterações e envie um email para gip@agenciasys.com.br com o link para o pull request.
Dicas:
- Fica a critério do candidato o uso de bibliotecas, testes, task runners e demais ferramentas que o auxiliem tanto em agilidade, qualidade e performance.
É necessário que você tenha VirtualBox e Vagrant instalados no seu computador.
- Caso você tenha o Apache, Nginx ou outro servidor rodando na sua máquina, certifique-se de que não esteja utilizando a porta
8000
. - Url do projeto:
localhost:8000
. - A configuração de host virtual está no arquivo
vagrant/config/nginx/conf.d/desafiofrontend.conf
. Você pode alterá-lo para a configuração que achar melhor, se assim desejar. - No arquivo
vagrant/config.yaml
existe a configuraçãoprojects-folder: "/www"
. Onde/www
é o caminho que contém o diretóriodesafio-frontend
. No seu caso, provavelmente o diretório será outro. Altere o/www
para o diretório da sua máquina. (Ex: Se o o projeto, na sua máquina, fica em/home/usuario/projetos/desafio-front-end
, então você vai substituir o/www
por/home/usuario/projetos
)
Os comandos a seguir criam e configuram uma máquina virtual com linux, contendo o ambiente de desenvolvimento necessário e o projeto inicial. Estes comandos funcionam perfeitamente no sistema operacional linux, caso você utilize outro sistema operacional, é necessário procurar os comandos equivalentes.
OBS: TODOS OS COMANDOS ABAIXO DEVEM SER EXECUTADOS COMO USUÁRIO NORMAL, NÃO COMO ROOT.
Abra o terminal e digite:
$ vagrant box add desafio-front-end https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box
Aguarde o download finalizar. Este passo pode demorar um pouco dependendo da sua conexão. Ainda no terminal, entre na pasta vagrant
do projeto desafio-front-end
e rode o seguinte comando:
$ vagrant up
Aguarde a configuração terminar. Após isso, o ambiente de desenvolvimento estará devidamente configurado.
Obs: O banco de dados, assim como todo o ambiente de desenvolvimento estão no vagrant. Para ter acesso ao ambiente é necessário acessar o vagrant via SSH
.
- IP da máquina virtual com o ambiente:
192.168.0.10
- Usuário SSH:
vagrant
Daqui pra frente é com você. Faça o seu melhor! ;)
Em caso de dúvidas, envie um email para gip@agenciasys.com.br.