An open API service indexing awesome lists of open source software.

https://github.com/kevindasilvas/api_movies

Api rest entirely made in php to manage movies,actors and directors.Test made for the php developer role at magic web design
https://github.com/kevindasilvas/api_movies

api api-rest mysql php php7 sql

Last synced: 7 months ago
JSON representation

Api rest entirely made in php to manage movies,actors and directors.Test made for the php developer role at magic web design

Awesome Lists containing this project

README

          

# api_movies
Api rest entirely made in php to manage movies,actors and directors.Test made for the php developer role at magic web design

Iniciando o projeto:


Basta apenas fazer o download do repositório e rodar o aqrquivo .sql dentro do Mysql
com os dados do arquivo config.php na pasta do IvoryV1 e o projeto ja está funcionando

Processo de Desenvolvimento:




  • Devido ao meu pouco contato com o framework Laravel e devido ao tempo (onde só pude reservar o sabado para o desenvolvimento da solução) infelizmente não foi possivel uma pesquisa mais aprofundada sobre o processo de criação de APIS com o Laravel e a fiz utilizando a linguagem em sua forma mais purista com o auxilio de OOP,PDO e um mini ORM que estou desenvolvendo no meu tempo livre.




  • Acredito que durante o processo realmente pequei em manter algumas partes do meu código DRY(dont repeat yourself e acabei repetindo códigos de validação em algumas requests em uma situação com mais tempo teria desaclopado em um arquivo só para validações).




  • No desenvolvimento da api de filmes notei a necessidade de criar classes auxiliares porque meu código estava ficando gigantesco o que facilitou algumas validações e operações além de melhorar a legibilidade.Queria ter obtido tempo de aplicar algum pattern organizacional melhor como um strategy ou algo do genero.




  • Acredito que numa situação ideal deveria ter criado uma classe com um crud para cada tabela para facilitar o processo das consultas e não precisar faze-las no momento em que se recebe a request




Tecnologias Usadas:


PHP7,Mysql e insomnia

Conclusão:


Concluí que para o curto periodo de tempo a solução ficou funcional porém na realidade é que realmente gostaria de ter feito mais em quesitos de engenharia e principalmente de ter ido mais a fundo no uso do laravel e implementado a solução conforme todas as especificações.

Agradeço pela oportunidade de realizar o teste e fico muito grato por terem entrado em contato comigo.

Detalhe adicional sobre as requisições GET:


Cada requisição GET por exemplo http://localhost/api_movies/Actors.php vai retornar todos os artistas da tabela(infelizmente faltou implementar uma paginação) mas se a requisição possuir um parametro id http://localhost/api_movies/Actors.php?id=4 retornará apenas os dados do ator/atriz de id 4.