📗 api rest em php utilizando laravel a fins de estudo
Este projeto foi criado para me ajudar a aprender o framework Laravel.
Nos códigos deste projeto voce irá encontrar muita anotação em forma de comentarios.
Inicialmente, aprendi a criar uma API REST entendendo os conceitos dos padrões de projetos presentes no Laravel, consequentemente em paralelo, aprendi a utilizar algumas funções de CLI que o Laravel disponibiliza para deixar o desenvolvimento mais agil.
Após criação da API, dei uma pesquisada sobre as seeds, cujo propósito é popular o banco de dados. Entendi como criar e utiliza-las para fornecer dados iniciais, facilitando o desenvolvimento e os testes do sistema. Foi bastante desafiador cria-las por que tive que utilizar a API da biblia digital que possui uma limitacao de 20 requisições por hora. Para contornar esta limitação criei scripts utilizando python que salvam as respostas das requisições em pastas e utilizei uma VM da Google Cloud para hospedar e executar esse script a cada hora de forma automatizada. Assim, consegui obter dados para as seeds.
A implementação de autenticação de usuários e a proteção de rotas foram desafios que enfrentei com determinação. Ainda estou um pouco confuso em relação a isso principalmente por que existem varios tipos de autenticação e gostaria de entender mais como eles funcionam. Neste projeto apliquei autenticação com token jwt.
Os testes de API, por sua vez, se revelaram essenciais para assegurar a integridade do projeto. Aprendi a escrever e executar testes, garantindo que a aplicação funcionasse conforme o esperado em diversas situações.
Um desafio notável foi compreender a fundo o funcionamento do Laravel. Para superar essa barreira, recorri à documentação do framework, mas minha compreensão se aprofundou ainda mais ao analisar códigos de outros desenvolvedores no GitHub, StackOverflow e, principalmente, ao assistir a tutoriais no YouTube. Essa abordagem prática foi fundamental para assimilar os conceitos e aplicá-los de maneira eficaz no meu projeto.
Em resumo, o desenvolvimento do projeto não apenas ampliou meu conhecimento técnico, mas também aprimorou minhas habilidades de pesquisa e resolução de problemas, destacando a importância da abordagem prática na assimilação de novos conhecimentos.
- clonar repositório:
git clone https://github.com/pdr-tuche/Biblia.git
- dentro da pasta do repositório, instale as depedencias
composer install
-
copie o conteúdo do arquivo
.env.example
em um arquivo.env
-
configure o arquivo
.env
com as informações de conexao do seu banco de dados. (linha 11 a 16) -
crie uma nova chave para a aplicação
php artisan key:generate
- realize as migrações para o banco de dados
php artisan migrate
- se quiser popular seu banco de dados execute:
php artisan migrate:fresh --seed
- rodar servidor
php artisan serve
A documentação foi criada no postman.
Voce pode conferir no postman web, ou você pode importar o arquivo Biblia.postman_collection.json
(esta na pasta .postman_export_file
) no postman da sua maquina para ter acesso a documentação e as requisições.
php artisan serve
php artisan make:model nome_do_modelo --migration
php artisan make:controller NomeController --api
php artisan route:list
php artisan make:seeder
Para rodar os testes, rode o seguinte comando na pasta raiz
php artisan test
php artisan test tests/Feature/TestamentoRoutesTest.php
php artisan test tests/Feature/LivroRoutesTest.php
php artisan test tests/Feature/VersiculoRoutesTest.php
-
🎥 Desenvolvendo api rest laravel Clean Code
-
🎥 Desenvolvendo api rest laravel Code with Dary
-
🎥 Conteúdo de testes do Code Experts
-
📃 para criação das seeds utilizei a API da biblia digital