Criação de um Webservice RESTful e seu Cliente

O projeto foi desenvolvido como teste prático para um processo seletivo em desenvolvimento de software. Seu objetivo principal é criar um sistema CRUD (cadastro, leitura, atualização e exclusão) de clientes utilizando JavaScript para manipular exclusivamente o frontend e PHP para manipular exclusivamente o backend da aplicação. Dentre as regras de desenvolvimento, pode-se se citar:

  • Todos os registros devem ser armazenados em um banco de dados SQL;
  • Todas as informações sobre os clientes são obrigatória, exceto o campo observação;
  • Na tela de cadastro só serão permitidas requisições AJAX para o backend;
  • O PHP deverá manipular o banco de dados via PDO;
  • O nome deverá conter somente letras, o CPF deverá ser validado e o campo de observação deverá restringir a 300 caracteres no máximo;
  • A função de pesquisa por cliente deverá ser efetuada por consulta por e-mail ou nome case insensitive; e
  • Em hipótese alguma o JavaScript poderá ser utilizado para renderizar o backend ou o PHP ser utilizado para renderizar o frontend.

Para o desenvolvimento do frontend foi utilizado o framework ReactJS enquanto para o backend não foi utilizado um framework dada sua simplicidade. Para o armazenamento dos dados dos cliente foi utilizado um banco de dados gratuito na nuvem, obtido através do site freesqldatabase.com.

Para melhor compreensão do projeto, foi feito seu deploy na plataforma Heroku e pode ser consultado através deste link. Assim não é necessário fazer qualquer configuração em seu sistema operacional, além de ser possível desfrutar do software via aparelho mobile dada a responsividade da aplicação.