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
- Host: GitHub
- URL: https://github.com/kevindasilvas/api_movies
- Owner: KevinDaSilvaS
- Created: 2020-06-06T22:23:49.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-06-07T20:55:42.000Z (almost 6 years ago)
- Last Synced: 2025-03-29T12:28:06.638Z (about 1 year ago)
- Topics: api, api-rest, mysql, php, php7, sql
- Language: PHP
- Homepage:
- Size: 22.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.