# mLabs Este projeto tem como objetivo testar os conhecimentos, código e a organização do candidato. O prazo para entrega é até o dia **00/00/2019** # O projeto Criar uma API de controle de estacionamento (conforme contratos abaixo): - Deve registrar entrada, saída e pagamento - Não deve liberar saída sem pagamento - Deve fornecer um histórico por placa Essa API deve respeitar os status http corretamente, deve aceitar requisições e responder json. ## Ações que devem ser disponíveis ### Entrada ``` POST /parking { plate: 'FAA-1234' } ``` Deve retornar um número de "reserva" e validar a máscara AAA-9999 ### Saída ``` PUT /parking/:id/out ``` ### Pagamento ``` PUT /parking/:id/pay ``` ### Histórico ``` GET /parking/:plate [ { id: 42, time: '25 minutes', paid: true, left: false } ] ``` ## Sobre testes Quanto mais melhor! :) ## Tecnologias e instruções - O sistema deve ser escrito em ruby. - Usar git. - Caso necessário algum preparo antes de testar é necessário fornecer um INSTALL.md explicando o processo. ## Aquele plus (não obrigatório) - Usar algum gerenciador de docker (preferencialmente docker-compose). - Configurar os pipelines CI/CD para rodar os builds. - Criar um Dockerfile para ser usado no deploy de teste, porque iremos fazer deploy da aplicação no kubernetes para testar. ## Sobre a avaliação Este projeto tem como objetivo testar como o programador realiza a divisão de classes, organiza o código e a qualidade de teste. A descrição do projeto contem o mínimo exigido para considerar o sistema como funcional. Boa sorte e bora codar! \o/